資源描述:
《LabVIEW在實(shí)時(shí)圖像采集及處理系統(tǒng)中應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、LabVIEW在實(shí)時(shí)圖像采集及處理系統(tǒng)中應(yīng)用1.引言美國(guó)國(guó)家儀器(NI)公司的虛擬儀器開發(fā)平臺(tái)LabVIEW,使用圖形化編程語(yǔ)言編程,界面友好,簡(jiǎn)單易學(xué),配套的圖像處理軟件包能提供豐富的圖像處理與分析算法函數(shù),極大地方便了用戶,使構(gòu)建圖像處理與分析系統(tǒng)容易、靈活、程序移植性好,大大縮短了系統(tǒng)開發(fā)周期。在推出應(yīng)用軟件的基礎(chǔ)上,NI公司又推出了圖像采集卡,對(duì)于NI公司的圖像采集卡,可以直接使用采集卡自帶的驅(qū)動(dòng)以及LabVIEW中的DAQ庫(kù)直接對(duì)端口進(jìn)行操作。但由于NI公司的圖像采集卡成本很高,大多用戶難以接受,因此硬件平臺(tái)往往采用通用圖像采
2、集卡,軟件方面的圖像處理程序仍采用LabVIEW以及視頻處理模塊編寫。本文正是基于這樣的目的,提出了一種在LabVIEW環(huán)境下驅(qū)動(dòng)通用圖像采集卡的方案,在TDS642EVM高速DSP視頻處理板卡的平臺(tái)下,完成實(shí)時(shí)圖像采集及處理。在圖象處理的工作中主要完成對(duì)CCD光電探測(cè)器的輻射標(biāo)定。由于探測(cè)器在自然環(huán)境下獲取圖像時(shí),會(huì)受到來(lái)自大氣干擾,自身暗電流,熱噪聲等影響,使CCD像元所輸出信號(hào)的數(shù)值量化值與實(shí)際探測(cè)目標(biāo)輻射亮度之間存在差異,所以要得到目標(biāo)的精確圖像就必須對(duì)探測(cè)器進(jìn)行輻射標(biāo)定。2.圖像采集卡簡(jiǎn)介聞亭公司TDS642EVM(簡(jiǎn)稱642
3、)多路實(shí)時(shí)視頻處理板卡是基于DSPTMS320DM642芯片設(shè)計(jì)的評(píng)估開發(fā)板。計(jì)算能力可達(dá)到4Gips,板上的視頻接口和視頻編解碼芯片PhilipsSAA7115H相連,實(shí)現(xiàn)實(shí)時(shí)多路視頻圖像采集功能,支持多種PAL,NTSC和SECAM視頻標(biāo)準(zhǔn)。本系統(tǒng)通過(guò)642的PCI接口與主機(jī)進(jìn)行數(shù)據(jù)交換。PCI支持“即插即用(PnP)”自動(dòng)配置功能,使圖像采集板的配置變得更加方便,其一切資源需求的設(shè)置工作在系統(tǒng)初啟時(shí)交由BIOS處理,無(wú)需用戶進(jìn)行繁瑣的開關(guān)與跳線操作。PCI接口的海量數(shù)據(jù)吞吐,為其完成實(shí)時(shí)圖像采集和處理提供保證。3.系統(tǒng)組成及工作原
4、理圖1.圖像采集及實(shí)時(shí)處理系統(tǒng)框圖圖像采集的過(guò)程也就是圖像采集板卡對(duì)來(lái)自CCD的標(biāo)準(zhǔn)視頻信號(hào)(PAL制式)進(jìn)行模數(shù)轉(zhuǎn)換的過(guò)程,將量化后的數(shù)據(jù)通過(guò)PCI總線傳入計(jì)算機(jī)內(nèi)存,然后通過(guò)編制的應(yīng)用程序讀取顯示。如圖1所示,彩色CCD相機(jī)輸出的視頻模擬信號(hào)經(jīng)解碼器SAA7115轉(zhuǎn)換為數(shù)字信號(hào)并輸入到642芯片中,642將處理好的實(shí)時(shí)數(shù)字圖像信號(hào)輸出到編碼器,由編碼器將數(shù)字信號(hào)轉(zhuǎn)化為標(biāo)準(zhǔn)的PAL制式Y(jié)CbCr視頻信號(hào)輸出到LCD上,與此同時(shí),輸出的Y-Cb-Cr格式數(shù)字視頻信號(hào)經(jīng)過(guò)視頻端口的內(nèi)部FIFO緩沖后,由642通過(guò)EDMA將數(shù)據(jù)傳送到片外同
5、步動(dòng)態(tài)存儲(chǔ)器芯片SDRAM中,其中包括四組數(shù)據(jù),分別是Sem_標(biāo)志變量(8bit);Y:Cb:Cr(4:1:1)圖像信號(hào):Y(720*574*8bit)數(shù)組,Cb(360*287*8bit)數(shù)組,Cr(360*287*8bit)數(shù)組,分別存儲(chǔ)在SDRAM中的0x80003804,0x8102E000,0x81092E80,0x810AC280地址,以供應(yīng)用程序使用。視頻采集應(yīng)用程序由LabVIEW編制完成。在需要進(jìn)行圖像采集時(shí),LabVIEW發(fā)送讀取SDRAM中存儲(chǔ)的YCbCr格式圖像數(shù)據(jù)的請(qǐng)求,642獲得請(qǐng)求后,開始采集圖像并將采集到
6、的YCbCr數(shù)值存儲(chǔ)到相應(yīng)的內(nèi)存地址,在642完成整一幀的圖像采集之后,將SDRAM中的標(biāo)志變量Sem設(shè)定為0,LabVIEW在這個(gè)過(guò)程中循環(huán)讀取標(biāo)志變量的值,當(dāng)為0時(shí),則從SDRAM中獲得圖像數(shù)據(jù),也就是Y,Cb,Cr三個(gè)數(shù)組的數(shù)據(jù),然后將其轉(zhuǎn)化為L(zhǎng)abVIEW能夠顯示的標(biāo)準(zhǔn)RGB格式輸出該圖像。4.圖像采集及圖像處理4.1調(diào)用動(dòng)態(tài)鏈接庫(kù)驅(qū)動(dòng)圖像采集卡NI公司針對(duì)自己生產(chǎn)的圖像采集卡附帶有卡的驅(qū)動(dòng)和管理程序,對(duì)于普通的I/O卡,還不能直接被LabVIEW所應(yīng)用,必須采取其他方法。LabVIEW提供了4種調(diào)用外部程序代碼的途徑:端口直接
7、操作、調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)(CallLibraryFunctionNode即CLFN)調(diào)用DLL(DynamicLinkLibrary動(dòng)態(tài)連接庫(kù))、使用CIN(CodeInterfaceNode,外部代碼節(jié)點(diǎn)),調(diào)用ActiveX控件。其中端口直接操作,利用PortIn.Vi和PortOut.vi功能,此法應(yīng)用簡(jiǎn)單,但無(wú)法實(shí)現(xiàn)較復(fù)雜的接口功能。而采用動(dòng)態(tài)鏈接庫(kù),可以根據(jù)具體需要編寫適當(dāng)?shù)某绦?,靈活利用LabVIEW的各項(xiàng)功能。較其余三種具有明顯的優(yōu)勢(shì)。用戶可以調(diào)用Windows標(biāo)準(zhǔn)的動(dòng)態(tài)連接庫(kù)(DLL),也可以調(diào)用用戶自己編制的DLL,實(shí)現(xiàn)L
8、abVIEW與硬件的連接。建立一個(gè)DLL需要的文件有:①h函數(shù)聲明文件(可選,可包含在c源文件里);②c源文件(必需);③def模塊定義文件(如果是使用標(biāo)準(zhǔn)調(diào)用或函數(shù)輸出必需添加關(guān)鍵字__declspec(