新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 圖像自適應(yīng)分段線性拉伸算法的FPGA設(shè)計

圖像自適應(yīng)分段線性拉伸算法的FPGA設(shè)計

作者: 時間:2010-07-21 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://2s4d.com/article/191640.htm


2.2 硬件設(shè)計
通過以上設(shè)計思路的分析,設(shè)計主要包括灰度直方圖統(tǒng)計、除法和拉伸運算3部分。下面進行詳細介紹。
2.2.1 雙端口RAM
XC4VLXl5芯片具有豐富的BlockRAM資源,用它構(gòu)成雙端口RAM,進行灰度直方圖統(tǒng)計。像素的灰度值作為雙端口RAM的地址,對應(yīng)空間存儲此灰度值在1幀圖像里的頻數(shù)。以320×256幀大小、灰度值為14 b的紅外圖像為例,在每個像素灰度值都相同的極限情況下,每個地址空間需要的存儲的值為81 920,轉(zhuǎn)換為二進制有17 b,故所需存儲空間大小為17 b×214。對雙端口RAM的操作分為三個階段:
(1)在幀正程時,只需對A端口進行讀/寫操作。根據(jù)接收到的像素灰度值,先讀出RAM中對應(yīng)地址空間的儲值,加“1”后回寫入原來的地址空間,這樣在每幀正程結(jié)束時,就統(tǒng)計完了每個灰度值出現(xiàn)的頻數(shù),即完成了灰度直方圖統(tǒng)計。
(2)幀逆程時,要同時對A,B端口進行讀操作。對于A端口,依次從高地址讀取RAM中的數(shù),將讀取的數(shù)進行累加,當(dāng)和大于幀像素個數(shù)的5%時,此時對應(yīng)的地址值即為Xmax;類似地對B端口操作,從0地址開始讀RAM,可找到Xmin。將得到的灰度值Xmin和Xmax存入寄存器,作為除法器和下一幀圖像拉伸運算的輸入。
(3)每幀最后將雙端口RAM清零,為下一幀灰度直方圖統(tǒng)計做準(zhǔn)備。由于雙端口RAM沒有整體清零功能,設(shè)計中采用從“O”地址開始。依次往高地址寫零的方式清零。
2.2.2 除法器
除法運算通過調(diào)用ISE IP Core Generator生成的15位定點除法器來實現(xiàn),滿足高精度要求,而不采用逼近法。一幀圖像的拉伸只需調(diào)用一次除法器,提高了運算的效率。在幀逆程計算Q:=16 384/(Xmax-Xmin)的值,對于15位輸入,除法器有18個時鐘周期的延時,而這并不會影響圖像處理的實時性。
2.2.3 控制時鐘
在1個像素時鐘周期內(nèi)要完成讀RAM、加法計算和回寫RAM的操作,RAM的控制時鐘至少必須是像素時鐘的4倍??刂茣r鐘的選取還要考慮幀逆程的時間長度,要在逆程里訪問RAM查找到Xmin和Xmax,還要完成RAM清零操作。系統(tǒng)時鐘為96 MHz,分頻后產(chǎn)生48 MHz,為像素時鐘8倍,用它作為雙端口RAM和除法器的控制時鐘,可滿足要求。
2.2.4 拉伸運算
將式(1)進行簡單變換,可以記為:

Q值在上幀結(jié)束前已經(jīng)得到,根據(jù)式(2)拉伸運算得到簡化,只需1次減法和乘法運算,得到積的小數(shù)點左移6位后,截取低8位就得到拉伸后的灰度值。需要注意的是,截取前要判定乘法是否溢出,如果溢出,結(jié)果置為最大灰度值255。

3 系統(tǒng)驗證
采用飛機高空采集的地面紅外圖像作為驗證模板,灰度拉伸前的原始圖像如圖2所示,整幅圖像對比度低,細節(jié)極不明顯。最大、最小灰度值按5%的比例選取,拉伸后的圖像如圖3所示,拉伸后可明顯看出河流、道路、汽車等地物的輪廓,但圖像中較亮和較暗的部分層次不清晰。若減小灰度值壓縮比例為2%,圖像的主要輪廓變化不明顯,較亮和較暗的部分將會顯現(xiàn)出一定層次,這表明被壓縮的區(qū)間相對變小,按比例拉伸的圖像范圍擴大。拉伸的結(jié)果可好可壞,分段區(qū)間的選擇是關(guān)鍵,選取時要考慮原始圖像的質(zhì)量。噪聲和盲元數(shù)目較少時,被壓縮的區(qū)間可適當(dāng)調(diào)小。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉