好久沒有更新了,最近一直在研究新項目,形狀匹配,有點心得,所謂萬事開頭難,那就讓我們一起邁入第一步。第一步我們該干什么呢,拿到新項目,一點頭緒都沒有怎么辦,沒有關系,拿到項目我們一定知道我們要實現(xiàn)的結果是什么樣子,要得到什么成效,知道這些我們就分析過程,黑貓白貓能抓到老鼠的貓就是好貓。
項目分析
1、我們的目的就是根據(jù)模板,找到我們對應的產(chǎn)品
2、能準確的定位到
3、圖片相識度達到多少是合格的
4、........
話不多說,直接上代碼
代碼:建模
*第一步:呈現(xiàn)圖像
*關閉窗口
dev_close_window()
*打開窗口
dev_open_window(0,0,800,600,'black',windom)
dev_set_color('red')
*讀圖像
read_image(image,'D:/研發(fā)新項目/halcon算子/3')
*灰度化
rgb1_to_gray(image,grayimage)
*填充區(qū)域margin找輪廓
dev_set_draw ('margin')
*第二步:找你要的區(qū)域
*用鼠標畫需要的區(qū)域
draw_rectangle1(windom,row1,column1,row2,column2)
*顯示你畫的區(qū)域
gen_rectangle1(rectangle,row1,column1,row2,column2)
*減少其他區(qū)域,顯示你畫的roi區(qū)域
reduce_domain(grayimage,rectangle,imagereduced)
dev_display(imagereduced)
*第三步:找出你想要圖像的輪廓
*二值化閾值
threshold (imagereduced, Regions, 2, 76)
*連通域的合并
connection(Regions,connecteRegions)
*特征選澤
select_shape (connecteRegions, SelectedRegions, 'area', 'and', 500, 99633)
*減少其他區(qū)域,顯示你畫的roi區(qū)域
reduce_domain(imagereduced,SelectedRegions,imagereduced1)
*第三步:創(chuàng)建模板
*創(chuàng)建形狀模型的表示。
inspect_shape_model(imagereduced1,ModelImages,ModelRegions,5,30)
*創(chuàng)建模板,準備匹配的形狀模型。
create_shape_model(imagereduced1, 'auto',rad(-45),rad(90), 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
*生成模板文件
write_shape_model(ModelID,'D:/研發(fā)新項目/halcon算子/模板文件/2.shm')
運行結果如下:

image.png
這是我們建模的模板的樣子,那我們要怎么找呢,請看halcon第八講,形狀匹配之查找!?。。?!