2015-01-06 81 views
0

你好,我想爲我的SIFT描述符使用Fisher Vector。我試圖使用VL_FEAT的函數。我在MATLAB中添加了目錄,並運行vl_startup。它成功運行,但是當我嘗試的例子使用vl_gmm時出錯 - 嘗試執行腳本作爲函數

它給我這個錯誤:

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 

任何人幫助我,我怎麼能解決這個問題?

+0

這是我使用的示例代碼 'numPoints = 1000; dimension = 2; data = rand(dimension,N); numClusters = 30; [means,covariances,priors] = vl_gmm(data,numClusters);' –

回答

0

我有幾個建議讓您獲得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文件,而只包含文檔,則只會出現此錯誤。

因此,請確保在運行示例之前運行vl_compile.m腳本來編譯VLFeat

建議#2 - 下載預編譯的二進制文件

或者,你可以通過下載二進制文件VLFeat預編譯:http://www.vlfeat.org/download/vlfeat-0.9.19-bin.tar.gz。如果您在編譯庫時遇到困難,請通過我提供的鏈接下載實際的預編譯二進制文件,然後嘗試從那裏運行vl_setup.m

相關問題