如何在 Python 代码中从 Visual SFM 读取 .mat 文件?

How to read the .mat file from Visual SFM in Python Code?

有人可以帮助我使用 Python 代码来读取从 Visual SFM 生成的 .mat 文件吗?您可以从 link:

下载 .mat 文件

https://github.com/cvlab-epfl/tf-lift/tree/master/example

您可以在 link 中的 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 文件,而是 'match' 文件。

来自网站:

[name].sift stores all the detected SIFT features, and [name].mat stores the feature matches.

似乎有用于读取此文件 (http://ccwu.me/vsfm/MatchFile.zip) 的 C++ 代码,您可以使用它来编写 python 解析器。

此外,VSFM 似乎有一个 python 套接字接口,它可以让你做你想做的事 https://github.com/nrhine1/vsfm_util