halcon模板匹配

dev_update_window ('off')
dev_close_window ()
dev_open_window (0, 0, 728, 512, 'black', WindowID)
*制作模板
read_image (Image, 'C:/Users/admin/Desktop/图片/A ('+1+').tiff')
*draw_rectangle1 (WindowID, Row1, Column1, Row2, Column2)
*gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)

draw_circle (WindowID, Row, Column, Radius1)
*将绘制的模板区域生成矩形
gen_circle (Circle1, Row, Column, Radius1)
*提取出区域的图像,作为模板图像
reduce_domain (Image, Circle1, ImageReduced1)
*创建模板
create_shape_model (ImageReduced1, 'auto', 0, 20, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
*将创建的模板存成指定路径的文件
write_shape_model (ModelID, 'C:/Users/admin/Desktop/图片//modle1.shm')

   
*匹配 
 read_image (Image1, 'C:/Users/admin/Desktop/图片/A ('+2+').tiff')
*读取模板文件
read_shape_model ('C:/Users/admin/Desktop/图片//modle1.shm', ModelID1)
*在图像中查找模板,并返回模板的中心坐标
find_shape_model (Image1, ModelID1, 0, 40, 0.5, 1, 0.5, 'least_squares', 0, 0.8, Row1, Column1, Angle1, Score1)

for Index := 0 to |Row1|-1 by 1
    disp_cross (3600, Row1[Index], Column1[Index], 100,0)
    disp_message(3600, '得分:'+Score1[Index], 'image', Row1[Index], Column1[Index], 'black', 'false')
    disp_message(3600, '角度:'+Angle1[Index], 'image', Row1[Index]+100, Column1[Index], 'black', 'false')
endfor
*释放句柄
clear_shape_model (ModelID)
stop ()

find_shape_model(Image, //搜索图像
ModelID, //模板句柄
AngleStart, // 搜索时的起始角度
AngleExtent, //搜索时的角度范围,必须与创建模板时的有交集
MinScore, //最小匹配值,输出的匹配的得分Score 大于该值
NumMatches, //定义要输出的匹配的最大个数
MaxOverlap, //当找到的目标存在重叠时,且重叠大于该值时选择一个好的输出
SubPixel, //计算精度的设置,五种模式,多选2,3
NumLevels, //搜索时金字塔的层数
Greediness : //贪婪度,搜索启发式,一般都设为0.8,越高速度快,容易出现找不到的情况
Row,Column, Angle, Score) //输出匹配位置的行和列坐标、角度、得分。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值