halcon 仿射变换和区域跟随

仿射变换和区域跟随

1. 应用场景

  • 当感兴趣区域不容易被捕捉,但是又必须要定位它的位置的时候,可以先选择定位其他的特征区域。我们先找到特征区域,因为这个特征区域和感兴趣区域相对位置确定,我们就可以根据仿射变换矩阵找到感兴趣区域了。Mark点就是这样应用的。

2. 应用示例

在这里插入图片描述
在这里插入图片描述

dev_set_line_width (3)
dev_set_draw ('margin')

read_image (Image, '1.png')

gen_rectangle1 (ROI_0, 121.5, 226.5, 219.5, 382.5)
reduce_domain (Image, ROI_0, ImageReduced)
area_center (ROI_0, Area, Row, Column) //这里需要注意,是获取模板中心,而不是跟随区域的中心

gen_rectangle2 (FollowRegion, 278.5, 313.5, rad(-7.12502), 56.4358, 47.0092)

create_shape_model (ImageReduced, 'auto', rad(0), rad(360), 0.0349, 'auto', 'use_polarity', 30, 10, ModelID)
get_shape_model_contours (ModelContours, ModelID, 1)


stop()
*========================加载第二张图像==================
read_image (Image, '2.png')
find_shape_model (Image, ModelID, rad(0), rad(360), 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row1, Column1, Angle, Score)

if (|Row1|=1)
    *基于形状的模板匹配
    vector_angle_to_rigid (0, 0, 0, Row1, Column1, Angle, HomMat2D)
    affine_trans_contour_xld (ModelContours, ContoursAffinTrans, HomMat2D)
    
    *跟随区域仿射变换矩阵的计算
    vector_angle_to_rigid (Row, Column, 0, Row1, Column1, Angle, HomMat2D1)
    affine_trans_region (FollowRegion, RegionAffineTrans, HomMat2D1, 'nearest_neighbor')
endif
  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MechMaster

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值