<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 視頻圖像灰度信號直方圖均衡的FPGA實(shí)現

視頻圖像灰度信號直方圖均衡的FPGA實(shí)現

作者: 時(shí)間:2010-12-26 來(lái)源:網(wǎng)絡(luò ) 收藏

直方圖作為一種基礎的圖像處理方法在很多領(lǐng)域得到應用,但大多是通過(guò)DSP或者CPU編程實(shí)現,其優(yōu)點(diǎn)是靈活性比較高,調試方便,最大的缺點(diǎn)是很難做到實(shí)時(shí)或者準實(shí)時(shí)處理,這在某些領(lǐng)域是不可接受的。而使用實(shí)現可以很好地解決實(shí)時(shí)處理的難題,而且目前的資源容量已經(jīng)很豐富,片內的SRAM/PLL/邏輯資源已經(jīng)足以應對一般圖像處理算法的需要,同時(shí)隨著(zhù)價(jià)格的不斷下降,客觀(guān)上使得成為圖像處理算法實(shí)現不錯的選擇。

本文引用地址:http://dyxdggzs.com/article/191407.htm

  本文主要介紹在FPGA上實(shí)現直方圖算法的總體結構和最重要的兩個(gè)子模塊的實(shí)現細節,以及最終的實(shí)現結果。

  1 直方圖的理論基礎

  原始圖像值r歸一化在0~1之間,p(r)為原始圖像分布的概率密度函數。直方圖均衡化處理實(shí)際上就是尋找一個(gè)變換函數T,使得變化后的灰度值s=T(r), 其中,s歸一化為0~1,即建立r與s之間的映射關(guān)系,要求處理后圖像灰度分布的概率密度函數p(s)=1,期望所有灰度級出現概率相同。

  對于數字圖像離散情況,其直方圖均衡化處理的計算步驟如下:

  (1)統計原始圖像的直方圖

公式

  式中,rk是歸一化的輸入圖像灰度;nk是輸入圖像中歸一化灰度等于rk的像素個(gè)數;n是輸入圖像的像素總數。

  (2)計算直方圖累積分布曲線(xiàn)

公式

  (3)用累積分布函數作變換函數進(jìn)行圖像灰度變換

  根據計算得到的累積分布函數,建立輸入圖像與輸出圖像灰度之間的對應關(guān)系,最后要將變換后的灰度恢復成原先范圍。

  2 FPGA實(shí)現的總體結構

  從上面對直方圖均衡算法的描述可知,在進(jìn)行直方圖均衡以前,首先必須對圖像灰度進(jìn)行統計,然后再計算輸出。而要統計一幅圖像的全局灰度信息,就不得不把整幅圖像先寫(xiě)入緩存。雖然FPGA內部的SRAM資源豐富,但是仍然無(wú)法滿(mǎn)足整幅圖像存儲的需要。因此,需要以SDRAM作為圖像緩存,存儲前后兩場(chǎng),然后再計算輸出。SDRAM的容量、速度都能滿(mǎn)足直方圖均衡算法的要求,唯一的缺點(diǎn)是必須有相應的SDRAM控制器控制SDRAM的讀寫(xiě)和刷新操作。下面簡(jiǎn)要介紹總體實(shí)現的方案,其實(shí)現框圖如圖1所示。

實(shí)現框圖

  從圖1中可以看出,在輸入端,模擬復合視頻數據經(jīng)過(guò)解碼進(jìn)入FPGA,在FPGA里先對數據進(jìn)行簡(jiǎn)單處理,產(chǎn)生內部使用的行同步信號/場(chǎng)同步信號/數據有效信號和16bit YUV4:2:2格式的視頻信號。然后,灰度信息進(jìn)入灰度直方圖統計模塊對當前灰度信息出現的頻率加以統計,將統計信息以乒乓的方式存入SRAM,與此同時(shí)所有視頻數據通過(guò)“寫(xiě)”控制模塊和SDRAM控制器存入SDRAM;在輸出端,在“讀”控制單元的控制下通過(guò)SDRAM控制模塊從SDRAM讀出上一場(chǎng)的數據進(jìn)入灰度變換模塊,根據存儲的上一場(chǎng)的灰度統計信息,對數據進(jìn)行灰度變換。這樣就完成了完整的灰度直方圖均衡變換。

  如果需要在顯示設備(如PC顯示器)上顯示,還必須要有時(shí)序產(chǎn)生/圖像數據格式變換等模塊。另外,由于需要對某些內部參數進(jìn)行調整(如SDRAM的Latency等),必須有一個(gè)控制接口和外部相連,在這里使用了一個(gè)I2C協(xié)議接口。

  在所有模塊中最主要的實(shí)現單元主要有兩大部分,一個(gè)是直方圖統計和灰度變換模塊,另一個(gè)是SDRAM控制器和讀寫(xiě)控制單元。下面將詳細介紹這兩部分。

  3 直方圖統計的實(shí)現結構

  直方圖統計是通過(guò)FPGA內部?jì)蓧K雙端口SRAM的乒乓操作實(shí)現的。其中每塊SRAM的地址反映了灰度值的大小,而SRAM每個(gè)單元的數據寬度必須相應于每場(chǎng)圖像的像素數量。例如,對于我國PAL制的電視圖像來(lái)說(shuō),根據ITU-R BT.601/656數字視頻標準規定每一場(chǎng)數字化后的,它的有效數據是每行720個(gè)有效點(diǎn),每場(chǎng)288個(gè)有效行,每場(chǎng)總共207360個(gè)有效像素點(diǎn),平均每個(gè)點(diǎn)16bit的數據量,其中有8bit灰度數據。所以在選取SRAM的大小時(shí),應該選擇容量為256(2的8次方)、數據寬度為18位(207 360大于2的17次方)的SRAM。但是為了擴展的方便,實(shí)際使用中使用了容量為256、數據寬度為22位的SRAM,這樣可以對數據量更大的圖像加以處理。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: FPGA 視頻圖像 灰度 均衡

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>