gpt4 book ai didi

c# - 使用 Homography 链接两张图片像素

转载 作者:太空宇宙 更新时间:2023-11-03 22:43:59 25 4
gpt4 key购买 nike

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

例子:
正常图片 enter image description here

图片失真 enter image description here

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

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

关于如何在 C# 中执行此操作的任何提示? (是否使用 OpenCV)

编辑:

点示例:

普通图片:[250, 25] , [250, 287] , [399, 287] , [400, 28]

目标图片:[0, 0] , [2098, 29538] , [19127, 28164] , [17097, -1200]

使用打开的简历进行编辑:

OpenCvSharp.Mat hCv = OpenCvSharp.Cv2.FindHomography(srcPoints, dstPoints);
OpenCvSharp.Point2d[] resultCv = OpenCvSharp.Cv2.PerspectiveTransform(targetCv, hCv);

最佳答案

感谢 Alexander Reynolds 的评论,我终于使用了 OpenCvSharp 3图书馆。您使用以下方法获得单应矩阵:

homographyMatrix = OpenCvSharp.Cv2.FindHomography(originalPicturePoints, targetPicturePoints);

然后从原始图片中获取目标图片上的任意一点:

targetPoint = OpenCvSharp.Cv2.PerspectiveTransform(orignalPoint, homographyMatrix);

关于c# - 使用 Homography 链接两张图片像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50528385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com