Halcon视觉实战例程之基于灰度的模板匹配

这段时间在家学习了halcon相关例程,自己也做了一番尝试,把运行成功的代码放上来与大家分享。

该例程是基于灰度的模板匹配,适用于光照条件比较稳定的情况,模板图片和测试图片大家自行替换。

注意:两张图片的光照情况/灰度值需尽量接近。

*模板匹配基于灰度 2020/3/18

*前期准备
dev_update_off ()
dev_close_window ()

*读入图像
read_image (Image2, 'C:/硬币4.JPG')
dev_open_window_fit_image (Image2, 0, 0, -1, -1, WindowHandle)
dev_display (Image2)
dev_set_color ('red')
dev_set_line_width (2)
dev_set_draw ('margin')
stop()

*提取模板
gen_circle (ROI_0, 1776.94, 1494.7, 460.994)
reduce_domain (Image2, ROI_0, ImageReduced)

*创建模型
create_template_rot (ImageReduced, 4, -0.39, 0.79, 0.0982, 'sort', 'original', TemplateID)

*识别
read_image (Image1, 'C:/硬币5.JPG')
dev_open_window_fit_image (Image1, 0, 0, -1, -1, WindowHandle1)
dev_display (Image1)
count_seconds (T1)
best_match_rot_mg (Image1, TemplateID, -0.39, 0.79, 40, 'false', 3, Row, Column, Angle, Error)
count_seconds (T2)
Time := 1000 * (T2 - T1)

*显示的半径需与模板半径接近
disp_circle (WindowHandle1, Row, Column,440)
disp_message (WindowHandle1, '成功识别', 'window', 12, 12, 'black', 'true')
disp_message (WindowHandle1, '圆心坐标分别为:'+Row+','+Column, 'window', 42, 12, 'black', 'true')
disp_message (WindowHandle1, '耗时'+Time+'ms', 'window', 72, 12, 'black', 'true')


*清除句柄
clear_template (TemplateID)

识别结果
在这里插入图片描述
若你对我的其它实战例程感兴趣,可移步我的分类专栏:Halcon视觉实战例程
专栏内文章链接:
Halcon视觉实战例程之汉字识别
Halcon视觉实战历程之基于形状的模板匹配
Halcon视觉实战例程之基于形状的模板匹配2(多对多)
欢迎关注,我会不定期更新。
PS.我公开的所有代码在我这里都可以成功运行,可以试试。

模板图片和测试图片如下
在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值