技術(shù)領(lǐng)域
本發(fā)明屬于一種圖像處理方法,具體涉及一種基于FPGA平臺的空域和像素域混合降噪算法。
背景技術(shù):
目前業(yè)界主要前端采集設(shè)備的降噪模塊,通常是采用中值或均值濾波以及3*3模板固定算子的濾波,其算法過于簡單,實現(xiàn)難度較低,且無法考慮臨近像素間位置和像素值的關(guān)系和變化趨勢,難以有效做到保留圖像細節(jié)和邊緣信息同時降低噪聲,出現(xiàn)圖像模糊、細節(jié)丟失、對比度差、難以有效去除噪聲等問題,從而越來越難以滿足高清攝像機對于圖像分辨率和清晰度的要求。
技術(shù)實現(xiàn)要素:
本發(fā)明是為了克服現(xiàn)有技術(shù)中存在的缺點而提出的,其目的是提供一種基于FPGA平臺的空域和像素域混合降噪算法。
本發(fā)明的技術(shù)方案是:
一種基于FPGA平臺的空域和像素域混合降噪算法,包括像素信息緩存模塊、圖像邊緣擴展模塊、降噪強度和混合半徑接收模塊、濾波算子生成模塊、圖像濾波模塊、圖像裁剪和輸出模塊,所述算法包括以下步驟:
(ⅰ)圖像輸入;
(ⅱ)像素信息緩存
在BAYER格式圖像上,根據(jù)輸入濾波半徑的需要,計算需要緩存像素的行數(shù),并逐行滾動地存入RAM緩存資源中,不同濾波半徑所需讀取的行號和行數(shù)也不同,需輸出各行緩存位置信息,以供后續(xù)模塊隨時讀??;
(ⅲ)圖像邊緣擴展
在像素信息緩存模塊的基礎(chǔ)上,根據(jù)半徑設(shè)置,對像素緩存輸出的行首尾兩端像素進行復(fù)制,以保證濾波輸出有效寬度同輸入有效寬度相同,復(fù)制的像素占用水平消隱部分,同步信號相應(yīng)擴展,同時,根據(jù)BAYER模式數(shù)據(jù)的特性,采取隔行隔列篩選提取的方式,組成新的像素信息陣列;
(ⅳ)降噪強度和混合半徑接收
接收外部輸入的降噪強度、混合半徑、降噪模板系數(shù)閾值等參數(shù),根據(jù)圖像亮度、增益等條件,對輸入值進行修正,從而得出用于生成濾波算子模板的各項系數(shù);
(ⅴ)濾波算子生成
根據(jù)降噪強度和混合半徑接收模塊生成的修正后的半徑、降噪強度、閾值、圖像亮度、增益等參數(shù),計算輸出最終的N*N濾波模板,N的值由半徑?jīng)Q定,算子各項系數(shù)由強度和閾值決定,針對每個像素點生成不同的濾波算子,并對擴展后的像素信息進行2D卷積操作,輸出卷積結(jié)果;
(ⅵ)圖像濾波;
(ⅶ)圖像裁剪和輸出
逐行對濾波后的圖像信息及同步信號進行以像素為單位的裁剪,同時按輸入BAYER序列對濾波結(jié)果進行排列,使最終輸出BAYER格式數(shù)據(jù)與輸入點相對應(yīng);
(ⅷ)圖像輸出。
所述步驟(ⅳ)中圖像平均亮度、增益與輸入值的關(guān)系如下式限定:
其中:r為輸入半徑,S為降噪強度,t為降噪?yún)?shù)閾值,Lavg為圖像平均亮度,G為圖像相對增益,和為公式的補償值。
所述和分別為0.85和0.45。
所述步驟(ⅴ)中半徑、降噪強度、閾值、圖像亮度、增益之間有如下式限定:
其中:x,y為濾波模板相對中心點的坐標,r為半徑即與中心點的距離,S為降噪強度,t為降噪閾值,L為該點與圖像中心點亮度差,G為圖像增益換算值,n為亮度補償;當r > S*t時,該點濾波參數(shù)為0。
本發(fā)明的有益效果是:
本發(fā)明利用BAYER圖像上RBG三種像素值與臨近像素信息的相關(guān)性,以及自然物體圖像邊緣像素信息特性,根據(jù)不同半徑像素矩陣與中心點距離和像素值的差異,求取二維濾波算子,對圖像進行平滑。針對傳統(tǒng)降噪算法的圖像模糊、不同場景適應(yīng)性較差、降噪強度調(diào)節(jié)方式單一、無法有效突出邊緣信息和保留圖像細節(jié)等問題均有較好的改善。本發(fā)明的算法能夠應(yīng)用在各種場景中,特別是亮度較低、噪聲干擾較大、圖像邊緣信息復(fù)雜的場景,能夠準確判斷細節(jié)信息,根據(jù)不同降噪基準點選取相關(guān)性最高的臨近像素信息進行降噪,輸出圖像有著很好的平滑性同時充分保留細節(jié),滿足對于前端圖像采集的各種需要。
附圖說明
圖1是本發(fā)明基于FPGA平臺的空域和像素域混合降噪算法的實現(xiàn)框圖。
具體實施方式
下面結(jié)合說明書附圖及實施例對本發(fā)明基于FPGA(Field Programmable Gate Arrays現(xiàn)場可編程門陣列)平臺的空域和像素域混合降噪算法進行詳細說明:
如圖1所示, 一種基于FPGA平臺的空域和像素域混合降噪算法,所使用的軟件模塊包括像素信息緩存模塊、圖像邊緣擴展模塊、降噪強度和混合半徑接收模塊、濾波算子生成模塊、圖像濾波模塊、圖像裁剪和輸出模塊,所述算法包括以下步驟:
(?。﹫D像輸入;
(ⅱ)像素信息緩存
在BAYER格式圖像上,根據(jù)輸入濾波半徑的需要,計算需要緩存像素的行數(shù),并逐行滾動地存入RAM緩存資源中,不同濾波半徑所需讀取的行號和行數(shù)也不同,需輸出各行緩存位置信息,以供后續(xù)模塊隨時讀??;由于BAYER模式數(shù)據(jù)采用相鄰2*2陣列為RB\GB的排列方式,故每一個像素周期緩存輸出的數(shù)據(jù)種類都相應(yīng)變化;
(ⅲ)圖像邊緣擴展
在像素信息緩存模塊的基礎(chǔ)上,根據(jù)半徑設(shè)置,對像素緩存輸出的行首尾兩端像素進行復(fù)制,以保證濾波輸出有效寬度同輸入有效寬度相同,復(fù)制的像素占用水平消隱部分,同步信號相應(yīng)擴展,同時,根據(jù)BAYER模式數(shù)據(jù)的特性,采取隔行隔列篩選提取的方式,組成新的像素信息陣列;舉例說明,當圖像濾波半徑為3,則需使用7*7緩存像素數(shù)據(jù),在BAYER模式數(shù)據(jù)中緩存為13行,每行首尾復(fù)制擴展1*5像素;
(ⅳ)降噪強度和混合半徑接收
接收外部輸入的降噪強度、混合半徑、降噪模板系數(shù)閾值等參數(shù),根據(jù)圖像亮度、增益等條件,對輸入值進行修正,從而得出用于生成濾波算子模板的各項系數(shù);
對于圖像平均亮度、增益與輸入的關(guān)系,有如下限定:
其中,r為輸入半徑,S為降噪強度,t為降噪?yún)?shù)閾值,Lavg為圖像平均亮度,G為圖像相對增益,和為該公式的補償值,根據(jù)大量實驗,此處和分別為0.85和0.45,根據(jù)上式調(diào)整輸入?yún)?shù),可達到較為理想的效果;
(ⅴ)濾波算子生成
根據(jù)降噪強度和混合半徑接收模塊生成的修正后的半徑、降噪強度、閾值、圖像亮度、增益等參數(shù),計算輸出最終的N*N濾波模板,N的值由半徑?jīng)Q定,算子各項系數(shù)由強度和閾值決定,針對每個像素點生成不同的濾波算子,并對擴展后的像素信息進行2D卷積操作,輸出卷積結(jié)果;
半徑、降噪強度、閾值、圖像亮度、增益之間有如下式限定:
其中:x,y為濾波模板相對中心點的坐標,r為半徑即與中心點的距離,S為降噪強度,t為降噪閾值,L為該點與圖像中心點亮度差,G為圖像增益換算值,n為亮度補償;當r > S*t時,該點濾波參數(shù)為0。由此可見,在N*N鄰域模板下,與中心參考點距離越遠,影響越小,降噪強度和閾值越大,影響越大,與參考點亮度差距和增益的增加,對該點模板系數(shù)有增大的作用。
(ⅵ)圖像濾波;
(ⅶ)圖像裁剪和輸出
逐行對濾波后的圖像信息及同步信號進行以像素為單位的裁剪,同時按輸入BAYER序列對濾波結(jié)果進行排列,使最終輸出BAYER格式數(shù)據(jù)與輸入點相對應(yīng);由于濾波操作的特性,大小為X*Y的圖像四周各有N行和N列的無效結(jié)果,即輸出大小為(X+2N)*(Y+2N),其中N為經(jīng)調(diào)整后的濾波算子半徑,裁剪后的圖像取中間X*Y個像素點,并在BAYER排列上與輸入像素一一對應(yīng),最終完成降噪算法的實現(xiàn)和輸出。
(ⅷ)圖像輸出。
本發(fā)明的基于FPGA平臺的空域和像素域混合降噪新算法,該方法利用BAYER圖像上RBG三種像素值與臨近像素信息的相關(guān)性,以及自然物體圖像邊緣像素信息特性,根據(jù)不同半徑像素矩陣與中心點距離和像素值的差異,求取二維濾波算子,對圖像進行平滑。針對傳統(tǒng)降噪算法的圖像模糊、不同場景適應(yīng)性較差、降噪強度調(diào)節(jié)方式單一、無法有效突出邊緣信息和保留圖像細節(jié)等問題均有較好的改善。該算法所使用的軟件模塊包括:像素信息緩存模塊、圖像邊緣擴展模塊、降噪強度和混合半徑接收模塊、濾波算子生成模塊、圖像濾波模塊、圖像裁剪和輸出模塊,應(yīng)用于對清晰度和圖像細節(jié)要求較高的前端高清圖像采集設(shè)備中。本發(fā)明中公開的算法能夠應(yīng)用在各種場景中,特別是亮度較低、噪聲干擾較大、圖像邊緣信息復(fù)雜的場景,能夠準確判斷細節(jié)信息,根據(jù)不同降噪基準點選取相關(guān)性最高的臨近像素信息進行降噪,輸出圖像有著很好的平滑性同時充分保留細節(jié),滿足對于前端圖像采集的各種需要。