Hello. I translate my code from clear OpenCV C++ to Java for my Android App (using JavaCV). I'm using goodFeaturesToTrack functions, that find and save corner points.
And I'm at an impasse.
In OpenCV C++ i use vectors for store my data. drawContours save data to vectors, goodFeaturesToTrack are using vectors, but in JavaCV i can't use vectors, because functions require MAT for their arguments.
The greatest difficulty I experience with the processing of the corner points. My code on C++:
vector<Point2f> corners;
....
goodFeaturesToTrack(src_gray,corners,
maxCorners,
qualityLevel,
minDistance,
Mat(),
blockSize,
useHarrisDetector,
k);
...
for (int j = 0; j < boundRect.size(); j++) {
vector<Point2f> tempVectorCorners;
for (int i = 0; i < corners.size(); i++)
{
if (boundRect[j].contains(corners[i])) {
tempVectorCorners.push_back(corners[i]);
}
}
goodPoints.push_back(tempVectorCorners);
}
but JavaCV's goodFeaturesToTrack require corners as Mat, and i don't know how to get elements from corners in my cycle.
So, my question is - what is best choise for JavaCV - MatVector (what is it?), Mat or ArrayList? How to convert each other?