Halcon中两种实现旋转的方法rotate_image和affine_trans_image

  Halcon中实现旋转的方式由两种。一种是rotate_image,该方式实现简单,但只能绕中心旋转。二是affine_trans_image,该方式实现较复杂,但是可以实现绕任意位置的旋转。

1 rotate_image

*ImageImageRotate分别是输入和输出图像
*Phi是输入的旋转度数
*interpolation是内插方式,默认为'constant' 
rotate_image(Image : ImageRotate : Phi, Interpolation : ) 

2 affine_trans_image

  该方式实现旋转需要3句代码。需要特别注意的是,hom_mat2d_rotate中的Px是通过Row值来传递,Py值通过Col值来传递。

*开辟一个旋转矩阵
(1)hom_mat2d_identity (HomMat2D)
*为旋转矩阵赋值
*HomMat2D是输入的旋转矩阵
*Phi是输入的旋转角度
*Px和Py分别是输入的旋转中心x坐标值和y坐标值
*HomMat2DRotate是输出的旋转矩阵
(2)hom_mat2d_rotate( : : HomMat2D, Phi, Px, Py : HomMat2DRotate)
*实施旋转
*Image : ImageAffinTrans分别为输入输出图像
*HomMat2D是赋值后的旋转矩阵。注意:是赋值后的
*Interpolation是内插方式,默认为'constant' 
*AdaptImageSize是bool变量,判断输出图像的大小是否发生变化
(3)affine_trans_image(Image : ImageAffinTrans : HomMat2D, Interpolation, AdaptImageSize : ) 

你可能感兴趣的:(Halcon)