android - 从MatOfKeyPoint到MatOfPoint2f的OpenCV4Android转换

标签 android opencv tracking opticalflow

我正在尝试将OpenCV用于Android(OpenCV 2.4.3)
我正在编写一个程序来跟踪关键点。我正在尝试使用FeatureDetector检测关键点,然后使用Video.calcOpticalFlowPyrLK
追踪他们。
让我感到难过的问题是,当CalcOpticalFlowPyrLK使用MatOfPoint2f时,FeatureDetector函数返回MatOfKeyPoint。

请注意,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)从关键点创建 vector ,然后尝试填充Point Vector pointList的 vector 。然后在调用流函数时类型转换为MatOfPoint2f
(MatOfPoint2f)pointList
(3)尝试从头开始填充MatOfPoint2f。无法弄清楚该怎么做
(4)在MatOfPoint2f中使用fromArray方法-不确定此方法的作用。该方法的文档为空白。我是否缺少明显的东西?

最佳答案

回答我自己的问题...我在另一个论坛中得到了答案。该讨论的链接如下
http://www.answers.opencv.org/question/6206/opencv4android-conversion-from-matofkeypoint-to/

关于android - 从MatOfKeyPoint到MatOfPoint2f的OpenCV4Android转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14346482/

相关文章:

android - 项目由几个项目组成

android - 如果 sqflite flutter 中存在,则删除表并重新创建

python - 使用 Python OpenCV cv2.VideoCapture() 直接读取灰度视频帧

version-control - 版本控制(即 Subversion)适用于文档跟踪吗?

java - Html.fromHtml(String) + 换行问题

android - 应用程序子类中出现 NullPointerException?

python - 在特定版本的 OpenCV 中使用 python

python - "Nonmatching transport in server reply"当 cv2.VideoCapture rtsp onvif 相机时,如何修复?

javascript - 如何创建终极 jquery 脚本来跟踪 Google Analytics 中的出站链接?

google-analytics - 我的事件没有正确跟踪