Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How can i match KAZE descriptors?

I tried the demo codes with the AKAZE, and it worked well. But when i want to use KAZE, it gives back this error: Assertion failed ((type == CV_8U && dtype == CV_32S) || dtype == CV_32F) in cv::batchDistance

I used this: Ptr<kaze> kaze = KAZE::create(); kaze->detectAndCompute(img1, noArray(), kpts1, desc1); kaze->detectAndCompute(img2, noArray(), kpts2, desc2);

BFMatcher matcher(NORM_HAMMING);

And the code gives back error, if i use matcher.match(desc1, desc2, matches); or matcher.knnMatch(desc1, desc2, nn_matches, 2); Where matches is vector<dmatch> and nn_matches is vector< vector<dmatch> >.

Can u tell me, how can i match KAZE descriptors?

click to hide/show revision 2
No.2 Revision

How can i match KAZE descriptors?

I tried the demo codes with the AKAZE, and it worked well. But when i want to use KAZE, it gives back this error: error:

Assertion failed ((type == CV_8U && dtype == CV_32S) || dtype == CV_32F) in cv::batchDistance

I used this: Ptr<kaze> this:

Ptr<KAZE> kaze = KAZE::create();
kaze->detectAndCompute(img1, noArray(), kpts1, desc1);
kaze->detectAndCompute(img2, noArray(), kpts2, desc2);

desc2);

BFMatcher matcher(NORM_HAMMING);

matcher(NORM_HAMMING);

And the code gives back error, if i use use

matcher.match(desc1, desc2, matches);
or

or

matcher.knnMatch(desc1, desc2, nn_matches, 2);

Where matches is vector<dmatch> and nn_matches is vector< vector<dmatch> >.vector<DMatch> >

Can u tell me, how can i match KAZE descriptors?