使用vl_gmm时出错 - 尝试将脚本作为函数执行

时间:2015-01-06 05:58:00

标签: matlab computer-vision vlfeat

您好我想使用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 

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

1 个答案:

答案 0 :(得分:1)

我有一些建议让你VLFeat工作。我不确定你是否已经尝试过所有这些,但我会在我们去的时候建议它们:

建议#1 - 如果您只下载了源

,则编译VLFeat

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

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

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

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

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