opencv - 局部敏感哈希算法仅与opencv/flann中的二进制描述符兼容吗?

标签 opencv indexing sift surf

我正在尝试在 opencv 2.4.4 的 flann 中使用局部敏感哈希算法。这是我的代码

Ptr<IplImage> cluster_image = cvLoadImage("C:\\Users\\Administrator\\Pictures\\1.jpg");
vector<KeyPoint> cluster_keypoint;
Mat des;

description_detect(cluster_image,cluster_keypoint,des,SIFT_DESCRIPTION);
//My function to extract the sift feature from image.
//Descriptions are stored at variable des.

flann::Index my_index(des, flann::LshIndexParams(10, 10, 2));

运行此代码时,通过 lsh 算法构建 flann 的索引。代码断言

“Opencv 错误,不支持的格式或格式组合 type=5”

我检查了 miniflann.cpp 中的代码。看来flann中的局部敏感哈希算法只兼容CV_8U Mat类型,而不兼容sift生成的CV_32F。

但是,从 ORB、Brief、BRISK、FREAK 检测到的其他二进制描述符可以生成 CV_8U Mat 类型。

所以我的问题是:局部敏感哈希算法只与opencv中的二进制描述符兼容吗?

最佳答案

是:哈希函数仅针对二进制描述符(即可以表示为 unsigned char 数组的描述符)实现。

更多详情请引用此答案:Binary features and Locality Sensitive Hashing (LSH)

关于opencv - 局部敏感哈希算法仅与opencv/flann中的二进制描述符兼容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15265420/

相关文章:

sql - mysql索引太多?

mysql 全文索引

Oracle 基于函数的索引和 CASE 语句

opencv - OpenCL对OpenCV Featuredetector/deskriptor的支持

OpenCV SIFT 对比 David Lowe 的 SIFT 实现,OpenCV 差得多

python - OpenCV-Python : Find a code for writing keypoins to a file

c++ - 使用 opencv 编译代码 -/usr/bin/ld : cannot find -lippicv

opencv - OpenCV Hough Circles是否已排序?

java - 无法使用 Android 解析 OpenCV 中的 putText()

opencv - 使用 OpenCV 2.2 筛选实现