如何使用FREAK作为BOW的一部分

时间:2014-02-26 19:14:00

标签: opencv freak

我运行了一些代码,使用 OpenCV 提供的 BOW-frame 执行对象分类。

只要我使用 SIFT SURF 作为DescriptorExtractor,一切都很好。

现在我想使用FREAK作为DescriptorExtractor。作为我的第一步,我收集所有图像的所有描述符。当我使用FREAK时,我必须添加一个对话 descriptor.convertTo(descriptor, CV_32F);,或者cluster方法抛出异常。到目前为止一切都很好。

然后,当我尝试使用bowide_->compute(image, keypoints, result);

为每个图像生成标记的回复时

我得到一个例外OpenCV Error: Assertion failed (queryDescriptors.type() == trainDescCollection[0].type()) in knnMatchImpl, file /home/kastor/Development/opencv-2.4.7/modules/features2d/src/matchers.cpp, line 351 queryDescriptors.type() == trainDescCollection[0].type().

下一步是训练SVM。 正如我所说,整个事情适用于SIFT和SURF。任何想法,如果可能的话 以相同的方式使用FREAK还是需要进行更多转换?

我尝试了不同的匹配器,但没有成功。

提前致谢

0 个答案:

没有答案
相关问题