基于灰度的模板匹配(标准)

原图

基于灰度的模板匹配(标准)_第1张图片

 创建模板

基于灰度的模板匹配(标准)_第2张图片

在加了噪声的图中识别

基于灰度的模板匹配(标准)_第3张图片

代码:

dev_close_window ()
dev_open_window (0, 0, 599, 464, 'black', WindowID)
read_image (Image, 'pumpe')
dev_set_draw ('margin')
*创建一个齐次二维转换矩阵
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_translate (HomMat2DIdentity, 64, 64, HomMat2DTranslate)
hom_mat2d_rotate (HomMat2DTranslate, 0.05, 265, 265, HomMat2DRotate)
affine_trans_image (Image, ImageAffinTrans, HomMat2DRotate, 'constant', 'false')
add_noise_white (ImageAffinTrans, ImageNoise, 30)
dev_display (Image)
* draw_rectangle1 (WindowID, Row1, Column1, Row2, Column2)
Row1 := 64
Column1 := 142
Row2 := 128
Column2 := 193
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
reduce_domain (Image, Rectangle, ImageReduced)
create_template (ImageReduced, 5, 4, 'sort', 'original', TemplateID)
dev_display (Rectangle)
stop ()
adapt_template (ImageNoise, TemplateID)
* fast_match (ImageNoise, Matches, 10, TemplateID)
* best_match (ImageNoise, 10, 'false', TemplateID, Row, Column, Error)
* fast_match_mg (ImageNoise, Matches, TemplateID, 15, 2)
* * disp_circle (Row, Column, 4)
best_match_mg (ImageNoise, TemplateID, 35, 'false', 4, 'all', Row_, Column_, Error_)
* * disp_circle (Row, Column, 4)
dev_clear_window ()
dev_display (ImageNoise)
disp_circle (WindowID, Row_, Column_, 4)
clear_template (TemplateID)

参考:https://blog.csdn.net/ABC13222880223/article/details/94426869

你可能感兴趣的:(Halcon)