Section 10-Halcon實戰寶典之HALCON概述與開發流程
Halcon是一款全功能的機器視覺軟體包,以最新的計算機圖像處理和計算機視覺技術為基礎,提供原型化的集成開發環境。其中包含了各類濾波,色彩,數學轉換,形態學計算分析,校正,分類辨識,形狀搜尋等等基本的幾何以及影像計算功能,應用範圍涵蓋醫學,遙感探測,監控,工業上的各類自動化檢測。
Halcon優勢
超大處理庫,包含超過2000個運算元,可滿足各種級別的圖像處理。
?支持的編程語言包括C、C++、C#和Visual Basic .NET,Windows,Linux,macOS,UNIX。
?使用SSE2、AVX、AVX2、NEON指令集和自動GPU加速實現高性能。
?支持流行的工業攝像機和圖像採集卡,支持GenICam、GigE Vision、IIDC 1394、USB、USB3 Vision和Camera Link等標準。
Halcon框架
HALCON功能
隨著MVTec公司與學術界的不斷合作,在最新推出的HALCON17中具有以下新功能:一種叫progressedition進化版,另外一直就是steadyedition穩定版。感覺與較前一個版本Halcon13變化不大,多了一些深度學習功能!
一、深入學習
隨著17.12的發布,用戶將能夠訓練自己用的細胞神經分類器(卷積神經網路Convolutional Neural Networks簡稱CNN),訓練後的CNN能夠被用於新的數據分類。
1.1訓練CNN
在Halcon中通過提供足夠做標記的訓練圖像來訓練一個CNN,例如,為了區分顯示劃痕或污染的樣品和良好的樣品,必須提供所有三類的培訓圖像:顯示劃痕的圖像必須標明「劃痕」,顯示某種污染的圖像必須帶有「污染」的標籤,而顯示一個好樣品的圖像必須在「OK」類別中
1.2使用訓練的網路
一旦網路學會區分給定的類,例如,判斷圖像是否顯示了劃痕、污染或良好的樣本,網路就可以投入工作。這意味著,用戶可以將新創建的CNN分類器應用於新的圖像數據,然後將分類器與訓練中學習的類匹配。
二、檢測鏡面反射
檢查鏡面反射表面會帶來特殊的挑戰,因為觀察者看不到表面本身,而只看到環境的鏡像。這對大多數的表面檢測方法,如三角測量或陰影的形狀帶來了嚴重的問題,因為這些通常依賴於漫反射。HALCON 17包括新的操作指令,這使用戶能夠檢查鏡和部分反射表面採用偏轉原理檢測缺陷。
三、自動文本閱讀器
HALCON 17功能改進的自動文本閱讀器版本,使得檢測和分離粘連字元的演算法更強勁。
四、多個三維點雲的表面融合
HALCON現在提供了一個新的方法,將多個三維點雲到一個密封表面。這種新方法可以將各種3D感測器的數據組合起來,甚至可以從立體相機、飛行相機時間和條紋投影等不同類型的數據中組合,這項技術特別適用於逆向工程。
五、hdevengine改進
HALCON 17中的新HDevelop庫導出,調用任何其他C++函數類似從C++程序調用HDevelop一樣容易和直觀。新圖像處理庫的導出也支持Cmake的項目,可以為許多流行的IDE項目配置工程,如Visual Studio。
Halcon開發程序的流程:
1、利用HDevelop檢視分析影像,建立計算雛形,最後完成視覺計算方法的發展。程序可以分成不同的子程序。主程序用於呼叫其它子程序,傳遞影像或是接收顯示結果。最後,程序輸出成我們要用的程序代碼,接續下一步工作。
2、完整的程序發展是在程序設計環境中進行,如Microsoft Visual Studio。由HDevelop導出的程序代碼,透過指令加入程序中,接下來,compiled and linked,產生應用程序。