halcon学习笔记--仿射变换(hom_mat2d_scale,hom_mat2d_identity,hom_mat2d_rotate,affine_trans_region

1、reduce_domain(Image, Region : ImageReduced : : )

      在用reduce_domain这个算子时,一般会先对要保留的区域膨胀下 

                  dilation_circle (RegionClipped, RegionDilation, 2.5)
                   reduce_domain (Image, RegionDilation, ImageReduced)

2、图像处理轮廓时所处理的轮廓必须位于图中,否则轮廓转区域,不在图中的那一部分轮廓不能转为区域(第15天,34课)

3、get_shape_model_contours(第15天,34课)

      该算子得到的模板轮廓位置位于(0,0),注意仿射变换时模板位置的设置设为(0,0)

4、hom_mat2d_scale (HomMat2DRotate, 0.5, 0.5, 256, 256, HomMat2DScale)

      hom_mat2d_scale算子既可以缩放也可以放大,看sx和sy所设置的值,如果大于1则为扩大,如果小于1则为缩放

dev_close_window ()
dev_open_window (0, 0, 812, 812, 'white', WindowID)
dev_set_color ('black')
* Draw with the mouse an arbitrary region into the window
draw_region (Region, WindowID)
*创建一个齐次二维转换矩阵
hom_mat2d_identity (HomMat2DIdentity)
*将旋转添加到齐次二维转换矩阵中,绕点256,256旋转30度(正值为顺时针)
hom_mat2d_rotate (HomMat2DIdentity, 30, 256, 256, HomMat2DRotate)
*将缩放添加到齐次二维转换矩阵中,以点256,256为基点,扩大X轴0.5,Y轴扩大0.5倍
hom_mat2d_scale (HomMat2DRotate, 0.5, 0.5, 256, 256, HomMat2DScale)
*区域根据齐次二维转换矩阵中的参数要求进行仿射变换,坐标移动到256,256,以点(256,256为基点旋转30度)扩大0.5倍
affine_trans_region (Region, RegionAffineTrans, HomMat2DScale, 'nearest_neighbor')

dev_clear_window ()
dev_set_draw ('margin')
dev_set_color ('red')
dev_display (Region)
dev_set_color ('green')
dev_display (RegionAffineTrans)
dev_close_window ()
dev_open_window (0, 0, 812, 812, 'white', WindowID)
dev_set_color ('black')

      

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值