因操作圖像處理之前,需要對圖像進行采集。采集圖像,我們首先要確定的是圖像的像素和采集的效率。這些都需要對設備進行配置與操作。現實情況是圖像設備有各自不同的采集方式,配置也各不相同。這就需要設備提供商提供對應的開發工具包。這些工具包可能會遵循一定的標准。因此,在halcon中應用采集設備,可能需要按照指定的要注重寫應用程序。
Halcon提供了超過百種設備的動態庫,這些動態庫文件對應於windows系統為DLL庫文件及Uinx系統為Shared Libraries共享庫文件,其圖像采集接口覆蓋了常用的相機接口,比如:CameraLink,gige,1394,U3等等。Halcon的圖像采集接口橋接各個圖像采集設備和對應的動態(共享)庫,完全獨立於使用的圖像采集裝置,計算機平台和編程語言。換言之,他們滿足在同一操作平台下的不同封裝,其對應的特點為以下兩點:
1:提供標准化接口
2:封裝在特定的圖像采集設備以及幀接收器,與由設備制造商提供的SDK相互作用。
因此,當我們決定要切換到不同的采集設備,我們所需要的做的是在使用是調用Halcon操作函數並且設置不同的參數值提供相應的驅動程序和SDK,其他的則保持不變。
圖像采集的基本任務由兩個HALCON函數完成:
1:open_framegrabber:連接圖像采集設備並設置常規參數(如端口類型及名稱,型號等)
2:grab_image或grab_image_async:抓取圖像
如果需要圖像采集設備提供附加的功能,例如,修改圖像信號模式,或者數字輸出頻率等,可以通過set_framegrabber_param函數來進行修改,需要注意的是,對應一些圖像采集設備,並不是所有的功能都能夠正常使用。
Halcon如何連接到設備
有以下幾種做法:
1:打開與配置圖像采集設備並連接
open_framegrabber 函數幫助我們打開指定的圖像設備,通常在連接圖像過程中,我們需要對四個參數進行詳細的描述:
首先:需要選擇正確的采集接口,該參數實際上是指定圖像設備對應的接頭(Port),該參數是一個字符串的描述形式,當然我們也可以將其設置為數字(字符串形式)。
通常情況下,可以將采集設備連接到圖像采集卡不同端口,其數量可以根據端口的數量來選擇,通過選擇的端口來指定,參數cameraType介紹所連接的相機,對於模擬攝像機,這個參數通常指定使用的信號規范,例如,“NTSC”。對於工業相機,這個參數通常指定型號的相機;更復雜的采集接口,使用這個參數來選擇對應相機的配置文件。
open_framegrabber函數對應結果是返回一個設備句柄AcqHandle,我們需要通過這個句柄來打開連接,需要注意的是,如果你使用Halcon的COM或者C++接口函數,並通過相應的類調用操作,例如:HFramegrabber在C++中或者C#中,沒有返回的句柄,因為類本身的實例作為返回的句柄。
在實際操作中,可以通過Halcon的采集助手聯接到采集設備。只要調節部分參數即可。

