NOVICE question:
http://docs.opencv.org/3.0-beta/modules/features2d/doc/feature_detection_and_description.html
states that
AKAZE descriptors can only be used with KAZE or AKAZE keypoints. Try to avoid using extract and detect instead of operator() due to performance reasons.
so I tried to use KAZE detector with AKAZE descriptor extractor:
Ptr detector = cv::KAZE::create();
Ptr extractor = cv::AKAZE::create();
...
vector keypoint;
Mat features;
detector->detect(img, keypoint);
extractor->compute(img, keypoint, features); //<- error at this line
---------------------------------------------
generate the following error:
OpenCV Error: Assertion failed (0 <= kpts[i].class_id && kpts[i].class_id < static_cast(evolution_.size()))
in cv::AKAZEFeatures::Compute_Descriptors, file ..\..\..\src\opencv\modules\features2d\src\kaze\AKAZEFeatures.cpp, line 712
However, when both detector and extractor are the same, there is no problem.
Any help is appreciated, thanks.
JC
↧