Quantcast
Channel: OpenCV Q&A Forum - Latest question feed
Viewing all articles
Browse latest Browse all 19555

OpenCV4Android conversion from MatOfKeyPoint to MatOfPoint2f

$
0
0
I am trying to use OpenCV for Android (OpenCV 2.4.3) I am writing a program to track keypoints. I am trying to use FeatureDetector to detect keypoints and then Video.calcOpticalFlowPyrLK to track them. The question that has me stumped is that the FeatureDetector function returns a MatOfKeyPoint while calcOpticalFlowPyrLK takes a MatOfPoint2f. Here is my code so far: //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? Things I have tried unsuccessfully so far: 1. `keypoints.convertTo()` 2. Creating a vector from keypoints and then trying to populate a vector of Point Vector pointList. Then typecast to `MatOfPoint2f` when calling flow funciton (`MatOfPoint2f`) pointList 3. Trying to populate a `MatOfPoint2f` from scratch. Cant figure out how to do this 4 Using `fromArray` method in `MatOfPoint2f` - Not sure what this method does. Documentation is blank for this method. Am I missing something obvious?

Viewing all articles
Browse latest Browse all 19555

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>