1.Halcon旋转缩放
Halcon中的缩放旋转明显比opencv中简单明了。
步骤:图像的预处理—》获得区域形状(可以是凸性、外接矩形、圆等)——》获取旋转的角度(orientation_region 这里是弧度,逆时针为正)——》获取区域的中心坐标及面积(area_center)——》仿射变换(vector_angle_to_rigid得到仿射矩阵HomMat2D)——》旋转(affine_trans_image)
在获取旋转角度比较快捷
Halcon中实现旋转的方式由两种。一种是rotate_image,该方式实现简单,但只能绕中心旋转。二是affine_trans_image,该方式实现较复杂,但是可以实现绕任意位置的旋转。
hom_mat2d_rotate( : : HomMat2D, Phi, Px, Py : HomMat2DRotate)
*为旋转矩阵赋值
*HomMat2D是输入的旋转矩阵
*Phi是输入的旋转角度
*Px和Py分别是输入的旋转中心x坐标值和y坐标值
*HomMat2DRotate是输出的旋转矩阵
affine_trans_image(Image : ImageAffinTrans : HomMat2D, Interpolation, AdaptImageSize : )
*实施旋转
*Image : ImageAffinTrans分别为输入输出图像
*HomMat2D是赋值后的旋转矩阵。注意:是赋值后的
*Interpolation是内插方式,默认为'constant'
*AdaptImageSize是bool变量,判断输出图像的大小是否发生变化