Halcon中图像旋转的两种方式

Halcon图像旋转有两种类型,一种类型是直接使用

rotate_image (Image, ImageRotate, 90, 'constant')

这样的图像只能围绕中心进行旋转,而且设置的时候只能设置旋转角度,其中函数组成如下:

rotate_image(Image : ImageRotate : Phi, Interpolation : )
//Image是输入图像
//ImageRotate是旋转后的输出图像
//Phi是旋转角度
//Interpolation 是图像变换后的插值方式,这里选择的常量

效果如下:  

这种变换方法简单方便,但是可控制参数太少,如果要实现更多功能,我们可以通过仿射变换算子来进行图像旋转缩放

affine_trans_image

具体实现方式如下:

*创建矩阵
hom_mat2d_identity (HomMat2D)

*平移矩阵1
hom_mat2d_translate (HomMat2D, Tx, Ty, HomMat2DTranslate)
affine_trans_image (Image, OutImage1, HomMat2DTranslate, 'constant', 'false')

*旋转矩阵2
hom_mat2d_rotate (HomMat2D, Phi, Px, Py, HomMat2DRotate)
affine_trans_image (Image, OutImage2, HomMat2DRotate, 'constant', 'false')

*缩放矩阵3
hom_mat2d_scale (HomMat2D, Sx, Sy,Px, Py, HomMat2DScale)
affine_trans_image (Image, OutImage3, HomMat2DScale, 'constant', 'false')

猜你喜欢

转载自blog.csdn.net/weixin_43710577/article/details/127490932