我的目标是通过使用来自两个图像的匹配关键点来计算基本矩阵。现在我得到了很好的匹配点:
MatOfDMatch matches = new MatOfDMatch();
matcher.match(descriptor1,descriptor2, matches);
List<DMatch> matchesList = matches.toList();
List<DMatch> good_matches = new ArrayList<DMatch>();
org.opencv.core.Point pt1;
org.opencv.core.Point pt2;
//Then I definite good_dist here
//....
for(int i =0;i<matchesList.size(); i++)
{
if(matchesList.get(i).distance<good_dist)
{
good_matches.add(matchesList.get(i));
pt1 = keypoints1.toList().get(matchesList.get(i).queryIdx).pt;
pt2 = keypoints2.toList().get(matchesList.get(i).trainIdx).pt;
}
}
现在我想将 pt1 和 pt2 传递给 MatOfPoint2f 以调用该函数:
Calib3d.findFundamentalMat(pt1, pt2, Calib3d.FM_8POINT);
有谁知道我该怎么办?
提前致谢!
最佳答案
创建点数组( array_point
)并执行下一步:
MatOfPoint2f yourArray_of_MatofPoint2f= new MatOfPoint2f(array_point);
这是来自Java,如果这不起作用,请发布。
关于android - 如何将 Point 添加到 MatOfPoint2f?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15725644/