Android OpenCV с использованием функций MatOfKeyPoint и feature2d

У меня возникли проблемы с использованием библиотеки Java OpenCV правильно, следующий код сбой:

MatOfKeyPoint keypoints = new MatOfKeyPoint(); this.myFeatures.detect(inputImage, keypoints); 

Я думал, что ключевыми точками был этот изменяемый объект, который я передаю в функцию detect и получаю обратно. Например, позже я бы хотел:

 Features2d.drawKeypoints(inputImage, keypoints, outputImage); 

Что я здесь делаю неправильно? Благодарю.

Проблема решена – вам не нужно только преобразовывать типы цветов, но алгоритм SURF недоступен, по крайней мере, в библиотеке, которую у меня есть. Вот рабочий код:

 myFeatures = FeatureDetector.create(FeatureDetector.FAST); rgb = new Mat(); outputImage = new Mat(); keypoints = new MatOfKeyPoint(); Imgproc.cvtColor(inputImage, rgb, Imgproc.COLOR_RGBA2RGB); myFeatures.detect(rgb, keypoints); Features2d.drawKeypoints(rgb, keypoints, rgb); Imgproc.cvtColor(rgb, outputImage, Imgproc.COLOR_RGB2RGBA); 

Я хочу, чтобы они вернули ошибку лучше, чем fatal signal 11