halcon 旋转

 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是输入的旋转角度

*PxPy分别是输入的旋转中心x坐标值和y坐标值

*HomMat2DRotate是输出的旋转矩阵

 

affine_trans_image(Image : ImageAffinTrans : HomMat2D, Interpolation, AdaptImageSize : )

*实施旋转

*Image : ImageAffinTrans分别为输入输出图像

*HomMat2D是赋值后的旋转矩阵。注意:是赋值后的

*Interpolation是内插方式,默认为'constant' 

*AdaptImageSizebool变量,判断输出图像的大小是否发生变化

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Halcon中,有两种方法可以实现旋转区域。 第一种方法是使用Rotate_Image函数,该函数可以绕图像的中心点进行旋转。具体的代码如下所示: ``` /* ImageReduced3: 输入图像 ImageRotate: 输出图像 Phi: 旋转角度 */ rotate_image(ImageReduced3, ImageRotate, Phi, Interpolation) ``` 这种方法的优点是实现起来比较简单,但缺点是只能绕图像的中心点进行旋转。\[2\] 第二种方法是通过应用仿射变换矩阵进行旋转,这种方法可以实现绕任意位置进行旋转。具体的代码如下所示: ``` /* 创建仿射变换矩阵 */ hom_mat2d_identity(HomMat2D) /* 设定旋转矩阵参数 */ hom_mat2d_rotate(HomMat2D, Phi, Px, Py, HomMat2DRotate) /* 应用仿射变换矩阵进行旋转 */ affine_trans_region(Region, RegionAffineTrans, HomMat2DRotate, 'nearest_neighbor') ``` 这种方法的优点是可以绕任意位置进行旋转,但需要使用仿射变换矩阵来实现。\[3\] 所以,根据你的需求,你可以选择使用Rotate_Image函数进行简单的中心旋转,或者使用仿射变换矩阵进行任意位置的旋转。 #### 引用[.reference_title] - *1* [halcon的图像旋转(区域旋转)](https://blog.csdn.net/weixin_44490080/article/details/95587996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [halcon__仿射变换之旋转](https://blog.csdn.net/wanxiweilai/article/details/121378644)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值