好久没有更新了,最近一直在研究新项目,形状匹配,有点心得,所谓万事开头难,那就让我们一起迈入第一步。第一步我们该干什么呢,拿到新项目,一点头绪都没有怎么办,没有关系,拿到项目我们一定知道我们要实现的结果是什么样子,要得到什么成效,知道这些我们就分析过程,黑猫白猫能抓到老鼠的猫就是好猫。
项目分析
1、我们的目的就是根据模板,找到我们对应的产品
2、能准确的定位到
3、图片相识度达到多少是合格的
4、........
话不多说,直接上代码
代码:建模
*第一步:呈现图像
*关闭窗口
dev_close_window()
*打开窗口
dev_open_window(0,0,800,600,'black',windom)
dev_set_color('red')
*读图像
read_image(image,'D:/研发新项目/halcon算子/3')
*灰度化
rgb1_to_gray(image,grayimage)
*填充区域margin找轮廓
dev_set_draw ('margin')
*第二步:找你要的区域
*用鼠标画需要的区域
draw_rectangle1(windom,row1,column1,row2,column2)
*显示你画的区域
gen_rectangle1(rectangle,row1,column1,row2,column2)
*减少其他区域,显示你画的roi区域
reduce_domain(grayimage,rectangle,imagereduced)
dev_display(imagereduced)
*第三步:找出你想要图像的轮廓
*二值化阈值
threshold (imagereduced, Regions, 2, 76)
*连通域的合并
connection(Regions,connecteRegions)
*特征选泽
select_shape (connecteRegions, SelectedRegions, 'area', 'and', 500, 99633)
*减少其他区域,显示你画的roi区域
reduce_domain(imagereduced,SelectedRegions,imagereduced1)
*第三步:创建模板
*创建形状模型的表示。
inspect_shape_model(imagereduced1,ModelImages,ModelRegions,5,30)
*创建模板,准备匹配的形状模型。
create_shape_model(imagereduced1, 'auto',rad(-45),rad(90), 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
*生成模板文件
write_shape_model(ModelID,'D:/研发新项目/halcon算子/模板文件/2.shm')
运行结果如下:
这是我们建模的模板的样子,那我们要怎么找呢,请看halcon第八讲,形状匹配之查找!!!!!