基于FPGA的多DSP紅外實(shí)時(shí)圖像處理系統(tǒng)設(shè)計(jì)
2 系統(tǒng)工作流程及軟件設(shè)計(jì)
系統(tǒng)上電后,DSP1從與其連接的FLASH芯片中讀出非均勻性校正算法所需的系數(shù),傳送給FPGA,FPGA對(duì)圖像進(jìn)行校正,校正結(jié)果寫(xiě)入四端口RAM,圖像拉伸顯示模塊和數(shù)字圖像記錄模塊。3個(gè)DSP可以從四端口RAM中讀取圖像信息,并行進(jìn)行圖像處理工作。
2.1 非均勻性較正算法設(shè)計(jì)
非均勻性是指凝視成像探測(cè)器在外界同一均勻光學(xué)場(chǎng)輸入時(shí)各單元輸出的不一致性。焦平面陣列探測(cè)器的非均勻性高達(dá)10%~30%,因此焦平面探測(cè)器在使用時(shí)必須進(jìn)行非均勻性校正。非均勻性校正算法中,兩點(diǎn)校正算法是最常用的算法,該算法的計(jì)算量非常小,校正一個(gè)點(diǎn)只需1次加運(yùn)算和1次乘運(yùn)算,有利用系統(tǒng)實(shí)時(shí)實(shí)現(xiàn)。
兩點(diǎn)校正公式為:V’=GV+O。其中,V為探測(cè)器單元的實(shí)際輸出值,V’為校正后的值,G為校正增益,O為校正偏移量值。G和O利用測(cè)量?jī)蓚€(gè)不同溫度點(diǎn)的探測(cè)器響應(yīng)計(jì)算得出,預(yù)先存入FLASH芯片中。系統(tǒng)正常工作時(shí),DSP將系數(shù)從FLASH芯片中讀出非均勻性校正算法所需的系數(shù),用乒乓方式寫(xiě)入四端口RAM中。每寫(xiě)完1塊數(shù)據(jù)區(qū)后利用四端口RAM的中斷信號(hào)通知FPGA將系數(shù)讀走,F(xiàn)PGA將得到的系數(shù)依次存入SDRAM中。系數(shù)傳送完畢后,F(xiàn)PGA開(kāi)始接收探測(cè)器數(shù)字圖像信息,同時(shí)將校正系數(shù)讀出,對(duì)原始紅外圖像進(jìn)行乘加運(yùn)算。工作流程見(jiàn)圖3
2.2 圖像拉伸算法設(shè)計(jì)
圖像拉伸采用自適應(yīng)直方圖增強(qiáng)算法,表示為如下的映射關(guān)系:
式中:yk為增強(qiáng)后圖像的灰度值;Xmax和Xmin為原圖像中像素最大值和最小值;Xk為原圖像的灰度值;a為亮度補(bǔ)償系數(shù),取值為0~1之間,當(dāng)取0時(shí),即是通常的拉伸算法。
考慮到紅外圖像中可能存在盲元和噪聲,Xmax和Xmin不宜取原圖像中最大最小值。采用分位數(shù)法來(lái)取圖像中的最大值和最小值可以把盲元和噪聲的影響降到最低,分位數(shù)根據(jù)盲元和噪聲情況具體確定,一般可取5 %。
圖4給出了直方圖增強(qiáng)算法的FPGA系統(tǒng)框圖,A/D轉(zhuǎn)換后的14 b數(shù)據(jù)流進(jìn)入直方圖統(tǒng)計(jì)模塊計(jì)算每一像素點(diǎn)的直方圖,根據(jù)設(shè)定好的分位數(shù)計(jì)算圖像中像素的最大值和最小值。在每一幀有效數(shù)據(jù)結(jié)束后,根據(jù)直方圖統(tǒng)計(jì)得到的最大值和最小值,計(jì)算灰度映射的除法,這樣每幀只需計(jì)算1次除法,而不用對(duì)每一像素進(jìn)行除法計(jì)算。之后對(duì)得到的因子對(duì)每一像素進(jìn)行乘法及移位計(jì)算即可得到直方圖增強(qiáng)算法處理后的圖像數(shù)據(jù)。增強(qiáng)后的圖像數(shù)據(jù)通過(guò)DAC控制模塊送入電視顯示。
3 結(jié)語(yǔ)
針對(duì)紅外試試圖像處理系統(tǒng)構(gòu)建的FPGA+多DSP的硬件平臺(tái),利用FPGA進(jìn)行調(diào)度和時(shí)序控制,有效的使3個(gè)處理器并行工作,大大提高了系統(tǒng)處理能力。研究并實(shí)現(xiàn)了從紅外探測(cè)器數(shù)據(jù)采集到圖像校正、圖像處理,以及圖像顯示的整個(gè)流程。系統(tǒng)已應(yīng)用于工程實(shí)踐中,對(duì)于空間質(zhì)量要求苛刻的高性能處理系統(tǒng)有一定的借鑒意義。
評(píng)論