在OpenCV中,perspectiveTransform函数和warpPerspective函数都用于执行透视变换,但它们的使用方式和目的略有不同。
perspectiveTransform函数
perspectiveTransform函数通常用于对一组点应用透视变换。它接收输入点数组和变换矩阵,然后输出变换后的点数组。这个函数不直接对图像进行操作,而是对图像中的点集进行操作。例如,你可以用它来变换一组点的坐标,以便了解这些点在透视变换后将位于何处。
函数原型如下:
cpp
void perspectiveTransform(InputArray src, OutputArray dst, InputArray m);
其中,src是输入点集,dst是输出点集,m是变换矩阵。
warpPerspective函数
warpPerspective函数用于对整个图像应用透视变换。它接收源图像、变换矩阵、输出图像的大小作为参数,并生成透视变换后的图像。这个函数会直接改变图像的像素值,以反映透视变换的效果。
函数原型如下:
cpp
void warpPerspective