在阅读了这篇论文以及许多answers.opencv
问题之后,我想知道是否有 ORB Bag Of Words 的代码示例?我只能找到SURF
或SIFT
示例。
问问题
2103 次
2 回答
5
不幸的是,没有使用带有二进制描述符(BRIEF、ORB、BRISK、FREAK)的词袋的例子。无论哪种方式,您展示的论文都解释了您如何做到这一点。对于传统描述符(SIFT、SURF),使用 k 均值聚类技术,因为词汇表是从一组实值描述符生成的。但是要获得二进制词汇表,k-means 方法并不理想,因为均值没有定义在二进制空间中,那么您可以使用 k-majority 方法。
于 2015-02-14T14:44:13.760 回答
1
在 OpenCV 中聚类二进制特征的最简单方法是使用带有汉明距离的 FLANN。据我所知,不存在示例,因为它需要首先修复 OpenCv 的汉明距离函数 [ 1 ] 中的错误。
这是我的代码,cvhack::Hamming<uchar>
修复了错误的汉明距离在哪里。
cvflann::KMeansIndexParams params;
cv::Mat centres = cv::Mat::zeros(dictionarySize, features.cols, CV_32F);
int count = cv::flann::hierarchicalClustering<uchar,cvhack::Hamming<uchar>>(features,centres,params);
于 2016-04-06T14:04:52.400 回答