新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > LabVIEW圖像采集相關(一)

        LabVIEW圖像采集相關(一)

        作者: 時間:2017-01-09 來源:網絡 收藏
        單次采集圖像時,常用Snap.vi來編程。,如果我們連續采集的話,就會想到如下的模式。
        ?snap

        但是上圖中的模式,采集圖像比較慢,因為Snap.vi都包含了初始化和關閉等環節,最快的情況下也得需要120ms。NI為了解決這種問題,添加了Grab.vi來實現連續采集。程序框圖如下:

        本文引用地址:http://www.104case.com/article/201701/337148.htm
        ?grab

        這種情況下一幀數據大約需要40ms。

        ?然而,在高速圖像采集的應用中,我們會發現上一種模式也會存在一定的問題,即當圖像采集速度非常高時,處理程序還來不及處理當前的圖像,圖像緩沖區里面的數據已經被新的圖像數據所覆蓋了。

        為了解決采集緩沖區不足的問題,我們可以增加圖像采集緩沖區。

        NI-IMAQ提供了兩種多緩沖區的方式,分別為Sequence和Ring。

        ?Sequene和Ring

        Sequence和Ring都是多緩沖區圖像采集方式,區別是Sequence是單次采集,而Ring是連續采集,類似Snap和Grab。

        ?Sequence.vi最最重要的參數是Imahes In,這是一個圖像數據緩沖區引用數組,里面包含了多個由Imaq Create.vi創建的圖像數據緩沖區的引用。只有知道了多個圖像數據緩沖區在哪里,IMAQ Sequence.vi才能完成多緩沖區的圖像采集。

        ?Sequnce應用:

        ?sequence應用

        Ring圖像采集方式(IMAQ的方式,IMAQdx還不太一樣):

        Ring圖像采集方式需要由三個VI來實現,分別是IMAQ Configure List.vi?、IMAQ Configure Buffer.vi和IMAQ Extract.vi。

        ?IMAQ Configure List.vi完成緩沖區列表的配置,告訴驅動程序緩沖區的數量,以連續還是單次的方式進行圖像采集以及緩沖區的位置。

        ?IMAQ Configure Buffer.vi把創建好的圖像緩沖區分配到緩沖區列表的對應位置。

        ?IMAQ Extract Buffer.vi把采集到的圖像從緩沖區中提取出來,為后續圖像處理做準備。

        如下圖所示(由于圖過長,僅截取關鍵代碼)?

        ?第一步,調用IMAQ Configure List.vi告訴驅動程序是以Continuous的方式進行圖像采集,緩沖區的位置在system—也就是開發引用程序的主機上。

        第二步,調用?IMAQ Configure Buffer.vi把創建好的圖像緩沖區關聯到緩沖區列表的對應位置上。

        ?第三步,調用IMAQ Start.vi開啟一個圖像采集的過程,需要注意的是,在調用IMAQ Start.vi前,必須調用IMAQ Configure List.vi和IMAQ Configure Buffer.vi來配置采集過程。

        第四步,調用?IMAQ Extract Buffer.vi從緩沖區中把圖像提取出來。

        第五步,把IMAQ Extract Buffer.vi的Buffer to Exact參數設置為-1?表示釋放當前被提取的緩沖區。IMAQ Extract Buffer.vi在提取圖像數據時會對當前被提取的緩沖區進行保護,所以當采集過程完成時,需要釋放當前被保護的緩沖區。

        Ring圖像采集方式實現的主要過程如上所述,其余步驟就是大家熟悉的初始化采集硬件、釋放圖像采集硬件和釋放緩沖區了。



        關鍵詞: LabVIEW圖像采

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 泸定县| 四川省| 特克斯县| 绩溪县| 富锦市| 万载县| 南安市| 南木林县| 儋州市| 洛浦县| 郎溪县| 察隅县| 南安市| 资阳市| 聂拉木县| 富裕县| 扎赉特旗| 平顶山市| 林周县| 筠连县| 浦北县| 江川县| 广水市| 巩留县| 新竹市| 黑河市| 霸州市| 玛纳斯县| 玉树县| 灵川县| 新巴尔虎左旗| 乡城县| 嘉荫县| 南郑县| 兴安县| 罗城| 鸡东县| 吉首市| 大埔区| 仙居县| 新和县|