python - 如何在 Python 代码中从 Visual SFM 读取 .mat 文件?
问题描述
有人可以帮助我使用 Python 代码来读取从 Visual SFM 生成的 .mat 文件吗?您可以从以下链接下载 .mat 文件:
https://github.com/cvlab-epfl/tf-lift/tree/master/example
您可以在链接中的 zip 中获取 .mat 文件,该文件就是我寻求帮助的文件。它似乎是一个 ASCII 文件。我不知道如何读取文件中的数据。我尝试使用scipy.io.loadmat()将数据加载到 .mat 文件中,但出现错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
raise ValueError('Unknown mat file type, version %s, %s' % ret)
ValueError: Unknown mat file type, version 20, 0
有人可以帮我用 Python 代码加载文件中的数据吗?
感谢您的帮助和真诚的回复。
解决方案
如果您的意思是这个 VisualSFM ( http://ccwu.me/vsfm/doc.html ),那么 .mat 文件不是 MATLAB .mat 文件,而是一个“匹配”文件。
从网站:
[name].sift 存储所有检测到的 SIFT 特征,[name].mat 存储特征匹配。
似乎有用于读取此文件 ( http://ccwu.me/vsfm/MatchFile.zip ) 的 C++ 代码,您可以使用它来编写 python 解析器。
此外,VSFM 似乎有一个 python 套接字接口,它可以让你做你想做的事https://github.com/nrhine1/vsfm_util
推荐阅读
- .htaccess - 将完整的 http 链接重定向到另一台服务器上的 https 域
- innodb - mysql和innodb的线程模型是什么?
- postgresql - PostgreSQL 加入特殊条件
- excel - 填充excel工作表同一列中两个相等单元格之间的所有空单元格(相等单元格的值相同)
- html - 有没有办法使用 ImportXML 或 ImportHTML 将格式化的字符串导入谷歌电子表格?
- sql - 使用 case when 子句占列总数的百分比
- php - 在页面更改 php 上更新 Header 链接类
- javascript - 在页面加载时本地化/翻译单词
- sql - SQL 字符串删除未知长度的子字符串
- swift - 在 UIView 扩展中设置辅助功能标识符