Opencv特征匹配+单应性

2024-05-03 18:39:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用OpenCV开发对象检测演示。我使用Python跟踪了OpenCV的原始文档“featurematching 2d+Homography”。我已经在代码中把“SIFT”改为“ORB”。在

当我得到单应坐标时,我应用了getPerspectiveTransform&warpPerspective来根据图像的源图像裁剪和旋转图像。在

下面是我的透视python代码-

size = img1.shape

perspectiveM = cv2.getPerspectiveTransform(np.float32(dst),pts)

img_dst = cv2.warpPerspective(img2,perspectiveM,size)

plt.imshow(img3, 'gray'),plt.show()

它工作得很完美,但在某些情况下,它无法与它的确切来源对齐。图像源和图像如下-

source image

这是我实际的“单应性”输出-

Homography output

我在移动平台(android)上这样做是为了测试我使用的python。我不明白我怎么才能解决这个问题。我搜索它,我发现我必须考虑相机校准,失真或分解单应性。在

我读过这篇文章,不知怎么理解了上面的概念。但是,我不知道如何实施它们/哪种方法能得到准确的结果。在

我的python代码使用orb-

^{pr2}$

Tags: 对象代码文档图像sizepltcv2opencv