3.1 走進HALCON
HALCON源自學術界,是一套Image Processing Library,由一千多個各自獨立的函數,以及底層的數據管理核心構成。函數包含各種功能,下面介紹HALCON中常用的幾種應用功能:
①圖像數據類型轉換。HALCON可快速轉換成Region/XLD類型進行處理。
②圖像的變換與校正。HALCON可對畸變的圖像進行變換與校正,方便后續處理。
③圖像的增強處理。圖像增強是通過一定手段對原圖像附加一些信息或變換數據,有選擇地突出圖像中感興趣的特征或者抑制(掩蓋)圖像中某些不需要的特征,HALCON中包括基于空域和基于頻域兩大類算法。
④BLOB分析。BLOB分析就是對前景/背景分離后的二值圖像,進行連通域提取和標記。HALCON中包括全局閾值分割、局部閾值分割、自動閾值分割以及其他的一些圖像分割算子。
⑤特征提取。在HALCON中可運用任意結構進行特征提取。
⑥形態學。HALCON可以使用任意結構對Region和Image進行腐蝕、膨脹、開/閉運算處理,以獲取想要的Region和Image。
⑦匹配。匹配功能包括基于點匹配、基于灰度值匹配、基于描述符匹配、基于相關性匹配、基于形狀匹配等。利用匹配技術可高效地進行檢測,即使目標發生旋轉、放縮、局部變形、部分遮擋或者光照有非線性變化,HALCON利用XLD匹配技術也可實時、有效、準確地找到目標。
⑧標定。HALCON中的標定功能可以建立二維圖像的點與三維空間中的點的對應關系,將相機與現實世界進行聯系。
⑨雙目立體視覺(三維立體視覺匹配)。
⑩測量。HALCON提供有1D測量、2D測量和3D測量。
正是由于其龐大的功能體系,應用范圍幾乎沒有限制,涵蓋半導體業、遙感探測包裝行業、監控玻璃生產與加工、鋼鐵與金屬業等,換句話說,只要用到圖像處理的地方,就可以用HALCON強大的計算分析能力來完成工作。HALCON主要有以下四個優點:
①HALCON包含了一套交互式的程序設計界面HDevelop,該界面可直接撰寫、修改、執行程序,設計完成后,可直接導出C、C++、C#、VB等程序代碼,讓使用者能在最短的時間開發出視覺系統。此外,HDevelop擁有數百個范例程序,學習者可依據不同的類別找到相應的范例進行學習參考。
②HALCON可支持多種取像設備,原廠已提供了60余種相機的驅動鏈接,即使是尚未支持的相機,除了可以透過指標(Pointer)輕易地抓取影像,還可以利用HALCON開放性的架構,自行撰寫DLL文件和系統連接。另外對于相機各接口,在HALCON開發環境下提供了許多助手工具,可以方便開發人員進行快速仿真。
③設計人機接口時沒有特別限制,可以完全使用開發環境下的程序語言,例如Visual Studio、NET、Mono等,架構自己的接口,并且在執行作業的機器上,只需要很小的資源套件。
④HALCON可支持多種操作系統,如Windows、Linux等。當開發出一套系統后,可以根據需求任意轉換平臺。