图像中,有些区域的形状特征比较明显。因此,可采用形状模板匹配的思路。
在原始图像中,选择具有特殊形状的区域,生成模板。在目标图像中,搜索与模板相似的区域,找到目标,即可确定坐标位置。
形状模板匹配,抗干扰能力强,即使图像部分模糊或部分遮挡,也能够稳定的匹配。
算子:
create_shape_model () 创建形状特征模板
find_shape_model () 搜索形状特征模板
*关闭窗口
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')