当由一副倾斜拍摄的图片需要识别的时候,就需要将图片进行投影变换,如下图
在投影变换中,最重要的求出变换之前的角点坐标方法,
方法1:根据需要变换的区域 使用ctrl + 鼠标左键,查看原图像坐标。 常用也是最快的方式。
方法2:求出轮廓求交点的方式得出各个关键交点的坐标
方法3:如果可以的话将区域处理成矩形或者其它的带角点的形状,求出各个角点的坐标。
求角点的算子:points_harris(Image : : SigmaGrad, SigmaSmooth, Alpha, Threshold : Row, Column)
这个算子可以求出投影变换算子
hom_vector_to_proj_hom_mat2d( : : Px, Py, Pw, Qx, Qy, Qw, Method : HomMat2D)
重要的参数
Px, Py是变换之前原图像的坐标,如上图四个绿色角点,输入参数
Qx, Qy是变换之后的坐标如上图,输入参数
typically Pw and Qw are set to 1
这是一个投影变换计算算子得到变换结果
projective_trans_image(Image : TransImage : HomMat2D, Interpolation, AdaptImageSize, TransformDomain : )
案例代码如下:
XCoordCorners := [130,225,290,63]
YCoordCorners := [101,96,289,269]
typically Pw and Qw are set to 1
hom_vector_to_proj_hom_mat2d (XCoordCorners, YCoordCorners, [1,1,1,1], [70,270,270,70], [100,100,300,300], [1,1,1,1], 'normalized_dlt', HomMat2D)
projective_trans_image (Image_slanted, Image_rectified, HomMat2D, 'bilinear', 'false', 'false')