日韩中文字幕久久久97都市激情,久久91网,亚洲天堂最新,国产精品嫩草影院九色,亚洲午夜精品一本二本,精品少妇一区二区三区蜜桃,av一道本

一種圖像雙邊濾波方法和裝置與流程

文檔序號:11178316閱讀:630來源:國知局
一種圖像雙邊濾波方法和裝置與流程

技術(shù)鄰域

本發(fā)明涉及圖像處理技術(shù)鄰域,具體涉及一種圖像雙邊濾波方法和裝置。



背景技術(shù):

在圖像處理中,圖像濾波起著重要作用,圖像濾波可以有效地抑制、平滑各種噪聲,以及保持圖像邊緣信息,從而改善后續(xù)圖像處理工作的質(zhì)量。

雙邊濾波算法是一種應(yīng)用廣泛的濾波算法,常用于圖像濾波,它結(jié)合了空域加權(quán)和像素加權(quán),能自適應(yīng)于圖像本地內(nèi)容,進(jìn)而廣泛應(yīng)用于圖像去噪、銳化、動態(tài)范圍調(diào)整等。對于圖像中的一個(gè)像素(x,y),其雙邊濾波結(jié)果b(x,y)如下:

其中,x和y分別是圖像中像素i的橫坐標(biāo)和縱坐標(biāo);像素(m,n)是像素(x,y)附近的像素,即像素(m,n)是像素(x,y)的鄰域像素。

由上述公式可知,公式中涉及大量的浮點(diǎn)精度參數(shù)的除法和指數(shù)計(jì)算,通過計(jì)算機(jī)直接處理除法運(yùn)算的速度是比較慢的,而處理指數(shù)計(jì)算的速度則更加慢,尤其是浮點(diǎn)位寬較寬,難以進(jìn)行高密度并行化,因此,目前的雙邊濾波算法速度非常慢,使得圖像處理時(shí),等待時(shí)間較長,降低了用戶體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

鑒于上述問題,提出了本發(fā)明實(shí)施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種圖像雙邊濾波方法和一種圖像雙邊濾波裝置。

為了解決上述問題,本發(fā)明實(shí)施例公開了一種圖像雙邊濾波方法,所述方法包括:

獲取圖像中待濾波像素的待濾波像素特征參數(shù),以及,所述待濾波像素的各個(gè)鄰域像素的鄰域像素特征參數(shù);

依據(jù)所述待濾波像素特征參數(shù)和各個(gè)鄰域像素的所述鄰域像素特征參數(shù),在預(yù)設(shè)像素域貢獻(xiàn)表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進(jìn)行查詢,分別得到各個(gè)鄰域像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值;

依據(jù)所述各個(gè)鄰域像素的所述像素域貢獻(xiàn)值、所述空域權(quán)重值、所述鄰域像素特征參數(shù)和所述待濾波像素特征參數(shù),計(jì)算所有鄰域像素的像素貢獻(xiàn)和;

依據(jù)所述各個(gè)鄰域像素的所述像素域權(quán)重值、所述空域權(quán)重值,計(jì)算所有鄰域像素的像素加權(quán)和;

依據(jù)所有鄰域像素的所述像素貢獻(xiàn)和、所述像素加權(quán)和以及所述待濾波像素特征參數(shù),計(jì)算得到所述待濾波像素的雙邊濾波結(jié)果;

依據(jù)所述雙邊濾波結(jié)果對所述待濾波像素進(jìn)行濾波處理。

優(yōu)選地,所述待濾波像素特征參數(shù)包括待濾波像素坐標(biāo)值和待濾波像素值,所述鄰域像素特征參數(shù)包括鄰域像素坐標(biāo)值和鄰域像素值,所述依據(jù)所述待濾波像素特征參數(shù)和各個(gè)鄰域像素的所述鄰域像素特征參數(shù),在預(yù)設(shè)像素域貢獻(xiàn)表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進(jìn)行查詢,分別得到各個(gè)鄰域像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值的步驟包括:

計(jì)算所述各個(gè)鄰域像素的鄰域像素坐標(biāo)值與所述待濾波像素坐標(biāo)值的差值,得到各個(gè)鄰域像素的坐標(biāo)值差值;

計(jì)算所述各個(gè)鄰域像素的鄰域像素值與所述待濾波像素值的差值,得到各個(gè)鄰域像素的像素值差值;

依據(jù)所述各個(gè)鄰域像素的坐標(biāo)值差值,在所述預(yù)設(shè)空域權(quán)重表中查詢,得到各個(gè)鄰域像素的空域權(quán)重值;

依據(jù)所述各個(gè)鄰域像素的像素值差值,在所述預(yù)設(shè)像素域權(quán)重表中查詢,得到各個(gè)鄰域像素的像素域權(quán)重值;

依據(jù)所述各個(gè)鄰域像素的像素值差值的絕對值,在所述預(yù)設(shè)像素域貢獻(xiàn)表中查詢,得到各個(gè)鄰域像素的像素域貢獻(xiàn)值。

優(yōu)選地,所述依據(jù)所述各個(gè)鄰域像素的所述像素域貢獻(xiàn)值、所述空域權(quán)重值、所述鄰域像素特征參數(shù)和所述待濾波像素特征參數(shù),計(jì)算所有鄰域像素的像素貢獻(xiàn)和的步驟包括:

計(jì)算各個(gè)鄰域像素的像素域貢獻(xiàn)值與空域權(quán)重值的乘積,得到各個(gè)鄰域像素的初始像素貢獻(xiàn)值;

對各個(gè)鄰域像素的像素值差值進(jìn)行符號運(yùn)算,得到各個(gè)鄰域像素的符號運(yùn)算結(jié)果;

計(jì)算所述各個(gè)鄰域像素的初始像素貢獻(xiàn)值與所述各個(gè)鄰域像素的符號運(yùn)算結(jié)果的乘積,得到各個(gè)鄰域像素的像素貢獻(xiàn)值;

對所述各個(gè)鄰域像素的像素貢獻(xiàn)值求和,得到所有鄰域像素的像素貢獻(xiàn)和。

優(yōu)選地,所述依據(jù)所述各個(gè)鄰域像素的所述像素域權(quán)重值、所述空域權(quán)重值,計(jì)算所有鄰域像素的像素加權(quán)和的步驟包括:

計(jì)算各個(gè)鄰域像素的像素域權(quán)重值與空域權(quán)重值的乘積,得到各個(gè)鄰域像素的像素加權(quán)值;

對所述各個(gè)鄰域像素的像素加權(quán)值求和,得到所有鄰域像素的像素加權(quán)和。

優(yōu)選地,所述依據(jù)所有鄰域像素的所述像素貢獻(xiàn)和、所述像素加權(quán)和以及所述待濾波像素特征參數(shù),計(jì)算得到所述待濾波像素的雙邊濾波結(jié)果的步驟包括:

確定所述像素加權(quán)和的倒數(shù);

確定第一移位位數(shù);

依據(jù)所述第一移位位數(shù),對所述倒數(shù)進(jìn)行二進(jìn)制右移位運(yùn)算,得到移位運(yùn)算后的倒數(shù);

將所述像素貢獻(xiàn)和與所述移位運(yùn)算后的倒數(shù)相乘后,與所述待濾波像素值求和,得到所述待濾波像素的雙邊濾波結(jié)果。

優(yōu)選地,所述確定所述像素加權(quán)和的倒數(shù)的步驟包括:

獲取所述預(yù)設(shè)像素域權(quán)重表的第一縮放因子,以及,所述預(yù)設(shè)空域權(quán)重表的第二縮放因子;

依據(jù)所述第一縮放因子和第二縮放因子,計(jì)算得到第二移位位數(shù);

依據(jù)所述第二移位位數(shù)和所述像素加權(quán)和,在預(yù)設(shè)二進(jìn)制縮放表進(jìn)行查詢,得到所述像素加權(quán)和的乘法縮放因子;

依據(jù)所述乘法縮放因子,對所述像素加權(quán)和進(jìn)行二進(jìn)制對齊處理,得到對齊后的第二像素加權(quán)和;

依據(jù)所述第二移位位數(shù)和所述第二像素加權(quán)和,在預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù);

依據(jù)所述乘法縮放因子和所述初始倒數(shù),計(jì)算所述像素加權(quán)和的倒數(shù)。

優(yōu)選地,所述依據(jù)所述第二移位位數(shù)和所述像素加權(quán)和,在預(yù)設(shè)二進(jìn)制縮放表進(jìn)行查詢,得到所述像素加權(quán)和的乘法縮放因子的步驟包括:

將所述像素加權(quán)和轉(zhuǎn)換為二進(jìn)制,得到二進(jìn)制像素加權(quán)和;

依據(jù)所述第二移位位數(shù),對所述二進(jìn)制像素加權(quán)和進(jìn)行二進(jìn)制右移位運(yùn)算,得到第一像素加權(quán)和;

將所述第一像素加權(quán)和,進(jìn)行十進(jìn)制轉(zhuǎn)換,得到第一查詢位碼;

依據(jù)所述第一查詢位碼在所述預(yù)設(shè)二進(jìn)制縮放表進(jìn)行查詢,得到乘法縮放因子。

優(yōu)選地,所述依據(jù)所述第二移位位數(shù)和所述第二像素加權(quán)和,在預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)的步驟包括:

依據(jù)所述第二移位位數(shù),對所述第二像素加權(quán)和進(jìn)行二進(jìn)制右移位運(yùn)算,得到右移位后的第三像素加權(quán)和;

將所述第三像素加權(quán)和與預(yù)設(shè)數(shù)值進(jìn)行與運(yùn)算,得到第二查詢位碼;

依據(jù)所述第二查詢位碼在所述預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)。

優(yōu)選地,所述確定第一移位位數(shù)的步驟包括:

獲取所述預(yù)設(shè)像素域貢獻(xiàn)表的第三縮放因子;

依據(jù)所述第一縮放因子、第三縮放因子計(jì)算得到所述第一移位位數(shù)。

為了解決上述問題,本發(fā)明實(shí)施例公開了一種圖像雙邊濾波裝置,包括:

特征參數(shù)獲取模塊,用于獲取圖像中待濾波像素的待濾波像素特征參數(shù),以及,所述待濾波像素的各個(gè)鄰域像素的鄰域像素特征參數(shù);;

查表模塊,用于依據(jù)所述待濾波像素特征參數(shù)和各個(gè)鄰域像素的所述鄰域像素特征參數(shù),在預(yù)設(shè)像素域貢獻(xiàn)表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進(jìn)行查詢,分別得到各個(gè)鄰域像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值;

像素貢獻(xiàn)和計(jì)算模塊,用于依據(jù)所述各個(gè)鄰域像素的所述像素域貢獻(xiàn)值、所述空域權(quán)重值、所述鄰域像素特征參數(shù)和所述待濾波像素特征參數(shù),計(jì)算所有鄰域像素的像素貢獻(xiàn)和;

像素加權(quán)和計(jì)算模塊,用于依據(jù)所述各個(gè)鄰域像素的所述像素域權(quán)重值、所述空域權(quán)重值,計(jì)算所有鄰域像素的像素加權(quán)和;

雙邊濾波結(jié)果計(jì)算模塊,用于依據(jù)所有鄰域像素的所述像素貢獻(xiàn)和、所述像素加權(quán)和以及所述待濾波像素特征參數(shù),計(jì)算得到所述待濾波像素的雙邊濾波結(jié)果;

處理模塊,用于依據(jù)所述雙邊濾波結(jié)果對所述待濾波像素進(jìn)行濾波處理。

優(yōu)選地,所述待濾波像素特征參數(shù)包括待濾波像素坐標(biāo)值和待濾波像素值,所述鄰域像素特征參數(shù)包括鄰域像素坐標(biāo)值和鄰域像素值,所述查表模塊包括:

坐標(biāo)值差值計(jì)算子模塊,用于計(jì)算所述各個(gè)鄰域像素的鄰域像素坐標(biāo)值與所述待濾波像素坐標(biāo)值的差值,得到各個(gè)鄰域像素的坐標(biāo)值差值;

像素值差值計(jì)算子模塊,用于計(jì)算所述各個(gè)鄰域像素的鄰域像素值與所述待濾波像素值的差值,得到各個(gè)鄰域像素的像素值差值;

第一查表子模塊,用于依據(jù)所述各個(gè)鄰域像素的坐標(biāo)值差值,在所述預(yù)設(shè)空域權(quán)重表查詢,得到各個(gè)鄰域像素的空域權(quán)重值;

第二查表子模塊,用于依據(jù)所述各個(gè)鄰域像素的像素值差值,在所述預(yù)設(shè)像素域權(quán)重表內(nèi)查詢,得到各個(gè)鄰域像素的像素域權(quán)重值;

第三查表子模塊,用于依據(jù)所述各個(gè)鄰域像素的像素值差值的絕對值,在預(yù)設(shè)像素域貢獻(xiàn)表查詢,得到各個(gè)鄰域像素的像素域貢獻(xiàn)值。

優(yōu)選地,所述像素貢獻(xiàn)和計(jì)算模塊包括:

初始像素貢獻(xiàn)值計(jì)算子模塊,用于計(jì)算各個(gè)鄰域像素的像素域貢獻(xiàn)值與空域權(quán)重值的乘積,得到各個(gè)鄰域像素的初始像素貢獻(xiàn)值;

符號運(yùn)算子模塊,用于對各個(gè)鄰域像素的像素值差值進(jìn)行符號運(yùn)算,得到各個(gè)鄰域像素的符號預(yù)算結(jié)果;

像素貢獻(xiàn)值計(jì)算子模塊,用于計(jì)算所述各個(gè)鄰域像素的初始像素貢獻(xiàn)值與所述各個(gè)鄰域像素的符號預(yù)算結(jié)果的乘積,得到各個(gè)鄰域像素的像素貢獻(xiàn)值;

像素貢獻(xiàn)和計(jì)算子模塊,用于對所述各個(gè)鄰域像素的像素貢獻(xiàn)值求和,得到所有鄰域像素的像素貢獻(xiàn)和。

優(yōu)選地,所述像素加權(quán)和計(jì)算模塊包括:

像素加權(quán)值計(jì)算子模塊,用于計(jì)算各個(gè)鄰域像素的像素域權(quán)重值與空域權(quán)重值的乘積,得到各個(gè)鄰域像素的像素加權(quán)值;

像素加權(quán)和計(jì)算子模塊,用于對所述各個(gè)鄰域像素的像素加權(quán)值求和,得到所有鄰域像素的像素加權(quán)和。

優(yōu)選地,所述雙邊濾波結(jié)果計(jì)算模塊包括:

倒數(shù)確定子模塊,用于確定所述像素加權(quán)和的倒數(shù);

第一移位位數(shù)確定子模塊,用于確定第一移位位數(shù);

第一移位運(yùn)算子模塊,用于依據(jù)所述第一移位位數(shù),對所述倒數(shù)進(jìn)行二進(jìn)制右移位運(yùn)算,得到移位運(yùn)算后的倒數(shù);

雙邊濾波結(jié)果計(jì)算子模塊,用于將所述像素貢獻(xiàn)和與所述移位運(yùn)算后的倒數(shù)相乘后,與所述待濾波像素值求和,得到待濾波像素的雙邊濾波結(jié)果。

優(yōu)選地,所述倒數(shù)確定子模塊包括:

第一縮放因子獲取單元,用于獲取所述預(yù)設(shè)像素域權(quán)重表的第一縮放因子,以及,所述預(yù)設(shè)空域權(quán)重表的第二縮放因子;

第二移位位數(shù)計(jì)算單元,用于依據(jù)所述第一縮放因子和第二縮放因子,計(jì)算得到第二移位位數(shù);

乘法縮放因子獲取單元,用于依據(jù)所述第二移位位數(shù)和所述像素加權(quán)和,在預(yù)設(shè)二進(jìn)制縮放表進(jìn)行查詢,得到所述像素加權(quán)和的乘法縮放因子;

像素加權(quán)和處理單元,用于依據(jù)所述乘法縮放因子,對所述像素加權(quán)和進(jìn)行二進(jìn)制對齊處理,得到對齊后的第二像素加權(quán)和;

初始倒數(shù)獲取單元,用于依據(jù)所述第二移位位數(shù)和所述第二像素加權(quán)和,在預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù);

倒數(shù)計(jì)算單元,用于依據(jù)所述乘法縮放因子和所述初始倒數(shù),計(jì)算所述像素加權(quán)和的倒數(shù)。

優(yōu)選地,所述乘法縮放因子獲取單元包括:

二進(jìn)制轉(zhuǎn)換子單元,用于將所述像素加權(quán)和轉(zhuǎn)換為二進(jìn)制,得到二進(jìn)制像素加權(quán)和;

第一移位計(jì)算子單元,用于依據(jù)所述第二移位位數(shù),對所述二進(jìn)制像素加權(quán)和進(jìn)行二進(jìn)制右移位運(yùn)算,得到第一像素加權(quán)和;

十進(jìn)制轉(zhuǎn)換子單元,用于將所述第一像素加權(quán)和,進(jìn)行十進(jìn)制轉(zhuǎn)換,得到第一查詢位碼;

乘法縮放因子獲取子單元,用于依據(jù)所述第一查詢位碼在所述預(yù)設(shè)二進(jìn)制縮放表進(jìn)行查詢,得到乘法縮放因子。

優(yōu)選地,所述初始倒數(shù)獲取單元包括:

第一移位計(jì)算子單元,用于依據(jù)所述第二移位位數(shù),對所述第二像素加權(quán)和進(jìn)行二進(jìn)制右移位運(yùn)算,得到右移位后的第三像素加權(quán)和;

與運(yùn)算子單元,用于將所述第三像素加權(quán)和與預(yù)設(shè)數(shù)值進(jìn)行與運(yùn)算,得到第二查詢位碼;

初始倒數(shù)獲取子單元,用于依據(jù)所述第二查詢位碼,在所述預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)。

優(yōu)選地,所述第一移位位數(shù)確定子模塊包括:

第二縮放因子獲取單元,用于獲取所述預(yù)設(shè)像素域貢獻(xiàn)表的第三縮放因子;

第一移位位數(shù)計(jì)算單元,用于依據(jù)所述第一縮放因子、第三縮放因子計(jì)算得到所述第一移位位數(shù)。

本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):

本發(fā)明實(shí)施例在獲取圖像中待濾波像素和待濾波像素的各個(gè)鄰域像素的像素特征參數(shù)后,通過像素特征參數(shù)在預(yù)設(shè)像素域貢獻(xiàn)表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進(jìn)行查詢,分別得到各個(gè)鄰域像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值,然后計(jì)算出所有鄰域像素的像素貢獻(xiàn)和以及像素加權(quán)和,最后通過像素貢獻(xiàn)和、像素加權(quán)和以及待濾波像素的像素特征參數(shù),計(jì)算得到待濾波像素的雙邊濾波結(jié)果,使用雙邊濾波結(jié)果對待濾波像素進(jìn)行圖像處理。應(yīng)用本發(fā)明實(shí)施例,鄰域像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值由指數(shù)計(jì)算轉(zhuǎn)換為查表操作,并且通過查找預(yù)設(shè)倒數(shù)表查找得到像素加權(quán)和的倒數(shù),將像素貢獻(xiàn)和與像素加權(quán)的除法運(yùn)算轉(zhuǎn)換為像素貢獻(xiàn)和與像素加權(quán)的倒數(shù)的乘法運(yùn)算,避免了大量的浮點(diǎn)精度參數(shù)的除法和指數(shù)運(yùn)算,提高了雙邊濾波結(jié)果的運(yùn)算速度,縮短了圖像處理等待時(shí)間,提高了圖像處理效率以及用戶體驗(yàn)。

附圖說明

圖1是本發(fā)明的一種圖像雙邊濾波方法實(shí)施例的步驟流程圖;

圖2是本發(fā)明的一種圖像雙邊濾波裝置實(shí)施例的結(jié)構(gòu)框圖。

具體實(shí)施方式

為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步詳細(xì)的說明。

參照圖1,示出了本發(fā)明的一種圖像雙邊濾波方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:

步驟101,獲取圖像中待濾波像素的待濾波像素特征參數(shù),以及,所述待濾波像素的各個(gè)鄰域像素的鄰域像素特征參數(shù)。

圖像是由多個(gè)像素構(gòu)成的,每個(gè)像素在圖像中具有固定的坐標(biāo)值和像素值,在雙邊濾波處理時(shí),可以是逐個(gè)對每個(gè)像素進(jìn)行處理,為便于說明本發(fā)明實(shí)施例,可以定義待濾波像素為坐標(biāo)(x,y),其鄰域圖像為坐標(biāo)(m,n)。像素特征參數(shù)可以是像素的坐標(biāo)值和像素值,例如待濾波像素的像素值可以定義為i(x,y),其鄰域像素值可以定義為i(m,n)。

步驟102,依據(jù)所述待濾波像素特征參數(shù)和各個(gè)鄰域像素的所述鄰域像素特征參數(shù),在預(yù)設(shè)像素域貢獻(xiàn)表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進(jìn)行查詢,分別得到各個(gè)鄰域像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值。

本發(fā)明實(shí)施例中,首先將目前的雙邊濾波公式轉(zhuǎn)換為如下公式:

上述公式中,為空域?yàn)V波系數(shù),為像素域?yàn)V波系數(shù)。

本發(fā)明實(shí)施例,基于上述公式,存儲有預(yù)設(shè)像素域貢獻(xiàn)表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表,在獲取鄰域像素的像素特征參數(shù)后,例如獲取鄰域像素的坐標(biāo)(m,n)和像素值i(m,n)后,可以在預(yù)設(shè)像素域貢獻(xiàn)表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表中查找,獲取相應(yīng)的像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值,具體的,步驟102可以包括如下子步驟:

子步驟s11,計(jì)算所述各個(gè)鄰域像素的鄰域像素坐標(biāo)值與所述待濾波像素坐標(biāo)值的差值,得到各個(gè)鄰域像素的坐標(biāo)值差值。

在雙邊濾波計(jì)算公式中,空域?yàn)V波系數(shù)中需要用到鄰域像素坐標(biāo)值與待濾波像素坐標(biāo)值的差值,因此需要計(jì)算待濾波像素的各個(gè)鄰域像素的坐標(biāo)值與待濾波像素坐標(biāo)值的差值,例如,待濾波像素坐標(biāo)值為(x,y),鄰域像素坐標(biāo)值為(m,n),則可以計(jì)算坐標(biāo)差值為n-y和m-x。

子步驟s12,計(jì)算所述各個(gè)鄰域像素的鄰域像素值與所述待濾波像素值的差值,得到各個(gè)鄰域像素的像素值差值。

本發(fā)明實(shí)施例中,可以定義待濾波系數(shù)像素值為i(x,y),鄰域像素值為i(m,n),則鄰域像素值與待濾波像素值的像素值差值可以記為:i(m,n)-i(x,y)。

子步驟s13,依據(jù)所述各個(gè)鄰域像素的坐標(biāo)值差值,在所述預(yù)設(shè)空域權(quán)重表中查詢,得到各個(gè)鄰域像素的空域權(quán)重值。

本發(fā)明實(shí)施例中,預(yù)設(shè)空域權(quán)重表可以通過以下公式生成:

其中,μ=n-y,ν=(m-x),f為第一縮放因子。

通過上述公式可以建立預(yù)設(shè)空域權(quán)重表,由于e的指數(shù)運(yùn)算涉及到小數(shù)點(diǎn)位數(shù)較多,為了保持精度,整個(gè)表按照(1<<f)進(jìn)行縮放,f的取值可以根據(jù)實(shí)際情況進(jìn)行確定。預(yù)設(shè)空域權(quán)重表的長度以e的指數(shù)運(yùn)算衰減到0為止,指數(shù)衰減的非常快,預(yù)設(shè)空域權(quán)重表的長度不會很長。

因此,可以根據(jù)各個(gè)鄰域像素的坐標(biāo)值差值,在預(yù)設(shè)空域權(quán)重表內(nèi)查詢,得到各個(gè)鄰域像素的空域權(quán)重值。

子步驟s14,依據(jù)所述各個(gè)鄰域像素的像素值差值,在所述預(yù)設(shè)像素域權(quán)重表中查詢,得到各個(gè)鄰域像素的像素域權(quán)重值。

本發(fā)明實(shí)施例中,預(yù)設(shè)像素域權(quán)重表可以通過以下公式生成:

其中,t=i(m,n)-i(x,y),t≥0,c為第二縮放因子。

通過上述公式可以建立預(yù)設(shè)像素域權(quán)重表,由于e的指數(shù)運(yùn)算涉及到小數(shù)點(diǎn)位數(shù)較多,為了保持精度,整個(gè)表按照(1<<c)進(jìn)行縮放,c的取值可以根據(jù)實(shí)際情況進(jìn)行確定。預(yù)設(shè)空域權(quán)重表的長度以e的指數(shù)運(yùn)算衰減到0為止,指數(shù)衰減的非???,預(yù)設(shè)像素域權(quán)重表的長度不會很長。

因此,可以根據(jù)各個(gè)鄰域像素的像素值差值,在預(yù)設(shè)空域權(quán)重表內(nèi)查詢,得到各個(gè)鄰域像素的空域權(quán)重值。

子步驟s15,依據(jù)所述各個(gè)鄰域像素的像素值差值的絕對值,在所述預(yù)設(shè)像素域貢獻(xiàn)表中查詢,得到各個(gè)鄰域像素的像素域貢獻(xiàn)值。

本發(fā)明實(shí)施例中,可以預(yù)設(shè)像素域貢獻(xiàn)表,該預(yù)設(shè)像素域貢獻(xiàn)表通過以下公式生成:

公式中,t=i(m,n)-i(x,y),t≥0,d為第三縮放因子。

通過上述公式可以建立預(yù)設(shè)像素域貢獻(xiàn)表,為了保證像素域貢獻(xiàn)值為正值,因此需要取像素值差值的絕對值。由于e的指數(shù)運(yùn)算涉及到小數(shù)點(diǎn)位數(shù)較多,為了保持精度,整個(gè)表按照(1<<d)進(jìn)行縮放,d的取值可以根據(jù)實(shí)際情況進(jìn)行確定。預(yù)設(shè)像素域貢獻(xiàn)表的長度以e的指數(shù)運(yùn)算衰減到0為止,指數(shù)衰減的非常快,預(yù)設(shè)像素域貢獻(xiàn)表的長度不會很長。

可以根據(jù)各個(gè)鄰域像素的像素值差值的絕對值,在預(yù)設(shè)像素域貢獻(xiàn)表內(nèi)查詢,得到各個(gè)鄰域像素的像素域貢獻(xiàn)值。

子步驟s11-子步驟s15,通過濾波公式中的空域?yàn)V波系數(shù)以及像素域?yàn)V波系數(shù),建立預(yù)設(shè)像素域貢獻(xiàn)表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表,然后通過待濾波像素特征參數(shù)和各個(gè)鄰域像素的像素特征參數(shù)查表,分別得到各個(gè)鄰域像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值,這樣,將指數(shù)運(yùn)算結(jié)果預(yù)先存儲,濾波時(shí)直接通過查表得到各個(gè)鄰域像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值,避免了大量的指數(shù)運(yùn)算,提高了效率。

步驟103,依據(jù)所述各個(gè)鄰域像素的所述像素域貢獻(xiàn)值、所述空域權(quán)重值、所述鄰域像素特征參數(shù)和所述待濾波像素特征參數(shù),計(jì)算所有鄰域像素的像素貢獻(xiàn)和。

本發(fā)明實(shí)施例中,根據(jù)子步驟s13中建立預(yù)設(shè)空域權(quán)重表和子步驟s15中建立預(yù)設(shè)像素域貢獻(xiàn)表公式,則計(jì)算所有鄰域像素的像素貢獻(xiàn)和公式表示為:

w=∑(m,n)∈ωc_pxl[abs(i(m,n)-i(x,y))]×w_sp[(m-x),(n-y)]×sign(i(m,n)-i(x,y))

其中,c_pxl為公式contrib_pixel[t]的簡寫,w_sp為公式weight_pixel[t]簡寫;sign()為符號運(yùn)算,在數(shù)學(xué)和計(jì)算機(jī)運(yùn)算中,其功能是取某個(gè)數(shù)的符號(正或負(fù)),abs為絕對值運(yùn)算,w為所有鄰域像素的像素貢獻(xiàn)和。

基于上述所有鄰域像素的像素貢獻(xiàn)和公式,步驟103可以包括如下子步驟:

子步驟s21,計(jì)算各個(gè)鄰域像素的像素域貢獻(xiàn)值與空域權(quán)重值的乘積,得到各個(gè)鄰域像素的初始像素貢獻(xiàn)值;

子步驟s22,對各個(gè)鄰域像素的像素值差值進(jìn)行符號運(yùn)算,得到各個(gè)鄰域像素的符號運(yùn)算結(jié)果;

子步驟s23,計(jì)算所述各個(gè)鄰域像素的初始像素貢獻(xiàn)值與所述各個(gè)鄰域像素的符號運(yùn)算結(jié)果的乘積,得到各個(gè)鄰域像素的像素貢獻(xiàn)值;

子步驟s24,對所述各個(gè)鄰域像素的像素貢獻(xiàn)值求和,得到所有鄰域像素的像素貢獻(xiàn)和。

在子步驟s21-s24中,先計(jì)算每個(gè)鄰域像素的像素域貢獻(xiàn)值與空域權(quán)重值的乘積,得到每個(gè)鄰域像素的初始像素貢獻(xiàn)值,初始像素貢獻(xiàn)值為正值;然后通過對各個(gè)鄰域像素的像素值差值進(jìn)行符號運(yùn)算,像素值差值為正值則返回符號運(yùn)算結(jié)果為1,像素值差值為負(fù)值則返回符號運(yùn)算結(jié)果-1,最后符號運(yùn)算結(jié)果與初始像素貢獻(xiàn)值的乘積即為每個(gè)鄰域像素的像素貢獻(xiàn)值,對所有鄰域像素的像素貢獻(xiàn)值求和,即得到所有鄰域像素的像素貢獻(xiàn)和。

步驟104,依據(jù)所述各個(gè)鄰域像素的所述像素域權(quán)重值、所述空域權(quán)重值,計(jì)算所有鄰域像素的像素加權(quán)和。

本發(fā)明實(shí)施例中,根據(jù)子步驟s13中建立預(yù)設(shè)空域權(quán)重表和子步驟s14中建立預(yù)設(shè)像素域權(quán)重表公式,則計(jì)算所有鄰域像素的像素加權(quán)和u公式表示為:

u=∑(m,n)∈ωw_pxl[i(m,n)-i(x,y)]×w_sp[(m-x),(n-y)]

其中,w_pxl為公式weight_pixel[t]的簡寫,w_sp為公式weight_pixel[t],u為所有鄰域像素的像素加權(quán)和。

基于上述所有鄰域像素的像素加權(quán)和公式可知,步驟104可以包括如下子步驟:

子步驟s31,計(jì)算各個(gè)鄰域像素的像素域權(quán)重值與空域權(quán)重值的乘積,得到各個(gè)鄰域像素的像素加權(quán)值;

子步驟s32,對所述各個(gè)鄰域像素的像素加權(quán)值求和,得到所有鄰域像素的像素加權(quán)和。

在子步驟s31-s32中,先計(jì)算每個(gè)鄰域像素的像素域權(quán)重值與空域權(quán)重值的乘積,得到每個(gè)鄰域像素的像素加權(quán)值,然后對所有鄰域像素的像素加權(quán)值求和,即得到所有鄰域像素的像素加權(quán)和u。

步驟105,依據(jù)所有鄰域像素的所述像素貢獻(xiàn)和、所述像素加權(quán)和以及所述待濾波像素特征參數(shù),計(jì)算得到所述待濾波像素的雙邊濾波結(jié)果。

本發(fā)明實(shí)施例中,根據(jù)步驟103中的計(jì)算所有鄰域像素的像素貢獻(xiàn)和公式,以及,步驟104中計(jì)算所有鄰域像素的像素加權(quán)和公式,得到本發(fā)明實(shí)施例雙邊濾波計(jì)算公式如下:

其中,c和d分別為第二縮放因子、第三縮放因子,w為像素貢獻(xiàn)和,u為像素加權(quán)和,i(x,y)為待濾波圖像像素值,b(x,y)為待濾波像素的雙邊濾波結(jié)果,1<<(c-d)為移位運(yùn)算。

在本發(fā)明的一種優(yōu)選實(shí)施例中,步驟105可以包括如下子步驟:

子步驟s41,確定所述像素加權(quán)和的倒數(shù)。

由上述公式可知,在計(jì)算w和u中的過程中包含查表、加減法、絕對值、取符號和乘法操作,可以使用現(xiàn)有x86或armcpu現(xiàn)有指令集并行計(jì)算獲得的,但除以u本身在不論x86還是arm都沒有對應(yīng)的指令實(shí)現(xiàn),其實(shí)除以u,可以相當(dāng)于乘以u的倒數(shù),因此,可以通過高效算法獲取u的倒數(shù)。

在本發(fā)明的一種優(yōu)選實(shí)施例中,子步驟s41可以包括如下子步驟:

子步驟s411,獲取所述預(yù)設(shè)像素域權(quán)重表的第一縮放因子,以及,所述預(yù)設(shè)空域權(quán)重表的第二縮放因子。

本發(fā)明實(shí)施例在建立預(yù)設(shè)像素域權(quán)重表時(shí)設(shè)置第二縮放因子c,建立預(yù)設(shè)空域權(quán)重表時(shí)設(shè)置第一縮放因子為f,因此第一縮放因子f和第二縮放因子c可以直接獲取。

子步驟s412,依據(jù)所述第一縮放因子和第二縮放因子,計(jì)算得到第二移位位數(shù)。

根據(jù)像素加權(quán)和u的計(jì)算公式

u=∑(m,n)∈ωw_pxl[i(m,n)-i(x,y)]×w_sp[(m-x),(n-y)]

當(dāng)m等于x,n等于y時(shí),w_pxl和w_sp同時(shí)取得最大值(1<<f)和(1<<c)。當(dāng)m不等于x,n不等于y時(shí),w_pxl的取值指數(shù)級衰減,w_sp則和像素值相關(guān),如果像素值相同,那么u為(1<<c),如果差別較大,那么就會衰減到0。在整個(gè)濾波取值空間ω中,如果所有像素值都相同,那么u取最大值:

umax=(1<<c)×∑(m,n)∈ωw_pxl[i(m,n)-i(x,y)];

如果濾波空間中所有其他像素都和中心像素差別較大以致w_sp都為0,那么u取極小值:

umin=(1<<c)×(1<<f)

即只有中心空域?yàn)V波核的中心點(diǎn)的值。

一般來說,因?yàn)閣_sp是指數(shù)衰減的,其衰減速度較快,中心點(diǎn)的加權(quán)占其總和中的很大一部分,umax/umin是小于16的,如果w_sp中的σs為1,那么umax/umin大約等于2,所以可以定義一個(gè)u∈[(1<<(t-1)),(1<<(t+4))-1]的除法,其中t=c+f-1。t也可以用上限來確定,在濾波范圍ω和σs以及c和f已定的情況下,可以計(jì)算出umax,然后再確定t應(yīng)該是多少,t即為第二移位位數(shù)。

子步驟s413,依據(jù)所述第二移位位數(shù)和所述像素加權(quán)和,在預(yù)設(shè)二進(jìn)制縮放表進(jìn)行查詢,得到所述像素加權(quán)和的乘法縮放因子。

在本發(fā)明的一種優(yōu)選實(shí)施例中,子步驟s413可以包括如下子步驟:

子步驟s413-1,將所述像素加權(quán)和轉(zhuǎn)換為二進(jìn)制,得到二進(jìn)制像素加權(quán)和;

子步驟s413-2,依據(jù)所述第二移位位數(shù),對所述二進(jìn)制像素加權(quán)和進(jìn)行二進(jìn)制右移位運(yùn)算,得到第一像素加權(quán)和;

子步驟s413-3,將所述第一像素加權(quán)和,進(jìn)行十進(jìn)制轉(zhuǎn)換,得到第一查詢位碼;

子步驟s413-4,依據(jù)所述第一查詢位碼在所述預(yù)設(shè)二進(jìn)制縮放表進(jìn)行查詢,得到乘法縮放因子。

本發(fā)明實(shí)施例中,設(shè)置有預(yù)設(shè)二進(jìn)制縮放表,以下以16位數(shù)的二進(jìn)制縮放表進(jìn)行說明,定義二進(jìn)制縮放表uc_bitmask_to_mulscaling[16]={32,16,8,8,4,4,4,4,2,2,2,2,2,2,2,2}。該表中的數(shù)據(jù)為乘法縮放因子,每個(gè)數(shù)據(jù)具有相應(yīng)的第一查詢位碼,上述長度為16的二進(jìn)制縮放表,其第一查詢位碼為大于等于0小于16的正整數(shù),例如,第一查詢位碼為0時(shí),乘法縮放因子為32,第一查詢位碼為4時(shí),乘法縮放因子為4。

具體而言,先將像素加權(quán)和u轉(zhuǎn)換為二進(jìn)制,得到二進(jìn)制像素加權(quán)和,然后對二進(jìn)制像素加權(quán)和進(jìn)行移位運(yùn)算,移位位數(shù)即為第二移位位數(shù)t,移位運(yùn)算后得到第一像素加權(quán)和并轉(zhuǎn)換為十進(jìn)制,即得到第一查詢位碼,然后使用第一查詢位碼在預(yù)設(shè)二進(jìn)制縮放表查詢,即得到對應(yīng)的乘法縮放因子。

子步驟s414,依據(jù)所述乘法縮放因子,對所述像素加權(quán)和進(jìn)行二進(jìn)制對齊處理,得到對齊后的第二像素加權(quán)和。

待濾波像素具有多個(gè)鄰域像素,每個(gè)鄰域像素的像素加權(quán)值(u值)不同,可以對鄰域像素值進(jìn)行對齊處理。具體的,可以將每個(gè)鄰域像素的像素加權(quán)值與其對應(yīng)的乘法縮放因子相乘,并將相乘得到的乘積轉(zhuǎn)換為二進(jìn)制后得到每個(gè)鄰域像素的第二像素加權(quán)和,該第二像素加權(quán)和以二進(jìn)制表示,此時(shí),所有每個(gè)鄰域像素的第二像素加權(quán)和的二進(jìn)制位數(shù)相同,最高為數(shù)也相同,這樣實(shí)現(xiàn)了像素加權(quán)和的對齊處理。

子步驟s415,依據(jù)所述第二移位位數(shù)和所述第二像素加權(quán)和,在預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)。

本發(fā)明實(shí)施例中,設(shè)置有預(yù)設(shè)倒數(shù)表uc_reverse_byte_tbl[16]={248,234,221,210,200,191,182,174,167,161,155,149,144,139,134,130},該倒數(shù)表長度為16,即包括16個(gè)數(shù)據(jù),其通過如下公式生成:

uc_reverse_byte_tbl[x]=32768/(0x84+x×8)

公式中0≤x≤15且x為正整數(shù)。

上述的預(yù)設(shè)倒數(shù)表查詢時(shí)需要第二查詢位碼進(jìn)行查詢,第二查詢位碼為正整數(shù),相對于倒數(shù)表長度為16,其第二查詢位碼為大于等于0小于16的正整數(shù),例如,第二查詢位碼為0時(shí),初始倒數(shù)為248,第二查詢位碼為4時(shí),初始倒數(shù)為200。

在本發(fā)明一種優(yōu)選實(shí)施例中,子步驟s415可以包括如下子步驟:

子步驟s415-1,依據(jù)所述第二移位位數(shù),對所述第二像素加權(quán)和進(jìn)行二進(jìn)制右移位運(yùn)算,得到右移位后的第三像素加權(quán)和;

子步驟s415-2,將所述第三像素加權(quán)和與預(yù)設(shè)數(shù)值進(jìn)行與運(yùn)算,得到第二查詢位碼;

子步驟s415-3,依據(jù)所述第二查詢位碼在所述預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)。

在子步驟s415-1到子步驟s415-3中,依據(jù)第二移位位數(shù)t,將對齊后的第二像素加權(quán)和進(jìn)行移位運(yùn)算,并與預(yù)設(shè)數(shù)值進(jìn)行與運(yùn)算,本發(fā)明實(shí)施例中是與15進(jìn)行與運(yùn)算(&15),進(jìn)行與運(yùn)算后轉(zhuǎn)換為十進(jìn)制數(shù),即可得到第二查詢位碼,然后使用第二查詢位碼在預(yù)設(shè)倒數(shù)表中查詢,得到像素加權(quán)和的初始倒數(shù)。

子步驟s416,依據(jù)所述乘法縮放因子和所述初始倒數(shù),計(jì)算所述像素加權(quán)和的倒數(shù)。

在得到像素加權(quán)和的初始倒數(shù)后,可以根據(jù)乘法縮放因子和初始倒數(shù),計(jì)算像素加權(quán)和的倒數(shù)。即乘法縮放因子和初始倒數(shù)的乘積即為像素加權(quán)和的倒數(shù)。

為了使本鄰域技術(shù)人員更容易理解子步驟s411-子步驟s416確定像素加權(quán)和的倒數(shù)的過程,以下結(jié)合實(shí)例進(jìn)行說明。

設(shè)t為6,則像素加權(quán)和u的取值范圍是[32,1023]。舉3個(gè)u值進(jìn)行說明,即u1=32、u2=159、u3=756,則確定倒數(shù)過程如下:

s1,將u1=32、u2=159、u3=756轉(zhuǎn)換為二進(jìn)制為:100000、10011111、1011110100;

s2,將二進(jìn)制的100000、10011111、1011110100右移t位后分別是0、10、1011,轉(zhuǎn)換為十進(jìn)制數(shù)得到第一查詢位碼0、2、11;

s3,通過第一查詢位碼0、2、11,在預(yù)設(shè)二進(jìn)制縮放表uc_bitmask_to_mulscaling={32,16,8,8,4,4,4,4,2,2,2,2,2,2,2,2}查詢,分別獲得到三個(gè)縮放因子mulscl1=32、mulscl2=8、mulscl3=2。

s4,采用mulscl1、mulscl2及mulscl3分別乘以u1=32、u2=159、u3=756,轉(zhuǎn)換為二進(jìn)制后分別得到10000000000、10011111000、10111101000,此時(shí)u1、u2和u3對齊,即最高位都是第十一位且最高位都是1。

s5,將對齊的10000000000、10011111000、10111101000向右移t位,t=6,得到10000、10011、10111,然后和15執(zhí)行與運(yùn)算,得到0000、0011、0111,轉(zhuǎn)換為十進(jìn)制后得到第二查詢位碼0、3、7。

s6,通過第二查詢位碼0、3、7在預(yù)設(shè)倒數(shù)表uc_reverse_byte_tbl[16]=={248,234,221,210,200,191,182,174,167,161,155,149,144,139,134,130},查詢得到三個(gè)初始倒數(shù)rvp1=248、rvp2=210、rvp3=174,

s7,將三個(gè)初始倒數(shù)rvp1=248、rvp2=210、rvp3=174分別與三個(gè)乘法縮放因子mulscl1=32、mulscl2=8、mulscl3=2相乘即得到三個(gè)最終倒數(shù)rv1=7936、rv2=1680、rv3=348。

由上述可知,rv1、rv2、rv3分別和乘法縮放因子u1、u2、u3得到的乘積應(yīng)該接近1<<(12+t)。例如,本示例中t為6,

1<<18=262144,

rv1×mulscl1=7936×32=253952,

rv2×mulscl2=1680×159=267120,

rv3×mulscl3=348×756=263088,

所得結(jié)果都很接近,說明本發(fā)明實(shí)施例的確定倒數(shù)的方法較準(zhǔn)確,即

需要說明的是,雖然上面給出了一種計(jì)算像素加權(quán)和的倒數(shù)的方法,但本鄰域技術(shù)人員能夠理解的是,本發(fā)明并不限于上面一種計(jì)算方法。

子步驟s42,確定第一移位位數(shù)。

在確定像素加權(quán)和u的倒數(shù)后,由公式

以及公式

可以得到濾波計(jì)算公式為:

b(x,y)=w×rv>>(12+t-c+d)+i(x,y)

將t=c+f-1代入上述公式中,得到最終濾波計(jì)算公式為:

b(x,y)=w×rv>>(11+f+d)+i(x,y)

公式中,w為像素貢獻(xiàn)和,rv>>(11+f+d)為像素加權(quán)和的倒數(shù),i(x,y)為待濾波像素的像素值。

可見,公式中w已經(jīng)通過查表求和后得到,rv也已通過查表計(jì)算得到,第一移位位數(shù)(11+f+d)中的f和d也已知,因此,需要確定第一移位位數(shù),具體的,子步驟s42可以包括如下子步驟:

子步驟s421,獲取所述預(yù)設(shè)像素域貢獻(xiàn)表的第三縮放因子;

子步驟s422,依據(jù)所述第一縮放因子、第三縮放因子計(jì)算得到所述第一移位位數(shù)。

第一移位位數(shù)為(11+f+d)中,在預(yù)設(shè)空域權(quán)重表時(shí)設(shè)置第一縮放因子f,在建立像素域貢獻(xiàn)表時(shí)設(shè)置第三縮放因子d,因此,可以根據(jù)(11+f+d)計(jì)算出第一移位位數(shù)。

子步驟s43,依據(jù)所述第一移位位數(shù),對所述倒數(shù)進(jìn)行二進(jìn)制右移位運(yùn)算,得到移位運(yùn)算后的倒數(shù)。

子步驟s44,將所述像素貢獻(xiàn)和所述與移位運(yùn)算后的倒數(shù)相乘后,與所述待濾波像素值求和,得到所述待濾波像素的雙邊濾波結(jié)果。

右移位運(yùn)算是除法運(yùn)算,右移n表示除以2的n次冪,具體而言指對一個(gè)數(shù)除以2的n次冪,例如rv>>(11+f+d)可以表示為rv/211+f+d,這樣通過以下公式計(jì)算雙邊濾波結(jié)果:

b(x,y)=w×rv>>(11+f+d)+i(x,y)

可見,本發(fā)明實(shí)施例通過查表得到各個(gè)鄰域像素的像素域貢獻(xiàn)值后,對所有鄰域像素的像素域貢獻(xiàn)值求和得到鄰域像素的像素貢獻(xiàn)和w,同理查表求取所有鄰域像素的像素加權(quán)和u,然后通過查表得到像素加權(quán)和u的倒數(shù)rv,最后計(jì)算兩者的乘積,即將像素貢獻(xiàn)和w與像素加權(quán)和u的除法運(yùn)算,簡化為像素貢獻(xiàn)和w與像素加權(quán)和u的倒數(shù)rv的乘法運(yùn)算,避免了大量的浮點(diǎn)精度參數(shù)的除法和指數(shù)運(yùn)算,提高了雙邊濾波結(jié)果的運(yùn)算速度。

步驟106,依據(jù)所述雙邊濾波結(jié)果對所述待濾波像素進(jìn)行濾波處理。

本發(fā)明實(shí)施例,計(jì)算出雙邊濾波結(jié)果后,可以對圖像中的待濾波像素進(jìn)行濾波處理,這樣逐個(gè)對圖像的每個(gè)像素進(jìn)行濾波結(jié)果計(jì)算,然后進(jìn)行濾波處理,以完成對整個(gè)圖像的濾波處理。

本發(fā)明實(shí)施例在獲取圖像中待濾波像素和待濾波像素的各個(gè)鄰域像素的像素特征參數(shù)后,通過像素特征參數(shù)在預(yù)設(shè)像素域貢獻(xiàn)表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進(jìn)行查詢,分別得到各個(gè)鄰域像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值,然后計(jì)算出所有鄰域像素的像素貢獻(xiàn)和以及像素加權(quán)和,最后通過像素貢獻(xiàn)和、像素加權(quán)和以及待濾波像素的像素特征參數(shù),計(jì)算得到待濾波像素的雙邊濾波結(jié)果,使用雙邊濾波結(jié)果對待濾波像素進(jìn)行圖像處理。應(yīng)用本發(fā)明實(shí)施例,鄰域像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值由指數(shù)計(jì)算轉(zhuǎn)換為查表操作,并且通過查找預(yù)設(shè)倒數(shù)表查找得到像素加權(quán)和的倒數(shù),將像素貢獻(xiàn)和與像素加權(quán)的除法運(yùn)算轉(zhuǎn)換為像素貢獻(xiàn)和與像素加權(quán)的倒數(shù)的乘法運(yùn)算,避免了大量的浮點(diǎn)精度參數(shù)的除法和指數(shù)運(yùn)算,提高了雙邊濾波結(jié)果的運(yùn)算速度,縮短了圖像處理等待時(shí)間,提高了圖像處理效率以及用戶體驗(yàn)。

參照圖2,示出了本發(fā)明一種圖像雙邊濾波裝置實(shí)施例的結(jié)構(gòu)框圖,所述裝置包括:

特征參數(shù)獲取模塊201,用于獲取圖像中待濾波像素的待濾波像素特征參數(shù),以及,所述待濾波像素的各個(gè)鄰域像素的鄰域像素特征參數(shù);;

查表模塊202,用于依據(jù)所述待濾波像素特征參數(shù)和各個(gè)鄰域像素的所述鄰域像素特征參數(shù),在預(yù)設(shè)像素域貢獻(xiàn)表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進(jìn)行查詢,分別得到各個(gè)鄰域像素的像素域貢獻(xiàn)值、像素域權(quán)重值和空域權(quán)重值;

像素貢獻(xiàn)和計(jì)算模塊203,用于依據(jù)所述各個(gè)鄰域像素的所述像素域貢獻(xiàn)值、所述空域權(quán)重值、所述鄰域像素特征參數(shù)和所述待濾波像素特征參數(shù),計(jì)算所有鄰域像素的像素貢獻(xiàn)和;

像素加權(quán)和計(jì)算模塊204,用于依據(jù)所述各個(gè)鄰域像素的所述像素域權(quán)重值、所述空域權(quán)重值,計(jì)算所有鄰域像素的像素加權(quán)和;

雙邊濾波結(jié)果計(jì)算模塊205,用于依據(jù)所有鄰域像素的所述像素貢獻(xiàn)和、所述像素加權(quán)和以及所述待濾波像素特征參數(shù),計(jì)算得到所述待濾波像素的雙邊濾波結(jié)果;

處理模塊206,用于依據(jù)所述雙邊濾波結(jié)果對所述待濾波像素進(jìn)行濾波處理。

優(yōu)選地,所述待濾波像素特征參數(shù)包括待濾波像素坐標(biāo)值和待濾波像素值,所述鄰域像素特征參數(shù)包括鄰域像素坐標(biāo)值和鄰域像素值,所述查表模塊202包括:

坐標(biāo)值差值計(jì)算子模塊,用于計(jì)算所述各個(gè)鄰域像素的鄰域像素坐標(biāo)值與所述待濾波像素坐標(biāo)值的差值,得到各個(gè)鄰域像素的坐標(biāo)值差值;

像素值差值計(jì)算子模塊,用于計(jì)算所述各個(gè)鄰域像素的鄰域像素值與所述待濾波像素值的差值,得到各個(gè)鄰域像素的像素值差值;

第一查表子模塊,用于依據(jù)所述各個(gè)鄰域像素的坐標(biāo)值差值,在所述預(yù)設(shè)空域權(quán)重表查詢,得到各個(gè)鄰域像素的空域權(quán)重值;

第二查表子模塊,用于依據(jù)所述各個(gè)鄰域像素的像素值差值,在所述預(yù)設(shè)像素域權(quán)重表內(nèi)查詢,得到各個(gè)鄰域像素的像素域權(quán)重值;

第三查表子模塊,用于依據(jù)所述各個(gè)鄰域像素的像素值差值的絕對值,在預(yù)設(shè)像素域貢獻(xiàn)表查詢,得到各個(gè)鄰域像素的像素域貢獻(xiàn)值。

優(yōu)選地,所述像素貢獻(xiàn)和計(jì)算模塊203包括:

初始像素貢獻(xiàn)值計(jì)算子模塊,用于計(jì)算各個(gè)鄰域像素的像素域貢獻(xiàn)值與空域權(quán)重值的乘積,得到各個(gè)鄰域像素的初始像素貢獻(xiàn)值;

符號運(yùn)算子模塊,用于對各個(gè)鄰域像素的像素值差值進(jìn)行符號運(yùn)算,得到各個(gè)鄰域像素的符號預(yù)算結(jié)果;

像素貢獻(xiàn)值計(jì)算子模塊,用于計(jì)算所述各個(gè)鄰域像素的初始像素貢獻(xiàn)值與所述各個(gè)鄰域像素的符號預(yù)算結(jié)果的乘積,得到各個(gè)鄰域像素的像素貢獻(xiàn)值;

像素貢獻(xiàn)和計(jì)算子模塊,用于對所述各個(gè)鄰域像素的像素貢獻(xiàn)值求和,得到所有鄰域像素的像素貢獻(xiàn)和。

優(yōu)選地,所述像素加權(quán)和計(jì)算模塊204包括:

像素加權(quán)值計(jì)算子模塊,用于計(jì)算各個(gè)鄰域像素的像素域權(quán)重值與空域權(quán)重值的乘積,得到各個(gè)鄰域像素的像素加權(quán)值;

像素加權(quán)和計(jì)算子模塊,用于對所述各個(gè)鄰域像素的像素加權(quán)值求和,得到所有鄰域像素的像素加權(quán)和。

優(yōu)選地,所述雙邊濾波結(jié)果計(jì)算模塊205包括:

倒數(shù)確定子模塊,用于確定所述像素加權(quán)和的倒數(shù);

第一移位位數(shù)確定子模塊,用于確定第一移位位數(shù);

第一移位運(yùn)算子模塊,用于依據(jù)所述第一移位位數(shù),對所述倒數(shù)進(jìn)行二進(jìn)制右移位運(yùn)算,得到移位運(yùn)算后的倒數(shù);

雙邊濾波結(jié)果計(jì)算子模塊,用于將所述像素貢獻(xiàn)和與所述移位運(yùn)算后的倒數(shù)相乘后,與所述待濾波像素值求和,得到待濾波像素的雙邊濾波結(jié)果。

優(yōu)選地,所述倒數(shù)確定子模塊包括:

第一縮放因子獲取單元,用于獲取所述預(yù)設(shè)像素域權(quán)重表的第一縮放因子,以及,所述預(yù)設(shè)空域權(quán)重表的第二縮放因子;

第二移位位數(shù)計(jì)算單元,用于依據(jù)所述第一縮放因子和第二縮放因子,計(jì)算得到第二移位位數(shù);

乘法縮放因子獲取單元,用于依據(jù)所述第二移位位數(shù)和所述像素加權(quán)和,在預(yù)設(shè)二進(jìn)制縮放表進(jìn)行查詢,得到所述像素加權(quán)和的乘法縮放因子;

像素加權(quán)和處理單元,用于依據(jù)所述乘法縮放因子,對所述像素加權(quán)和進(jìn)行二進(jìn)制對齊處理,得到對齊后的第二像素加權(quán)和;

初始倒數(shù)獲取單元,用于依據(jù)所述第二移位位數(shù)和所述第二像素加權(quán)和,在預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù);

倒數(shù)計(jì)算單元,用于依據(jù)所述乘法縮放因子和所述初始倒數(shù),計(jì)算所述像素加權(quán)和的倒數(shù)。

優(yōu)選地,所述乘法縮放因子獲取單元包括:

二進(jìn)制轉(zhuǎn)換子單元,用于將所述像素加權(quán)和轉(zhuǎn)換為二進(jìn)制,得到二進(jìn)制像素加權(quán)和;

第一移位計(jì)算子單元,用于依據(jù)所述第二移位位數(shù),對所述二進(jìn)制像素加權(quán)和進(jìn)行二進(jìn)制右移位運(yùn)算,得到第一像素加權(quán)和;

十進(jìn)制轉(zhuǎn)換子單元,用于將所述第一像素加權(quán)和,進(jìn)行十進(jìn)制轉(zhuǎn)換,得到第一查詢位碼;

乘法縮放因子獲取子單元,用于依據(jù)所述第一查詢位碼在所述預(yù)設(shè)二進(jìn)制縮放表進(jìn)行查詢,得到乘法縮放因子。

優(yōu)選地,所述初始倒數(shù)獲取單元包括:

第一移位計(jì)算子單元,用于依據(jù)所述第二移位位數(shù),對所述第二像素加權(quán)和進(jìn)行二進(jìn)制右移位運(yùn)算,得到右移位后的第三像素加權(quán)和;

與運(yùn)算子單元,用于將所述第三像素加權(quán)和與預(yù)設(shè)數(shù)值進(jìn)行與運(yùn)算,得到第二查詢位碼;

初始倒數(shù)獲取子單元,用于依據(jù)所述第二查詢位碼,在所述預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)。

優(yōu)選地,所述第一移位位數(shù)確定子模塊包括:

第二縮放因子獲取單元,用于獲取所述預(yù)設(shè)像素域貢獻(xiàn)表的第三縮放因子;

第一移位位數(shù)計(jì)算單元,用于依據(jù)所述第一縮放因子、第三縮放因子計(jì)算得到所述第一移位位數(shù)。

對于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。

本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。

本鄰域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本發(fā)明實(shí)施例是參照根據(jù)本發(fā)明實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

盡管已描述了本發(fā)明實(shí)施例的優(yōu)選實(shí)施例,但本鄰域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明實(shí)施例范圍的所有變更和修改。

最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。

以上對本發(fā)明所提供的一種圖像雙邊濾波方法和一種圖像雙邊濾波裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本鄰域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1