摘要:由於紅外圖像預處理算法自身的複雜性,使得紅外圖像在DSP中的預處理時間較長。針對這一問題,提出一種基於FPGA的實時紅外圖像預處理方法。該方法採用了流水線技術來並行完成非均勻校正、空間濾波、直方圖統計等多個紅外圖像預處理算法,對系統結構進行了改進和優化。經過實驗測試驗證,該方法合理可行,能夠實時高效地完成紅外圖像預處理任務。與DSP圖像預處理系統相比可以節約將近50%的處理時間。
關鍵詞:FPGA;紅外圖像預處理;非均勻校正;空間濾波;直方圖統計
0 引言
在紅外圖像系統設計中,多採用高速DSP+FPGA的方式對紅外圖像進行處理。在早期的設計中,DSP承擔了大部分的圖像處理工作,FPGA只做一些邏輯解碼和簡單運算的功能。但DSP運算是相當耗時的,當在圖像較大、實時性要求較高的場合,用DSP進行處理就有相當的難度了。隨著工藝的發展,FPGA片內邏輯資源和處理速度的提高,將一部分圖像處理算法移植到FPGA中,可採用流水的處理方式,只佔用很少的處理時間,能夠大大降低系統對於DSP的負擔。
本文介紹一種紅外圖像預處理的方法,將圖像非均勻校正、空間濾波、直方圖統計算法移植到FPGA中實現,DSP只完成控制和簡單判斷的功能,有效的提高了系統的實時性。
1 總體設計
結合FPGA和DSP處理算法的各自特點,本方法中將非均勻校正、空間濾波、直方圖統計等功能在FPGA中實現。
首先,紅外圖像數據以像素為單位按照流水的方式進入到非均勻校正模塊中進行紅外圖像的非均勻校正;之後,校正後的圖像進入到空間濾波模塊中進行空間濾波處理;空間濾波後的圖像數據,被送到直方圖統計模塊進行處理,同時濾波後的圖像數據也被存儲在FPGA內部雙口RAM中;接下來,直方圖統計結果也將被存儲在FPAG內部雙口RAM中。最終,圖像預處理後的紅外圖像數據及直方圖統計結果分別存儲在FP GA內部雙口RAM的不同區域中。DSP按照預先設定的時序將預處理結果從FPGA內部雙口RAM中讀取出來,並進行後續處理工作。
同時DSP通過控制指令對整個預處理流程進行控制。
總體設計如圖1所示。
Gij和Oij分別是二點校正法的增益校正係數和偏置校正係數,yij為校正後的輸出。二點校正法是利用焦平面各陣列元在溫度不同的兩個均勻輻射的黑體(高溫TH和低溫TL)下的響應輸出計算出Gij和Oij,從而實現非均勻性校正。
首先將預先計算好的係數Gij和Oij存入FLASH中,系統上電後先將係數搬移到外部的SRAM中,再通過FPGA讀取,完成非均勻校正的乘加功能。
FPGA算法結構如圖2所示。
為了在20MHz時鐘的一個周期內能夠處理完一個像素的非均勻校正算法,以保證能夠流暢的進行,將數據同步時鐘clk_20M通過DCM時鐘管理器,倍頻到60 MHz,以60 MHz時鐘進行乘加、緩存,以達到實時處理的目的,省去了對原始圖像的緩存。
1.2 空間濾波模塊設計
在圖像生成和採集的過程中,會疊加各種各樣的噪聲,這些噪聲會使圖像質量變差,必須對圖像信號進行預處理,抑制背景噪聲,增加目標強度,從而提高圖像的信噪比,為後續處理奠定基礎。在本方法中,採用均值濾波的方式,FPGA算法結構如圖3所示。
濾波器相關文章:濾波器原理
fpga相關文章:fpga是什麼
濾波器相關文章:濾波器原理
電源濾波器相關文章:電源濾波器原理
數字濾波器相關文章:數字濾波器原理