开启左侧

Halcon基于形状的模板匹配

[复制链接]
FF5 发表于 2023-2-25 16:53:17 | 显示全部楼层 |阅读模式
本帖最后由 FF5 于 2023-2-25 16:57 编辑

总体思路

1---获取匹配图像模板
2---创建匹配模板
3---连续读取图像进行匹配

测试图片在附件里面


dev_close_window ()
*读取模板图像
dev_clear_window ()
read_image (MImage, 'E:/资料/模板图像.jpg')
get_image_size (MImage, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (MImage)

*分割出模板
mean_image (MImage, ImageMean, 5, 5)
sobel_amp (ImageMean, EdgeAmplitude, 'sum_abs', 3)
threshold (EdgeAmplitude, Regions, 30, 255)
closing_circle (Regions, RegionClosing, 3.5)
opening_circle (RegionClosing, RegionOpening, 3.5)
connection (RegionOpening, ConnectedRegions)
select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)
fill_up (SelectedRegions, RegionFillUp)
reduce_domain (MImage, RegionFillUp, ImageReduced)

*创建形状模板
create_scaled_shape_model (ImageReduced, 4, rad(360), rad(360), 'auto', 0.3, 3, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)

*开始匹配
for I := 1 to 10 by 1
    read_image (Image, 'E:/资料/'+ I +'.jpg')
    find_shape_model (Image, ModelID, rad(-360), rad(360), 0.5, 1, 0.5, 'least_squares', 0, 0.5, Row, Column, Angle, Score)
    dev_display_shape_matching_results (ModelID, 'green', Row, Column, Angle, 1, 1, 0)
    wait_seconds (0.5)
endfor
clear_shape_model (ModelID)
stop ()   



模板图像.jpg

Image.rar

800.77 KB, 下载次数: 26

测试图片

实习生 发表于 2023-2-26 18:31:44 | 显示全部楼层
说实话没看懂
Yanlf 发表于 2023-2-28 07:48:01 | 显示全部楼层
不是一样是基于轮廓的匹配吗
 楼主| FF5 发表于 2023-2-28 09:20:14 | 显示全部楼层

可以查看相应的算子帮助
nj720417 发表于 2023-3-2 10:49:57 | 显示全部楼层
Image下载后打不开
Hiopzz 发表于 2023-3-17 10:45:08 | 显示全部楼层
学习路上还很遥远
Ablett12138 发表于 2023-3-20 21:44:42 | 显示全部楼层
加油加油
苏南浔啊 发表于 昨天 11:38 | 显示全部楼层
谢谢楼主
苏南浔啊 发表于 昨天 13:11 | 显示全部楼层
nj720417 发表于 2023-3-2 10:49
Image下载后打不开

我也是一样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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