How to use AKAZE descriptor extractor with KAZE keypoint detector

asked 2016-05-24 08:13:08 -0600

newuser5001 gravatar image

updated 2016-05-25 03:57:12 -0600

LBerger gravatar image

NOVICE question: 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<Feature2D> detector = cv::KAZE::create();
Ptr<DescriptorExtractor> extractor = cv::AKAZE::create();

vector<KeyPoint> 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<int>(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

edit retag flag offensive close merge delete


Did you find a solution for this. I got the same error. Any help from your end.

WhoAmI gravatar imageWhoAmI ( 2016-09-20 07:50:01 -0600 )edit