透视变换在两幅图像中进行对应非常有用,看下面的两幅图
第一幅图是源图像,图中有五个点,分别是四个顶点和中间的一个点(对应目标图中的中心点)
第二幅图是目标图,包括与源图像中的五个点对应的五个点
下面就要用Matlab根据四个顶点求透视变换矩阵,然后将源图像中中间的那个点对应到目标图像中去。
源图像中的点的坐标矩阵为:
B =
1 1
1 480
640 97
640 384
目标图像中对应的顶点坐标为:
A =
1 1
1 480
640 1
640 480
用以下方法求得变换矩阵:
TForm = cp2tform(B,A,'projective')
函数返回的TForm是一个结构类型,说明如下:
ndims_in: 2
ndims_out: 2
forward_fcn: @fwd_projective
inverse_fcn: @inv_projective
tdata: [1x1 struct]