Halcon图像处理-投影变换

当由一副倾斜拍摄的图片需要识别的时候,就需要将图片进行投影变换,如下图

在投影变换中,最重要的求出变换之前的角点坐标方法,

方法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)

经验分享 程序员 微信小程序 职场和发展