• <s id="yf2j4"></s>
    <tbody id="yf2j4"><p id="yf2j4"></p></tbody>
    <rp id="yf2j4"><ruby id="yf2j4"></ruby></rp>
  • <button id="yf2j4"><acronym id="yf2j4"></acronym></button>
  • <button id="yf2j4"><object id="yf2j4"></object></button>
      <progress id="yf2j4"><track id="yf2j4"></track></progress>
      <dd id="yf2j4"><noscript id="yf2j4"></noscript></dd>
        石鑫華視覺網| 東莞華視自動化科技有限公司|機器視覺論壇|淘寶店鋪

        石鑫華視覺網_機器視覺光源_光源控制器_工業相機_工業鏡頭_視覺系統方案_NI_LabVIEW_Vision_圖像處理教程_機器視覺論壇商城_東莞市華動智能科技有限公司

        當前位置: 首頁 > 圖像 >

        NI LabVIEW IMAQdx采集圖像

        時間:2012-07-21 13:55來源:www.sztcdj.cn 作者:石鑫華 點擊: 99999次
        NI LabVIEW平臺是一個很強大的圖型化編程平臺。NI也為LV平臺提供了許多的工具包,其中就包括機器視覺方面的
        NI LabVIEW平臺是一個很強大的圖型化編程平臺。NI也為LV平臺提供了許多的工具包,其中就包括機器視覺方面的Vision工具包。
        我們使用LabVIEW+Vision工具包編寫圖像處理軟件時,首先就需要采集圖像。LabVIEW進行圖像采集主要有兩種方法,一種是使用工業相機自帶的驅動程序,如LabVIEW的驅動、DLL動態鏈接庫等;另一種就是使用NI的IMAQ、IMAQdx驅動進行圖像采集。相機自帶的驅動我們這里不講解,因為各個相機廠商自帶的驅動也不一樣。我們這里講解一下使用NI IMAQdx驅動進行圖像采集。
        IMAQdx位置
        圖1、IMAQdx位置
        IMAQdx函數庫位于函數>視覺與運動>NI IMAQdx.
        在視覺與運動中,我們可以看到第一個位置還有一個IMAQ的函數庫。這個主要是由NI認證過了相機以及NI自己的圖像采集卡等使用的函數,都符合DCAM。這樣才能使用IMAQ。通常在C:\Users\Public\Documents\National Instruments\NI-IMAQ\Data中有支持的相機參數文件。
        而使用IMAQdx可以支持更多的相機,支持更多的相機屬性,而又不需要各個相機都保持統一的屬性格式。通常會在C:\Users\Public\Documents\National Instruments\NI-IMAQdx\Data下生成相應的相機屬性文件。
        下面來看一下IMAQdx函數面板。第一行的函數:
        第一個Snap為快拍,即為采集單幀;
        第二個configure Grab為配置抓取,即為配置連續采集;
        第三個為Grab為采集,其抓取一張圖像,并且可以使用WHILE連續抓取圖像;
        第四個為Sequence為序列,可以抓取多張圖像,得到圖像數組;
        第五個Low-Level為低級函數?梢哉J為是底層或基本函數,可以使用這些函數完成更靈活的圖像采集。IMAQdx面板中的非Low-Level函數基本都以Low-Level函數為藍本進行整理編寫。
        第二行的第一個Open為打開函數。即打開相機,獲得相機引用;
        第二個為屬性節點,使用相機引用,設置相機屬性;
        第三個Close為關閉相機,即銷毀相機引用,釋放相機資源。
        第三行的第一個Enumerate Cameras枚舉相機,即羅列出系統中所有NI支持的相機,并得到相機的所有基本信息;
        第二個函數Enumerate Attributes枚舉屬性,即羅列出相機的所有支持的屬性;
        第三個函數Enumerate Video Modes枚舉視頻模式,即羅列出相機支持的視頻模式,如500萬像素的相機支持2588*1940@13FPS,1280*960@30FPS,640*480@60FPS等。
        第四行第一個函數Discover Ethernet Cameras為發現以太網相機,即查找網絡上的相機。
        第二個函數Reset Ethernet Cameras Address為重置以太網相機地址。
        下面來看一個具體的采集例子,本例子中系統中共連接了4個AVT Guppy Pro 503B 1394B工業相機(500萬像素、CMOS、13FPS):
        IMAQdx圖像采集前面板
        圖2 IMAQdx圖像采集前面板
        IMAQdx采集圖像原代碼
        圖3 IMAQdx程序面板
        這個例子中,我們使用了枚舉相機、打開相機、屬性節點、配置抓取、抓取圖像、關閉相機等IMAQdx函數節點。其實,在大部分的項目應用中,我們也只需要這些函數。有些時候連第一個枚舉相機都不需要,在打開相機前面直接寫接口名如cam0、cam1等即可。本例子可以將上面的VI片段下載然后拖到LabVIEW  2011 SP1的程序面板中具體查看。
        當然修改相機屬性,可以使用屬性節點進行設置,也可以使用低級函數中的讀寫屬性節點:
        低級函數
        圖4 低級函數節點
        使用低級函數面板中的第三行的兩個函數,可以進行相機屬性的讀取、寫入?梢允褂肦ead Attributes讀取相機的所有屬性,然后修改后,再使用Write Attributes寫入屬性。使用這兩個函數,可以配合C:\Users\Public\Documents\National Instruments\NI-IMAQdx\Data下的相機屬性文件進行操作。
        (責任編輯:石鑫華)
        ------分隔線----------------------------
        石鑫華推薦