簡體   English   中英

使用CV_64F1的OpenCV kmeans

[英]OpenCV kmeans with CV_64F1

根據文檔和我得到的錯誤:

OpenCV Error: Assertion failed (data.dims <= 2 && type == CV_32F && K > 0)

OpenCV的kmeans群集不支持CV_64F1類型的數組。 我有什么要忽略的嗎?還是我必須手工實施kmeans?

(我在Linux上使用帶有gcc 5.3.1的OpenCV 3.1.0 C ++ Intefaces;是的,我需要64位精度,正在做一些機器學習數據分析。)

編輯:再三考慮,將矩陣“降頻”到32F值得嘗試,因為我只需要k-均值聚類即可為NMF初始化因子。 也許結果仍然比隨機初始化更好。 有沒有辦法轉換OpenCV矩陣?

總結一下這個問題:

我只是將Matrix從64F轉換為32F:

cv::Mat a32f;
a.convertTo(a32f, CV_32FC1);

kmeans(a32f,k, labels,
    cv::TermCriteria(cv::TermCriteria::EPS + cv::TermCriteria::COUNT , 10, .0001),
    5, cv::KMEANS_RANDOM_CENTERS);

a為式CV的參數::墊CV_64FC1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM