猿问

使用单应性链接两个图片像素

我有两张相同的图片,但第二张被扭曲并且尺寸不同。我希望能够在第一张图片上选择一个点并在第二张图片上找到完全相同的点。图片的同步将由每张图片上的 4 个点进行。

示例:
普通图片

扭曲的画面 

http://img2.mukewang.com/60e026620001f56909360426.jpg

结果将是一个函数从第一张图片中获取 X,Y 点并返回与第二张图片上完全相同的点对应的 X',Y'。


我发现 OpenCV 的 findHomography() 函数返回一个 Homography 矩阵,但在所有示例中,该矩阵都用于使用 warpPerspective() 扭曲第二个图像,这不是我想要的。我只想要两张图片之间的相应坐标/像素。


关于如何在 C# 中做到这一点的任何提示?(是否使用 OpenCV)



慕妹3242003
浏览 150回答 1
1回答

慕娘9325324

感谢 Alexander Reynolds 的评论,我终于使用了OpenCvSharp 3库。您可以使用以下方法获得单应矩阵:homographyMatrix = OpenCvSharp.Cv2.FindHomography(originalPicturePoints, targetPicturePoints);然后从原始图片中获取目标图片上的任何点:targetPoint = OpenCvSharp.Cv2.PerspectiveTransform(orignalPoint, homographyMatrix);
随时随地看视频慕课网APP
我要回答