亚洲精华国产精华精华液网站,你懂的,娇生惯养4ph归寻(矜以),丰年经继拇中文3与其他教材比较

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 應用方案 > LabVIEW應用于實時圖像采集及處理系統

LabVIEW應用于實時圖像采集及處理系統

時間:2008-07-29 09:35:00來源:ronggang

導語:?本文在LabVIEW和NI-IMAQ Vision軟件平臺下,利用通用圖像采集卡開發一種圖像實時采集處理虛擬儀器系統
摘 要:本文在LabVIEW和NI-IMAQ Vision軟件平臺下,利用通用圖像采集卡開發一種圖像實時采集處理虛擬儀器系統。通過調用動態鏈接庫驅動通用圖像采集卡完成圖像采集,采集圖像的幀速率達到25幀每秒。利用NI-IMAQ Vision視頻處理模塊,進行圖像處理,以完成光電探測器的標定。該系統具有靈活性強、可靠性高、性價比高等優點。 主題詞:虛擬儀器;圖像處理;LabVIEW;動態鏈接庫 1.引言   美國國家儀器(NI)公司的虛擬儀器開發平臺LabVIEW,使用圖形化編程語言編程,界面友好,簡單易學,配套的圖像處理軟件包能提供豐富的圖像處理與分析算法函數,極大地方便了用戶,使構建圖像處理與分析系統容易、靈活、程序移植性好,大大縮短了系統開發周期。在推出應用軟件的基礎上,NI公司又推出了圖像采集卡,對于NI公司的圖像采集卡,可以直接使用采集卡自帶的驅動以及LabVIEW中的DAQ庫直接對端口進行操作。   但由于NI公司的圖像采集卡成本很高,大多用戶難以接受,因此硬件平臺往往采用通用圖像采集卡,軟件方面的圖像處理程序仍采用LabVIEW以及視頻處理模塊編寫。本文正是基于這樣的目的,提出了一種在LabVIEW環境下驅動通用圖像采集卡的方案,在TDS642EVM高速DSP視頻處理板卡的平臺下,完成實時圖像采集及處理。   在圖象處理的工作中主要完成對CCD光電探測器的輻射標定。由于探測器在自然環境下獲取圖像時,會受到來自大氣干擾,自身暗電流,熱噪聲等影響,使CCD像元所輸出信號的數值量化值與實際探測目標輻射亮度之間存在差異,所以要得到目標的精確圖像就必須對探測器進行輻射標定。 2.圖像采集卡簡介   聞亭公司TDS642EVM(簡稱642)多路實時視頻處理板卡是基于DSP TMS320DM642芯片設計的評估開發板。計算能力可達到4Gips,板上的視頻接口和視頻編解碼芯片Philips SAA7115H相連,實現實時多路視頻圖像采集功能,支持多種PAL,NTSC和SECAM視頻標準。本系統通過642的PCI接口與主機進行數據交換。PCI支持“即插即用(PnP)”自動配置功能,使圖像采集板的配置變得更加方便,其一切資源需求的設置工作在系統初啟時交由BIOS處理, 無需用戶進行繁瑣的開關與跳線操作。PCI接口的海量數據吞吐,為其完成實時圖像采集和處理提供保證。 3.系統組成及工作原理 [align=center] 圖1. 圖像采集及實時處理系統框圖[/align]   圖像采集的過程也就是圖像采集板卡對來自CCD的標準視頻信號(PAL制式)進行模數轉換的過程,將量化后的數據通過PCI總線傳入計算機內存,然后通過編制的應用程序讀取顯示。   如圖1所示, 彩色CCD相機輸出的視頻模擬信號經解碼器SAA7115轉換為數字信號并輸入到642芯片中, 642將處理好的實時數字圖像信號輸出到編碼器, 由編碼器將數字信號轉化為標準的PAL制式YCbCr視頻信號輸出到LCD上, 與此同時, 輸出的Y-Cb-Cr格式數字視頻信號經過視頻端口的內部FIFO緩沖后,由642通過EDMA將數據傳送到片外同步動態存儲器芯片SDRAM中,其中包括四組數據,分別是Sem_標志變量(8bit);Y: Cb: Cr(4:1:1)圖像信號:Y(720*574*8bit)數組,Cb(360*287*8bit)數組,Cr(360*287*8bit)數組,分別存儲在SDRAM中的0x80003804,0x8102E000,0x81092E80,0x810AC280地址,以供應用程序使用。   視頻采集應用程序由LabVIEW編制完成。在需要進行圖像采集時,LabVIEW發送讀取SDRAM中存儲的YCbCr格式圖像數據的請求,642獲得請求后,開始采集圖像并將采集到的YCbCr數值存儲到相應的內存地址,在642完成整一幀的圖像采集之后,將SDRAM中的標志變量Sem設定為0,LabVIEW在這個過程中循環讀取標志變量的值,當為0時,則從SDRAM中獲得圖像數據,也就是Y, Cb, Cr三個數組的數據,然后將其轉化為LabVIEW能夠顯示的標準RGB格式輸出該圖像。 4.圖像采集及圖像處理   4.1調用動態鏈接庫驅動圖像采集卡   NI公司針對自己生產的圖像采集卡附帶有卡的驅動和管理程序,對于普通的I/O卡,還不能直接被LabVIEW所應用,必須采取其他方法。LabVIEW提供了4種調用外部程序代碼的途徑:端口直接操作、調用庫函數節點(Call Library Function Node即CLFN)調用DLL(Dynamic Link Library動態連接庫)、使用CIN(Code Interface Node,外部代碼節點),調用Active X控件。其中端口直接操作,利用PortIn.Vi和PortOut.vi功能,此法應用簡單,但無法實現較復雜的接口功能。而采用動態鏈接庫,可以根據具體需要編寫適當的程序,靈活利用LabVIEW的各項功能。較其余三種具有明顯的優勢。用戶可以調用Windows標準的動態連接庫(DLL),也可以調用用戶自己編制的DLL,實現LabVIEW與硬件的連接。   建立一個DLL需要的文件有:①h函數聲明文件(可選,可包含在c源文件里);②c源文件(必需);③def模塊定義文件(如果是使用標準調用或函數輸出必需添加關鍵字__declspec (dllexport) 函數名)。H文件的作用是聲明DLL要實現的函數原型,供DLL編譯使用,同時還提供應用程序編譯使用。C文件是實現具體文件的源文件,它有一個入口點函數,在DLL被初次調用的運行,做一些初始化工作。一般情況下,用戶無須做什么初始化工作,只需保留入口點函數框架即可。def文件是DLL項目中比較特殊的文件,它用來定義該DLL項目將輸出哪些函數,只有該文件列出的函數才能被應用函數調用。要輸出的函數名列在該文件EXPORTS關鍵字下面。   本系統在LabVIEW平臺下調用動態鏈接庫實現圖像數據的采集主要分為五步:1.初始化并打開設備(DM642圖像采集卡); 2.讀取標志信號位,看是否初始化為默認值3.寫入標志信號位,進行圖像數據采集;4.對SDRAM中所存儲的圖像數據進行讀取;5.關閉句柄并釋放端口資源。主要調用動態鏈接庫sd_pci64.dll的目標函數有PCI64_Open,PCI64_MemRead32和PCI64_Close,函數功能如下表所示:
  函數的具體參數如下:   ①PCI64_API INT32 PCI64_Open( int BoardNum, PCI64_HANDLE * pHndl );   BoardNum板口號(0-3),* pHndl 返回句柄的無符號指針,當返回值為0時,表示打開端口成功,非0時,表示失敗。   ②PCI64_API INT32 PCI64_MemRead32( PCI64_HANDLE Hndl, UINT32 Taddr, UINT32 Count , UINT32 * pData );   獲取由PCI64_Open傳遞的句柄指針,對目標地址存儲的數據進行讀取,需注意的是目標地址的尋址空間在4M之內,必須初始化一個所需目標數據大小的無符號32位數組空間。同樣返回值為0時,表示成功,非0表示失敗。   ③PCI64_API INT32 PCI64_Close( PCI64_HANDLE Hndl );   需要注意的是,在每次調用PCI64_MemRead32完成讀取后,都要將端口關閉,釋放地址空間。   具體的調用過程如下:首先在新建的VI的Block Diagram中,Function> Advanced子菜單中添加Call Library Function Node控件,然后對其進行配置,添加該節點后進行配置的對話框如下圖2所示: [align=center] 圖2調用CLFN配置框圖[/align]   分別對DLLs文件名稱及存放路徑,函數調用方式,需要調用的目標函數的名稱,參數個數,每個參數的類型,數據類型及返回值類型進行設置。設置完成后單擊“OK”返回LabVIEW 的設計面板(diagram)中。此時,Call Library Function已經根據剛才配置好的參數個數和類型設置好了輸人輸出端口,和其它的LabVIEW節點圖標一樣,只需要將其對應的參數連線即可。   程序調用sd_pci64.dll的目標函數PCI64_Open,PCI64_MemRead32和PCI64_Close完成對指定地址空間0x8102E000化為十進制2164449280,103320大小的數據讀取,最后將讀取的數據存儲在無符號32位pData數組里面。   在LabVIEW中利用CLFN節點可以較容易地實現訪問動態連接庫(DLL)。由于DLL是一個外部模塊,提高了程序的開發效率,而且在購買普通數據采集卡的時候,廠商一般會給用戶提供動態連接庫(DLL),所以研究在LabVIEW平臺下通過調用動態鏈接庫功能來驅動普通圖像采集卡實現圖像采集的方法,成為值得推廣的方法,具有重要意義。   4.2 CCD圖象標定   完成CCD圖像數據的標定,數字圖象處理是該標定過程的關鍵,NI公司提供的圖象處理模塊IMAQ Vision為LabVIEW平臺提供了完整的圖像處理函數庫,如各類邊緣檢測算子、自動閾值處理、各種形態學算法、濾波器、FFT等,該庫包含大量當前證明成功的理論算法,使用戶無需專業編程經驗,即可迅速開發完成優秀的、適合本專業的圖像處理與分析系統。   在本系統中,對CCD光電探測器相對輻射定標的步驟如下:分別在標準光源照射和普通定標環境下各采集10幅圖像,經過自動閾值處理和二值化,消除暗電流熱噪聲等因素的影響,取處理完得到的10幅圖像的均值作為主標準圖像和主參考圖像。對圖像上每個像素的灰度值,通過比對校正,完成CCD像元的不均勻響應校正,求出各自的標定系數,繪出灰度直方圖。具體程序的前面板如圖3所示: [align=center] 圖3 程序前面板[/align] 5.結論   本文使用TDS642EVM圖像采集卡在LabVIEW平臺上開發出一個穩定可靠、經濟靈活的實時圖像采集及處理系統。通過調用動態鏈接庫,驅動圖像采集卡完成圖像采集;利用NI-IMAQ Vision提供的強大的圖像處理功能通過實時圖像處理完成對CCD光電探測器的輻射標定。LabVIEW的開放性,高度的編程靈活性和良好的界面,使高級復雜的應用開發變得簡單;動態鏈接庫機制使LabVIEW在對通用圖像采集卡的支持上有了一個通用可行的途徑。   本文作者創新點:設計一種在LabVIEW平臺完成對普通圖像采集卡的實時圖像采集及光電探測器的輻射標定系統。 參考文獻:   [1] National Instruments, 《IMAQ Vision User‘s Manual》,1999   [2] K.R.Castleman,《數字圖像處理》,電子工業出版社,1998.9   [3] National Instruments, 《LabVIEW User‘s Manual》,2003   [4] 楊樂平,李海濤,等.LabVIEW高級程序設計【M】.北京:清華大學出版社,2003.   [5] 謝其德,張云云。 動態鏈接庫在LabVIEW中的高級應用 【J】.微計算機信息,2004,20(10):45-46   [6] 李天剛,黃考利,劉于端.基于VXI總線和虛擬儀器的專家測試系統【J】.微計算機信息 2005,2:129-130

標簽:

點贊

分享到:

上一篇:石灰回轉窯PLC控制系統

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 湘阴县| 双流县| 绥棱县| 慈利县| 乌兰浩特市| 葫芦岛市| 通化市| 纳雍县| 石嘴山市| 响水县| 商南县| 旌德县| 昭觉县| 广平县| 孟州市| 甘洛县| 台中县| 景东| 滦平县| 漳平市| 依兰县| 奈曼旗| 沈阳市| 花莲市| 沂源县| 新疆| 曲水县| 增城市| 库车县| 峨眉山市| 阳城县| 新兴县| 旬阳县| 工布江达县| 邻水| 寿光市| 垦利县| 青冈县| 固原市| 康定县| 郯城县|