OpenCV de Android: emparejamientos de dibujo con feature2d

No puedo conseguir que esta función funcione. Básicamente estoy haciendo detección de características y haciendo coincidir con una imagen de referencia. Quiero superponer las funciones coincidentes en la parte superior de la imagen de entrada. Aquí está mi código:

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 Features2d.drawMatches que es específicamente el problema. Según el error de Android que he recibido, algunas dimensiones no se están alineando. A decir verdad, ni siquiera estoy seguro de cómodrawMatches Se supone que funciona en Android porque no hay documentación en ningún lado.

Lo que quiero poder hacer es dibujar las coincidencias en la parte superior de la inputImage. he recibidoFeature2d.drawKeypoints Trabajar, pero no estoy seguro de cómo me convertiríaMatOfDMatch matches a unMatOfKeypoint objeto. Además, ni siquiera estoy seguro de si es así como funciona MatOfDMatch. ¿No tiene alguna asociatividad en su interior correspondiente a los descriptores?

Lo siento por estar en todas partes, me está costando mucho usar OpenCV con Android. La documentación de C ++ es buena, pero hay pocos materiales para Android. ¡Gracias por cualquier ayuda!

Respuestas a la pregunta(1)

Su respuesta a la pregunta