2016-09-23 87 views
-2

我想在C++中使用vlfeat kmeans算法,因爲我之前在matlab中使用過它。我有兩個問題。vlfeat kmeans C++

  1. 我找不到一個函數來爲每個數據輸入返回賦值。我是否必須使用距離函數手動查找作業?
  2. 當我設置vl_kmeans_set_verbosity(kmeans, 1);我沒有看到打印出來的任何冗長。我如何獲得冗長的工作?

回答

0

vl_kmeans的幫助頁面明確指出了答案。像這樣使用它:

[C,A] = vl_kmeans(X, numcenters, 'verbose'); 

向量A將具有分配的中心。 幫助頁面在這裏:http://www.vlfeat.org/matlab/vl_kmeans.html

編輯 我從閱讀mex文件vl_kmeans.c得到了這個信息。我現在沒有辦法嘗試這種方法。但讓我知道它是否有效。

量化:

vl_kmeans_quantize (kmeans, assignments, NULL, data, numData) ; 

冗長,似乎做你的方式:

vl_kmeans_set_verbosity (kmeans, 1) ; 

但MEX代碼打印的最終統計數據本身,這是不存在的C++代碼。

+0

這就是matlab api,我正在談論C api。鑑於matlab api的作業和詳細程度,我希望我可以在C – user1871528

+1

嗯,對不起。我想我沒有正確地閱讀這個問題。讓我檢查一下... – TyanTowers