我最近开始将应用程序移植到运行 OpenCV 2.4.5 的新平台。
我使用 OpenCV 的 FLANN 实现进行层次聚类的部分代码不再编译。
代码如下:
cv::Mat mergedFeatures = cvCreateMat(descriptorTotal, descriptorDims, CV_32F);
int counter = 0;
for (uint j = 0; j < ImageFeatures.size(); j++) {
cv::Mat features = ImageFeatures[j];
for (int k = 0; k < features.rows; k++) {
cv::Mat roi = mergedFeatures.row(counter);
features.row(k).copyTo(roi);
counter++;
}
}
cv::Mat centers = cvCreateMat(1000, descriptorDims, CV_32FC1);
cv::flann::KMeansIndexParams k_params = cv::flann::KMeansIndexParams();
cv::flann::AutotunedIndexParams atp = cv::flann::AutotunedIndexParams();
int numClusters = cv::flann::hierarchicalClustering<float, float>(mergedFeatures, centers, k_params);
我得到的错误(在 Eclipse 中)是 cv::flann::hierarchicalClustering 的参数无效,并且没有满足该函数的候选者。
有人可以解释一下我突然似乎错误地调用了这个方法吗?
非常感谢您的帮助。