Android OpenCV: рисование матчей с помощью feature2d

Я не могу заставить эту функцию работать. В основном я делаю обнаружение признаков и сопоставление с эталонным изображением. Я хочу наложить соответствующие элементы поверх моего входного изображения. Вот мой код:

public Mat startProcessing(Mat inputImage) {

    Imgproc.cvtColor(inputImage, rgb, Imgproc.COLOR_GRAY2RGB);
    myFeatures.detect(rgb, keypoints);
    descriptorExtractor.compute(inputImage, keypoints, imageDescriptors);
    descriptorMatcher.match(templateDescriptors, imageDescriptors, matches);

    Features2d.drawMatches(rgb, keypoints, templateImage, templateKeypoints, matches, rgb); 

    Imgproc.cvtColor(rgb, outputImage, Imgproc.COLOR_RGB2RGBA);
    return outputImage;
}

Это Features2d.drawMatches, которая является конкретно проблемой. Согласно полученной мной ошибке Android, некоторые измерения не совпадают. По правде говоря, я даже не знаю, какdrawMatches должен работать на Android, потому что нигде нет документации.

То, что я хочу сделать, это нарисовать совпадения поверх inputImage. Я получилFeature2d.drawKeypoints работать, но я не уверен, как бы я пошел на преобразованиеMatOfDMatch matches кMatOfKeypoint объект. Кроме того, я даже не уверен, что так работает MatOfDMatch - не имеет ли он внутри себя ассоциативности, соответствующей дескрипторам?

Извините, что повсюду, мне очень тяжело использовать OpenCV с Android. Документация на C ++ хороша, но мало что есть в материалах для Android. Спасибо за любую помощь!

Ответы на вопрос(1)

Ваш ответ на вопрос