Halcon视觉之家-51Halcon专注于机器视觉技术

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 439|回复: 2

[算子解析] 多模板例子分享

[复制链接]

该用户从未签到

1

主题

1

帖子

424

积分

Rank: 2Rank: 2

积分
424
发表于 2022-2-19 20:21:09 | 显示全部楼层 |阅读模式

51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

您需要 登录 才可以下载或查看,没有账号?会员注册

x
dev_close_window ()
read_image (Image, '../../Images/Demo.BMP')//读取图像
rgb1_to_gray (Image, Image)
get_image_size (Image, Width, Height)
dev_open_window_fit_image(Image, 0,0,Width,Height,WND)
dev_display (Image)

*-------------------------------------------------
dev_set_draw ('margin')//设置轮廓
dev_set_line_width (3)//设置线宽
ModelIds := []

NumLevels := 4   //金字塔层数'auto'
AngleStart := rad(-10)  //识别起始角度
AngleExten := rad(20)  //识别角度范围
AngleStep := 'auto'   //角度步长
Metric := 'ignore_global_polarity' //图像与模型是颠倒(反相)的,也能够被识别

*-------------------------------------------------
*模板1
dev_set_color ('red')
draw_rectangle1 (WND, Row11, Column11, Row12, Column12)
gen_rectangle1 (Rectangle1, Row11, Column11, Row12, Column12)
reduce_domain (Image, Rectangle1, ImageReduced1)//按区域缩小图像
*创建NCC匹配模型
create_ncc_model (ImageReduced1, NumLevels, AngleStart, AngleExten, AngleStep, Metric, ModelID)
ModelIds := [ModelIds,ModelID]

*-------------------------------------------------
*模板2
dev_set_color ('green')
draw_rectangle1 (WND, Row21, Column21, Row22, Column22)
gen_rectangle1 (Rectangle2, Row21, Column21, Row22, Column22)
reduce_domain (Image, Rectangle2, ImageReduced2)//按区域缩小图像
*创建NCC匹配模型
create_ncc_model (ImageReduced2, NumLevels, AngleStart, AngleExten, AngleStep, Metric, ModelID)
ModelIds := [ModelIds,ModelID]

*-------------------------------------------------
*模板3
dev_set_color ('green')
draw_rectangle1 (WND, Row31, Column31, Row32, Column32)
gen_rectangle1 (Rectangle3, Row31, Column31, Row32, Column32)
reduce_domain (Image, Rectangle3, ImageReduced3)//按区域缩小图像
*创建NCC匹配模型
create_ncc_model (ImageReduced3, NumLevels, AngleStart, AngleExten, AngleStep, Metric, ModelID)
ModelIds := [ModelIds,ModelID]

*-------------------------------------------------

MinScore := 0.6   //最小匹配值
NumMatches := 30    //[1,1,2]   //最多可识别的数量
MaxOverlap := 0  //遮盖系数
NumLevels := 4    //金字塔层数

tuple_length(ModelIds, lens)
for i := 0 to lens-1 by 1  
    set_ncc_model_param (ModelIds, 'timeout', 10000)//超时ms
endfor

*匹配图像目标
count_seconds (Seconds1)
find_ncc_models (Image, ModelIds, AngleStart, AngleExten, MinScore, NumMatches, MaxOverlap, 'true', NumLevels, Row, Column, Angle, Score, Model)
count_seconds (Seconds2)
*从点和角度方面计算一个严格的仿射变换

*-------------------------------------------------
dev_display (Image)//显示图像
if (Score =[])
    disp_message (WND, '查找失败,没有找出目标 ', 'image', 12, 12, 'black', 'true')
else
    dev_display (Image)//显示图像
    gen_cross_contour_xld (Cross, Row, Column, 16, Angle)
    disp_message (WND, '模版匹配值: '+ Score$'4.2f', 'image', 10, 12, 'red', 'true')
endif

disp_message (WND,  '共耗时: ' + 1000*(Seconds2-Seconds1)+'ms', 'image', 10, 200, 'blue', 'true')

stop()
dev_clear_window()
dev_display (Image)
  • TA的每日心情
    开心
    9 小时前
  • 签到天数: 113 天

    连续签到: 10 天

    [LV.6]常住居民II

    0

    主题

    66

    帖子

    346

    积分

    Rank: 2Rank: 2

    积分
    346

    切换助手验证会员

    发表于 2022-2-21 14:30:18 | 显示全部楼层
    谢谢分享。。。。。。。

    该用户从未签到

    0

    主题

    15

    帖子

    27

    积分

    Rank: 1

    积分
    27
    发表于 2022-6-2 20:40:08 | 显示全部楼层
    好像好牛的样子,有时间我也试下
    您需要登录后才可以回帖 登录 | 会员注册

    本版积分规则

    视觉培训招生

    建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用

    算子查询| 申请友链| 小黑屋| 手机版| Archiver| 邮件支持|

    © 2015-2021 51Halcon机器视觉  X3.4  粤ICP备15095995号 粤公网安备44030602000670号

    本站已安全运行:

    快速回复 返回顶部 返回列表