【Halcon图像】形状模板匹配

        图像中,有些区域的形状特征比较明显。因此,可采用形状模板匹配的思路。

        在原始图像中,选择具有特殊形状的区域,生成模板。在目标图像中,搜索与模板相似的区域,找到目标,即可确定坐标位置。

        形状模板匹配,抗干扰能力强,即使图像部分模糊或部分遮挡,也能够稳定的匹配。

        算子:

        create_shape_model ()   创建形状特征模板

        find_shape_model ()   搜索形状特征模板

【Halcon图像】形状模板匹配_第1张图片

*关闭窗口
dev_close_window ()

*打开窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)

*读取图像
read_image (Image, 'printer_chip/printer_chip_01')

*画矩形区域
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)

*生成矩形区域
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)

*裁剪区域
reduce_domain (Image, Rectangle, ImageReduced)

*创建形状特征模板
create_shape_model (ImageReduced, 'auto', -0.39, 0.79, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)

*保存模板
write_shape_model (ModelID, 'My_Model.shm')



*********************************************************************************************************************************************************


*清理窗口
dev_clear_window ()

*读取图像
read_image (Image1, 'printer_chip/printer_chip_01')

*读取模板
read_shape_model ('My_Model.shm', ModelID)

*搜索形状特征模板
find_shape_model (Image1, ModelID, -0.39, 0.79, 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score)

*显示形状特征模板匹配结果
dev_display_shape_matching_results (ModelID, 'red', Row, Column, Angle, 1, 1, 0)

*显示中心点坐标
disp_message (WindowHandle, '坐标(R  ,C)=('+Row+'  ,'+Column+')', 'window', 50, 50, 'black', 'true')



【Halcon图像】形状模板匹配_第2张图片



你可能感兴趣的:(视觉,opencv,计算机视觉,图像处理)