OpenCV使用CV_64F1进行克隆

时间:2016-05-11 19:27:17

标签: c++ opencv

根据我得到的文档和错误:

#pragma omp for

OpenCV的kmeans集群不支持CV_64F1类型的数组。我有什么东西可以忽略,还是我必须手工实施kmeans?

(我在Linux上使用OpenCV 3.1.0 C ++ Intefaces和gcc 5.3.1; 是的,我需要64位精度,我正在做一些机器学习数据分析。)

编辑:第二个想法,值得尝试将矩阵“向下”转换为32F,因为我只需要k-means聚类来初始化我的NMF因子。也许结果仍然比随机初始化更好。有没有办法转换OpenCV矩阵?

1 个答案:

答案 0 :(得分:0)

结束这个问题:

我只是将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 :: Mat CV_64FC1

类型的参数