Reputation: 480
I've some code running that performs object categorization using the BOW-frame provided by OpenCV.
And as long as I use SIFT or SURF as DescriptorExtractor everything is fine.
Now I want to use FREAK as DescriptorExtractor. As my first step I collect all descriptors of all images. When I use FREAK I must add a conversation
descriptor.convertTo(descriptor, CV_32F);
, or the cluster method throws an exception. So far so good.
Then as I try to generate my labeled responses for each image using bowide_->compute(image, keypoints, result);
I get an exception 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().
The next step would be to train the SVM. As I said the whole thing works for SIFT and SURF. Any ideas if it is possible to use FREAK in the same manner or if I need to do some more conversion ?
I tried different matchers, but no success.
Thanks in advance
Upvotes: 1
Views: 151