Android OpenCV: Zeichnen von Übereinstimmungen mit feature2d

Ich kann diese Funktion nicht zum Laufen bringen. Grundsätzlich mache ich die Merkmalserkennung und den Abgleich mit einem Referenzbild. Ich möchte die übereinstimmenden Funktionen über mein Eingabebild legen. Hier ist mein Code:

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

Es ist Features2d.drawMatches, das speziell das Problem ist. Laut dem Android-Fehler, den ich bekommen habe, sind einige Dimensionen nicht in einer Reihe. Um ehrlich zu sein, ich bin mir nicht mal sicher, wiedrawMatches soll auf Android funktionieren, da es nirgendwo eine Dokumentation gibt.

Ich möchte in der Lage sein, die Übereinstimmungen über dem inputImage zu zeichnen. ich hab bekommenFeature2d.drawKeypoints zu arbeiten, aber ich bin mir nicht sicher, wie ich konvertieren gehen würdeMatOfDMatch matches zu einemMatOfKeypoint Objekt. Ich bin mir auch nicht sicher, ob MatOfDMatch so funktioniert. Entspricht es nicht den Deskriptoren?

Es tut mir leid, dass ich überall bin, aber es fällt mir sehr schwer, OpenCV mit Android zu nutzen. Die C ++ - Dokumentation ist gut, aber Android-Materialien sind kaum betroffen. Danke für jede Hilfe!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage