OpenCV4 - преобразование Android из MatOfKeyPoint в MatOfPoint2f
Я пытаюсь использовать OpenCV для Android (OpenCV 2.4.3). Я пишу программу для отслеживания ключевых точек. Я пытаюсь использовать FeatureDetector для обнаружения ключевых точек, а затем Video.calcOpticalFlowPyrLK для их отслеживания. Вопрос, который меня озадачил, заключается в том, что функция FeatureDetector возвращает MatOfKeyPoint, а calcOpticalFlowPyrLK принимает MatOfPoint2f.
Обратите внимание, что MatOfKeyPoint отличается от MatOfPoint (преобразование из MatOfPoint в MatOfPont2f является простым).
Вот мой код до сих пор:
//Feature detector for LKT flow estimation
FeatureDetector cvFeatureDetector;
//Vector of keypoints
MatOfKeyPoint keypoints;
...
...
//intitialize detector
cvFeatureDetector = FeatureDetector.create(FeatureDetector.GFTT);
keypoints = new MatOfKeyPoint();
...
...
//mPrevImgMat is a grayscale image - previous frame
//mCurrentImgMat is a grayscale image - current frame
//Run feature detector in previous image
cvFeatureDetector.detect(mPrevImgMat, keypoints);
MatOfPoint2f keypointsFound = new MatOfPoint2f();
MatOfByte keypointsStatus = new MatOfByte();
MatOfFloat err = new MatOfFloat();
Size winSize = new Size(25,25);
int maxLevel = 3;
//Optical flow to find keypoints in current image
Video.calcOpticalFlowPyrLK(mPrevImgMat, mCurrentImgMat, keypoints,
keypointsFound, keypointsStatus, err, winSize, maxLevel);
//Obviously "keypoints" in the line above does not work. How does one covert
//keypoints to MatOfPoint2f?
То, что я до сих пор безуспешно пытался: (1) keypoints.convertTo() (2) Создание вектора из ключевых точек и затем попытка заполнения вектора Point Vector pointList. Затем введите в MatOfPoint2f при вызове функции потока (MatOfPoint2f) pointList (3) Попытка заполнить MatOfPoint2f с нуля. Не могу понять, как это сделать (4) Используя метод fromArray в MatOfPoint2f - Не уверен, что этот метод делает. Документация пуста для этого метода. Я что-то упускаю из виду?
1 ответ
Отвечая на мой собственный вопрос... Я получил ответ на другом форуме. Ссылка на это обсуждение находится ниже http://www.answers.opencv.org/question/6206/opencv4android-conversion-from-matofkeypoint-to/