0

您好,我想将 Fisher Vector 用于我的 SIFT 描述符。我尝试使用 VL_FEAT 中的函数。我在 MATLAB 中添加了目录并运行 vl_startup。它运行成功但是当我尝试这个例子时

它给了我这个错误:

Attempt to execute SCRIPT vl_gmm as a function:
C:\vlfeat-0.9.19.tar\vlfeat-0.9.19\vlfeat-0.9.19\toolbox\gmm\vl_gmm.m 

任何人都可以帮助我如何解决这个问题?

4

1 回答 1

2

我有几个建议让你开始VLFeat工作。我不确定你是否都试过了,但我会在我们去的时候推荐它们:

建议 #1 -VLFeat如果您只下载了源代码,则进行编译

你只下载源文件吗?如果你这样做了,你是VLFeat先编译的吗?具体来说,你是不是vl_compile在下载源码的时候先运行的?

诸如此类的函数vl_gmm需要先编译 MEX 包装器,然后才能使用该函数。如果你查看toolbox/gmm目录,有两个文件:vl_gmm.mvl_gmm.c. vl_gmm.m只是一个 MATLAB 文件,其中包含有关如何使用该函数的文档。实际功能在vl_gmm.c其中,它是一个 MEX 文件。如果您没有首先编译,您只会收到此错误,因为默认情况下VLFeat它会尝试运行该文件,该文件只包含文档。.m

因此,请确保在尝试运行示例之前VLFeat通过运行脚本进行编译。vl_compile.m

建议 #2 - 下载预编译的二进制文件

或者,您可以VLFeat通过下载二进制文件进行预编译:http ://www.vlfeat.org/download/vlfeat-0.9.19-bin.tar.gz 。如果您在编译库时遇到问题,请通过我给您的链接下载实际的预编译二进制文件,然后尝试vl_setup.m从那里运行。

于 2015-01-06T21:16:59.113 回答