Halcon自學筆記1

最近在搞機器視覺的工作,我發現和我想象的不是很一樣啊。。。。從零開始學halcon的開發,感覺halcon的開發相對於opencv真的很簡單,快趕上可視化界面編程了,不過後期肯定還是要和C++,C#之類進行聯合開發的,這個用到再說吧。

之所以說halcon簡單基於它強大的封裝,大量的功能算子可以直接使用,而且使用界面也及其簡化,下面用一個示例介紹一下。

我們要做的就是把上面這個圖中的回形針分割並數清楚數量,當然,用opencv很快也可以做出來,濾波-閾值化-輪廓檢測,然後就可以得到數量了,但是用halcon會簡單的完成這個功能。

最後得到的效果是這個樣子的,識別並顯示了數量。

read_image (Image, 'C:/Users/41608/Pictures/005AFwmPzy6Kgy9XlFQee&690.jpg')
get_image_size(Image,Witdh,Height)
dev_open_window (0, 0, Witdh/2, Height/2, 'black', WindowHandle)
dev_display(Image)
gauss_filter (Image, ImageGauss, 5)
threshold(ImageGauss,Region, 0, 128)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area_holes', 'and', 150, 99999)
count_obj (SelectedRegions, Number)
set_display_font(WindowHandle, 14, 'mono', 'true', 'false')
dev_set_color('green')
dev_set_line_width(3)
dev_set_draw('margin')
disp_message (WindowHandle, Number, 'window', 12, 12, 'black', 'true')
dev_display(ConnectedRegions)

僅僅幾行就可以完成功能,每當你使用一個算子的時候,只需要在算子窗口點擊需要的算子,就會出下如下函數參數選擇,直接就可以選擇函數內的參數,並帶有少量解析,非常方便。

但是halcon的教程並沒有opencv那麼多,還需要自己多研究,某些沒有封裝的功能還得使用opencv去完成,慢慢琢磨吧。。。。蛋疼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章