gpt4 book ai didi

python - 将单应性应用于整个图像后,如何将2D点转换回去?

转载 作者:行者123 更新时间:2023-12-02 16:16:28 26 4
gpt4 key购买 nike

我是opencv和图像相关几何的新手。但是现在我正在处理一些图像处理任务。
这是我所做的:
给定pts_src和pts_dst,我用cv2.findHomograpy()和cv2.warpPerspective()扭曲了整个图像

cv2.findHomography为我提供了一个3x3单应矩阵。
cv2.warpPerspective()为我提供了变形的图像,并且我可以从该变形的图像中检测到一些特征点。

但是,我需要将特征点坐标映射回原始输入图像。
有人可以告诉我如何实现吗?

谢谢

最佳答案

我认为单应性矩阵的逆可以成为从pts_dst映射回pts_src的新矩阵。

正如您在评论中所说并显示为here一样,看来您的第三个分量确实是所得 vector 的缩放系数w:

(x, y) → (x′/w, y′/w)
where (x′, y′, w′) = mat ⋅ [x y 1]
(...) In case of a 2D vector transformation, the z component is omitted.



因此,您可以通过执行 (V[0]/V[2], V[1]/V[2])来重新缩放它,就像您在注释中提到的那样。

另外,我认为此缩放因子与矩阵的生成方式有关,因此也请检查矩阵的详细信息,因为o​​jit_code的官方 documentation说:

Homography matrix is determined up to a scale. Thus, it is normalized so that h33=1.



希望这可以帮助!

关于python - 将单应性应用于整个图像后,如何将2D点转换回去?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61147385/

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