透视变换
是根据实际过程中根据不同角度检测到的图像,进行变换转换到实际图形的过程。
如图:实际中我们检测的图片是左图所示,经过透视变换之后变换成右图。
1.如下图,先导入库,再定义,描述original image中四个点的坐标,并在图像中输出。
2.定义一个warp的函数,并将上边的坐标值输入到函数中,并且输入到一个src的数组中,将扭转图像扭转之后的坐标,输入到一个dst的数组当中。
3,通过下图中的透视变换函数,输入两种数组,并返回M矩阵——扭转矩阵
M = cv2.getPerspectiveTransform(src, dst)
也可以通过反透视变换函数,恢复原来的图像,只需要对调函数中的数组的顺序,返回Minv矩阵
Minv = cv2.getPerspectiveTransform(dst, src)
将扭转矩阵M输入,进行的原来图片的变换,其中img代表的是原图像,M代表的是扭转矩阵,img_size代表的是转变之后的尺寸(可以设置为相同尺寸),inter_linear代表的是线性内插。
warped = cv2.warpPerspective(img, M, img_size, flags=cv2.INTER_LINEAR)
4.显示图片