基于SoPC的實(shí)時(shí)視頻處理與顯示設(shè)計(jì)
通過輸入系統(tǒng)獲取的圖像信息中含有各種各樣的噪聲與畸變,例如,光照度不夠均勻會(huì)造成圖像灰度過于集中,由CCD獲得的圖像經(jīng)過A/D轉(zhuǎn)換、線路傳送都會(huì)產(chǎn)生噪聲污染等,不可避免地會(huì)影響系統(tǒng)圖像的清晰程度,降低圖像質(zhì)量。但通過圖像增強(qiáng)可以改善圖像質(zhì)量。直方圖均衡化算法是空域圖像增強(qiáng)技術(shù)的重要算法,是圖像壓縮、圖像分割和圖像識別等后續(xù)圖像處理的基礎(chǔ)[2,4],在圖像預(yù)處理技術(shù)中有廣泛的應(yīng)用。
2.2.1 直方圖均衡化原理
直方圖均衡是以概率論為基礎(chǔ),運(yùn)用灰度點(diǎn)運(yùn)算來實(shí)現(xiàn)直方圖變換。原始圖像的直方圖包含了豐富的圖像信息,描述了圖像的灰度級內(nèi)容,反映了圖像的灰度分布情況。直方圖統(tǒng)計(jì)及均衡化的基本思想是對在圖像中像素個(gè)數(shù)多的灰度級進(jìn)行展寬,而對像素個(gè)數(shù)少的灰度級進(jìn)行縮減,從而達(dá)到清晰圖像的目的[5]。通過點(diǎn)運(yùn)算使輸入圖像轉(zhuǎn)換為在每一灰度級上都有相同的像素點(diǎn)的數(shù)目。在圖像增強(qiáng)處理中運(yùn)用如下公式:
(3)用累積分布函數(shù)作變換函數(shù)進(jìn)行圖像灰度變換。
2.2.2 基于FPGA的算法優(yōu)化及實(shí)現(xiàn)
算法的關(guān)鍵是在FPGA中實(shí)現(xiàn)直方圖統(tǒng)計(jì)和均衡后的映射關(guān)系表,本設(shè)計(jì)采用FPGA器件提供的Block RAM來存放直方圖和均衡后映射關(guān)系表。以雙端口RAM的數(shù)組結(jié)構(gòu)為核心,把整個(gè)算法分為兩個(gè)部分執(zhí)行:(1)統(tǒng)計(jì)原始圖像的各級灰度值,并存入灰度計(jì)數(shù)表RAM中;(2)對得到的灰度值做灰度映射,把映射后的結(jié)果存入到映射表RAM中,即生成均衡映射表。根據(jù)映射表就可以知道原始圖像某一灰度級經(jīng)過變換后的灰度級。經(jīng)過這樣的處理,就可以把原始圖像中密集分布的灰度值映射到經(jīng)過直方圖均衡化后的新的灰度級上。圖3為該算法的邏輯框圖。
考慮到FPGA的硬件特點(diǎn),在接收圖像數(shù)據(jù)、計(jì)算此場的直方圖時(shí),在FPGA內(nèi)實(shí)現(xiàn)浮點(diǎn)型數(shù)據(jù)運(yùn)算相對復(fù)雜且消耗較多邏輯資源,因此在對圖像進(jìn)行直方圖統(tǒng)計(jì)時(shí)將各灰度級像素點(diǎn)的個(gè)數(shù)作為直方圖數(shù)據(jù):pu(uk)=nk,以避免使用浮點(diǎn)型數(shù)據(jù)運(yùn)算。對直方圖進(jìn)行均衡化處理,得到原灰度到均衡化后灰度映射關(guān)系表。本設(shè)計(jì)中的直方圖均衡化的算法具體的狀態(tài)轉(zhuǎn)移圖如圖4所示。其具體的轉(zhuǎn)移條件:啟動(dòng)信號有效時(shí),由st1轉(zhuǎn)向st2;當(dāng)計(jì)數(shù)器1計(jì)數(shù)到255時(shí),跳轉(zhuǎn)到st3;當(dāng)計(jì)數(shù)器1沒有計(jì)數(shù)到圖像高度減1或者計(jì)數(shù)器2沒有計(jì)數(shù)到圖像寬度減1時(shí),跳轉(zhuǎn)到st3;當(dāng)計(jì)數(shù)器1計(jì)數(shù)到圖像高度減1且計(jì)數(shù)器2計(jì)數(shù)到圖像寬度減1時(shí),跳轉(zhuǎn)到st5;當(dāng)計(jì)數(shù)器1沒有計(jì)數(shù)到255時(shí),跳轉(zhuǎn)到st6;當(dāng)計(jì)數(shù)器計(jì)數(shù)到255時(shí),跳轉(zhuǎn)到st7;當(dāng)計(jì)數(shù)器1計(jì)數(shù)到圖像高度減1且計(jì)數(shù)器2計(jì)數(shù)到圖像寬度減1時(shí),跳轉(zhuǎn)到st1狀態(tài);當(dāng)計(jì)數(shù)器1沒有計(jì)數(shù)到圖像高度減1或者計(jì)數(shù)器2沒有計(jì)數(shù)到圖像寬度減1時(shí),跳轉(zhuǎn)到st6。在進(jìn)行計(jì)數(shù)統(tǒng)計(jì)時(shí),計(jì)數(shù)器在檢測得到一個(gè)像素點(diǎn)的灰度之后,不僅要相應(yīng)地將計(jì)數(shù)器加1,而且對應(yīng)灰度值大于當(dāng)前灰度值的所有計(jì)數(shù)器都加1,這樣就能同時(shí)完成原始圖像各像素灰度值的統(tǒng)計(jì)和累積,減少了統(tǒng)計(jì)時(shí)間。
因?yàn)樵诨叶染馓幚磉^程中是以場為單位進(jìn)行的,在灰度均衡化處理完之后,要將場合并為幀。其操作是由Nios II軟核中的SDRAM控制器來完成奇偶場的合并?;叶染饣姆抡娼Y(jié)果圖如圖5所示。
評論