用几何定位实现平移

本文介绍使用Halcon进行模板匹配的过程,包括模板创建、轮廓获取、模板定位及ROI区域平移对齐等步骤,并展示了如何在不同图像间进行精确匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >





*******图像不变,平移ROI




dev_set_draw('margin')
**读取图像(模板图像)
read_image(Image,'D:/halcon学习/image/模组/模组/1.bmp')
**产生检测ROI
gen_rectangle1(Rectangle,848,237,1001,941)
**产生模板区域
gen_circle(Circle,544,564,241)
**减少定义域
reduce_domain(Image, Circle, ImageReduced)
**创建模板。平移变换,把角度设置为0
create_shape_model (ImageReduced, 'auto', 0, 0, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
**获取模板轮廓
get_shape_model_contours(ModelContours, ModelID, 1)




****读取另外一副图像(实时图像)
read_image(Image2,'D:/halcon学习/image/模组/模组/2.bmp')
****几何定位
find_shape_model (Image2, ModelID, 0, 0, 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score)
***判断是否定位到。如果定位到,进入if
if(|Score|>0)
    **显示模板轮廓
    dev_display_shape_matching_results(ModelID, 'red', Row, Column, Angle, 1, 1, 0)
    
    ***求模板区域中心
    area_center(Circle, Area, Row2, Column2)
    ***计算仿射变换:从模板图像变换到实时图像。平移变换,目的角度设为0
    vector_angle_to_rigid(Row2,Column2,0,Row,Column,Angle,HomMat2D)
    **对齐检测ROI到实时图像
    affine_trans_region(Rectangle,RegionAffineTrans, HomMat2D, 'false')
    
    
    
    ***显示图像
    dev_display(Image2)
    ***计算仿射变换:从实时图像变换到模板图像
    vector_angle_to_rigid(Row,Column,0,Row2,Column2,0,HomMat2D)
    **把实时图像变换到模板图像
    affine_trans_image(Image2,ImageAffinTrans1,HomMat2D, 'constant', 'false')
    *****显示检测ROI
    dev_display(Rectangle)
    
    
    
    
endif
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值