透视变换(Perspective Transformation)是一种用于在图像处理中对图像进行几何变换的技术,它可以用来校正图像的透视形变或者改变图像的视角。透视变换通常涉及到一个原始图像和一个目标图像之间的转换,其中原始图像可能是一个投影视图或者透视变形的图像,目标图像则是通过变换后希望获得的图像。
透视变换的基本原理是找到原始图像中的四个点(至少需要四个点),并将它们映射到目标图像中对应的位置。这四个点形成了原始图像中的一个四边形,通过透视变换可以将这个四边形转换为目标图像中的一个矩形。
在 OpenCV 中,透视变换主要涉及到两个函数:
-
cv2.getPerspectiveTransform(src, dst)
:用于计算透视变换矩阵。需要提供原始图像中的四个点src
和目标图像中对应的四个点dst
,返回一个 3x3 的变换矩阵。 -
cv2.warpPerspective(img, M, (width, height))
:用于应用透视变换。需要提供原始图像img
、透视变换矩阵M
,以及目标图像的宽度和高度。该函数将返回一个经过透视变换的图像。