例子程序源码
read_image (Image1, ‘'C:/Users/timg.jpg')
*(1)灰度值匹配
gen_rectangle1 (ROI_0, 28.6211, 641.883, 238.709, 885.633)
reduce_domain(Image1, ROI_0, ImageReduced)
create_template(ImageReduced, 5, 4, 'sort', 'original', TemplateID)
best_match(Image1,TemplateID, 20, 'false', Rownew, Columnnew, Error)
if(Error<255)
disp_rectangle1(3600,Rownew-20, Columnnew-20, Rownew+20, Columnnew+20)
endif
clear_template(TemplateID)
stop()
* (2)下面是带旋转的匹配
*旋转图像
rotate_image(Image1,ImageRotate, -25, 'constant')
*创建带有旋转的模板
create_template_rot(ImageReduced,1,-0.99,0.79,0.01,'sort', 'original', TemplateID1)
*带旋转的模板灰度最佳匹配
best_match_rot(ImageRotate,TemplateID1, -0.99, 0.79, 30, 'true', Row1, Column1, Angle, Error1) if(Error1<255)
gen_rectangle2(rect1,Row1, Column1, Angle, 20, 20)
endif
clear_template(TemplateID1)
stop()
*(3)金字塔图像
*生成金字塔图像
gen_gauss_pyramid(Image1,ImagePyramid,'constant',0.5)
*计算层数
count_obj(ImagePyramid, Number)
*每次选择一层
for index :=1 to Number-1 by 1
*选择金字塔层
select_obj(ImagePyramid,ObjectSelected, index)
*对应金字塔层的大小
get_image_size(ObjectSelected,Width, Height)
*显示金字塔图像
dev_display(ObjectSelected)
stop()
endfor
*(4)匹配金字塔图像,带旋转
*创建旋转的模板
create_template_rot(ImageReduced,4,-0.99,0.79,0.01,'sort', 'original', TemplateID2)
*带旋转模板使用金字塔灰度最佳匹配
best_match_rot(ImageRotate,TemplateID2, -0.99, 0.79, 40, 'true', Row2, Column2, Angle1, Error2)
*显示旋转图像
dev_display(ImageRotate)
if(Error2<255)
gen_rectangle2(rect2,Row2, Column2, Angle1, 12, 12)
endif
clear_template(TemplateID2)
stop()