Android OpenCV: rysowanie dopasowań z feature2d

Nie mogę uruchomić tej funkcji. Zasadniczo robię wykrywanie funkcji i dopasowywanie do obrazu odniesienia. Chcę nałożyć pasujące funkcje na mój obraz wejściowy. Oto mój kod:

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;
}

Jest to funkcja2d.drawMatches, która jest właśnie problemem. Zgodnie z błędem systemu Android, który dostałem, niektóre wymiary nie są wyrównane. Prawdę mówiąc, nie jestem nawet pewien, jakdrawMatches ma działać na Androidzie, ponieważ nigdzie nie ma dokumentacji.

To, co chcę zrobić, to narysować dopasowania na górze inputImage. stałamFeature2d.drawKeypoints do pracy, ale nie jestem pewien, jak chciałbym przejść do konwersjiMatOfDMatch matches do aMatOfKeypoint obiekt. Nie jestem nawet pewien, czy tak działa MatOfDMatch - czy nie ma w nim pewnej asocjatywności odpowiadającej deskryptorom?

Przepraszam, że jestem wszędzie, mam bardzo ciężko z OpenCV z Androidem. Dokumentacja C ++ jest dobra, ale niewiele jest w niej materiałów na Androida. Dzięki za pomoc!

questionAnswers(1)

yourAnswerToTheQuestion