首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV 2.4.5: FLANN和hierarchicalClustering

OpenCV 2.4.5: FLANN和hierarchicalClustering
EN

Stack Overflow用户
提问于 2013-07-04 09:06:38
回答 1查看 2.4K关注 0票数 2

我最近开始将一个应用程序移植到一个运行OpenCV 2.4.5的新平台上。

我使用OpenCV的FLANN实现进行分层聚类的部分代码不再编译。

代码如下:

代码语言:javascript
复制
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具有无效的参数,并且此函数的两个候选函数都不满足。

有没有人能解释一下,我是如何突然错误地调用这个方法的?

非常感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2013-07-06 03:01:15

我自己解决了这个问题。

不是接受:

代码语言:javascript
复制
cv::flann::KMeansIndexParams k_params

hierarchicalClustering函数实际上需要:

代码语言:javascript
复制
cvflann::KMeansIndexParams k_params

这是一个与OpenCV中的FLAN库混淆的名称空间约定,我只是忽略了编译器错误告诉我的名称空间差异。

现在一切都正常了。这两个名称空间中都存在KMeansIndexParams类型,我猜hierarchicalClustering方法从OpenCV 2.3到2.4.5的变化很小。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17460431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档