【发布时间】:2013-02-22 07:27:30
【问题描述】:
我正在尝试在 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类型,除了CV_32F是sift生成的。
但是,从 ORB、Brief、BRISK、FREAK 检测到的其他二进制描述符可以产生 CV_8U Mat 类型。
所以我的问题是:局部敏感散列算法是否只与 opencv 中的二进制描述符兼容?
【问题讨论】: