OpenCV自带的warpPerspective()函数,可以根据透视变换参数实现从一幅图像到另外一幅图像之间的映射变换。OpenCV为了保证坐标的对应关系,在一些情况下,会对变换的图像进行裁剪,以至于不能显示图像全貌,如图1所示。这限制了其的一些应用。
为了使变换既能保持坐标对应,又能显示整幅图像,本文给出了中心化坐标表示下的映射关系实现。如图2所示。
图2,即带有坐标对应关系(以图像中心为原点的坐标系)又能显示整幅图像的Warp实现。
在使用Rect返回值时还可以得到图3结果。
图3,利用Rect返回值只得到有效区域的。
以上供大家参考选用。
Rect warpPerspectiveCenterlization(cv::InputArray src, cv::InputArray CM, cv::OutputArray dst)
{
Mat srcImg = src.getMat();
int W_2 = srcImg.cols / 2;
int H