在Mac OS X上使用Lowe的SIFT Matlab程序时出错

时间:2015-03-05 22:33:42

标签: macos matlab sift binaries

我试图在我的Mac上使用David Lowe在Matlab中使用Slab的Matlab演示。

但我经常收到错误:

[image, desc, locations] = sift('book.pgm')
/bin/bash: ./sift: cannot execute binary file
Error using sift (line 57)
Invalid keypoint file beginning.

我已经执行了makefile,但问题仍然存在。

注意:我使用的是Matlab 8.4.0。

真的很感激任何帮助!谢谢。

1 个答案:

答案 0 :(得分:0)

这不是matlab问题。 发给您的筛选版本不适用于OSX。 你可以通过跑步来保证 file sift

结果很可能是:

sift: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped

在解决同样的问题时偶然发现了你的问题--Matlab,Lowe的SIFT和OSX。

来自Lowe(http://www.cs.ubc.ca/~lowe/keypoints/siftDemoV4.zip)的原始文件没有OSX版本。只有Linux / Win。

目前,我看到了两种可能的解决方案:

  • 编译Lowe对OSX的筛选(搜索一段时间显示源与linux / win紧密绑定)
  • 尝试更换。与vlfeatOpenSIFTsiftGPU一样,并重写MATLAB包装器代码。

请记住,使用外部bin生成密钥文件(通过MATLAB以这种方式使用)需要检查密钥文件格式的对应关系。 (vlfeat to Lowe's SIFT