BOWImgDescriptorExtractor
has to receive 32F so SURF
or SIFT
have to be used for the DescriptorExtractor
, but for the FeatureDetector
surely that can be any you wish, right?
I just need some clarification here, I've only ever seen people say that "You can't use ORB
with Bow
" but when detecting the features, why would it matter which you use?
I wouldn't think it's matter. You can use arbitrary methods for feature point detection (i.e. ORB, FAST, SIFT, SURF, etc.).
The problem may come from the next step, from feature point description, for the reasons stated by Guanta in their answer here:
The link you posted, gives one possibilty to solve the issue of binary descriptors by simple conversion to float (CV_32F) and relies on the fact that OpenCV's k-means algorithm can only deal with CV_32F and uses L2-distance for comparison. Thus, the binary descriptors may however also cluster in a wrong way (since actually you want to have a Hamming distance measure)!
That's why it's recommended to use of SIFT/SURF descriptors. But apart from it, you can mix the different kind of feature point detectors with different kind of descriptors.