cv2.warpPerspective如何工作?

时间:2019-06-12 22:50:59

标签: python opencv image-translation

我使用以下代码在两个图像(img_source,img_ref)之间进行了图像配准。

# Find homography
h, mask = cv2.findHomography(points1, points2, cv2.RANSAC)
# Use homography
height, width, channels = im2.shape
im1Reg = cv2.warpPerspective(img_source, h, (width, height))

它完美地工作。然后,我想知道registered_image上某个特定点(例如img_source上的点(x,y))(例如im1Reg上的(x,y))的位置。根据OpenCV网站上对warPerspective的解释,我应用以下公式:

x =(M11x0 + M12y0 + M13)/(M31x0 + M32y0 + M33) y =(M21x0 + M22y0 + M23)/(M31x0 + M32y0 + M33)

其中M_ {i,j}是变换矩阵h的项。

但是,结果(x,y)不正确(不匹配)。这里有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

这是当我在注册图像上叠加转换后的位置时的图像。预计每个点都将覆盖在汽车上。 [link]:https://drive.google.com/open?id=1_VCJ-9fAOq7WhW7a5RpznMC6R-aFpj-h