如何使用OpenCV Java库匹配两个图像的关键点?
org.opencv.features2d.Feature2D (抽象)类的 detect() 方法检测给定图像的关键点。对于此方法,您需要传递一个表示源图像的 Mat 对象和一个空的 MatOfKeyPoint 对象来保存读取的关键点。
org.opencv.features2d.Feature2D类的strong>drawMatches()方法查找两个给定图像的关键点之间的匹配并绘制它们。此方法接受以下参数 -
src1 - 代表第一个的 Mat 类的对象源图像。
keypoints1 - MatOfKeyPoint 类的对象,表示第一个源图像的关键点。
src2 - Mat 类的对象,表示第二个源图像。
keypoints2 - MatOfKeyPoint 类的对象,表示第二个源图像的关键点。
matches1to2 strong> - 从第一张图像到第二张图像的匹配,这意味着 keypoints1[i] 在 keypoints2[matches[i]] 中有对应点。
dst - 代表目标图像的Mat类的对象。
因此,匹配两个图像的关键点 -
使用imread()方法读取两幅源图像。
获取图像的关键点使用 detect() 方法绘制两个图像。
使用 drawMatches() 方法查找并绘制匹配项。
示例
以上就是如何使用OpenCV Java库匹配两个图像的关键点?的详细内容,更多请关注其它相关文章!