專利名稱:一種有效去除灰度圖像中噪點(diǎn)的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于視頻及圖像處理技術(shù),具體涉及一種有效去除灰度圖像中噪點(diǎn)的方法。
背景技術(shù):
在圖像或視頻處理工作中,往往會(huì)要求進(jìn)行摳像處理,即將特定的主體從背景中 分離出來,以便進(jìn)行其它的后續(xù)設(shè)計(jì)。但是,將圖像/視頻進(jìn)行摳像后所形成的灰度圖 (matte)可能在黑色或白色區(qū)域存在一些灰色點(diǎn),這些灰色點(diǎn)會(huì)影響圖像的整體視覺效果, 如何才能從白色區(qū)域或者黑色區(qū)域中將這些灰點(diǎn)去除掉,形成比較干凈的灰度圖,對于圖 像處理領(lǐng)域來說是非常有意義的。傳統(tǒng)的方法是通過設(shè)置門限的方式將灰色點(diǎn)去除,這種 辦法雖然操作比較簡單,但非常容易造成邊界生硬,如果利用摳像后的灰度圖再進(jìn)行圖像 混合,效果不夠理想。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的缺陷,提供一種有效去除灰度圖像中噪點(diǎn)的方 法,使處理后的圖像邊界保持自然過渡。
本發(fā)明的技術(shù)方案如下一種有效去除灰度圖像中噪點(diǎn)的方法,包括如下步驟 (1)針對摳像后的灰度圖像,選擇對黑色區(qū)域或白色區(qū)域進(jìn)行噪點(diǎn)去除; (2)根據(jù)選定的區(qū)域設(shè)定區(qū)域門限條件,遍歷該區(qū)域內(nèi)的所有像素點(diǎn),判斷每個(gè)像
素點(diǎn)是否滿足門限條件; (3)設(shè)定邊界寬度,根據(jù)邊界寬度確定所選區(qū)域內(nèi)的邊界像素點(diǎn),對邊界像素點(diǎn)進(jìn) 行插值處理,并根據(jù)區(qū)域顏色將非邊界像素點(diǎn)的灰度值設(shè)為0或1 ;
(4)設(shè)定邊界軟邊,對所選區(qū)域進(jìn)行軟邊處理。 進(jìn)一步,如上所述的有效去除灰度圖像中噪點(diǎn)的方法,如果步驟(1)中選擇對黑 色區(qū)域進(jìn)行噪點(diǎn)去除,則步驟(2)中針對黑色區(qū)域設(shè)定的門限條件為該區(qū)域內(nèi)的像素點(diǎn) 的灰度值小于門限threshold并且不等于零,O < threshold < 1。 更進(jìn)一步,如上所述的有效去除灰度圖像中噪點(diǎn)的方法,針對黑色區(qū)域,步驟(3) 中確定邊界像素點(diǎn)的方法為以當(dāng)前像素點(diǎn)為中心,以邊界寬度為半徑的范圍內(nèi)如果存在 灰度值大于或等于門限threshold的像素點(diǎn),則當(dāng)前像素點(diǎn)為邊界像素點(diǎn)。對邊界像素點(diǎn)進(jìn) 行插值處理后得到的灰度值表達(dá)式如下factorX (old pixel value) + (l_factor) X (new pixel value),其中,old pixel value為像素點(diǎn)原有灰度值,new pixel value為0 ;插值 因子factor = 0. 6375 X (edge width) X (edge width)/(min distance),其中,edge width 為邊界寬度,min distance為灰度值大于或等于門限threshold的像素點(diǎn)距離當(dāng)前像素點(diǎn) 的最短距離;如果factor > l,取factor = 1。 或者,針對黑色區(qū)域,步驟(3)中確定邊界像素點(diǎn)的方法為以當(dāng)前像素點(diǎn)為中 心,以2Xedge width為邊長的矩形區(qū)域內(nèi)確定像素點(diǎn)的最大灰度值,如果最大灰度值大于門限threshold,則當(dāng)前像素點(diǎn)為邊界像素點(diǎn)。對邊界像素點(diǎn)進(jìn)行插值處理后得到的 灰度值表達(dá)式如下factorX (old pixel value) + (l_factor) X (new pixel value),其 中,old pixel value為像素點(diǎn)原有灰度值,new pixel value為0 ;插值因子factor = 0. 6375X (edge width) X (edge width),其中,edge width為邊界寬度。
進(jìn)一步,如上所述的有效去除灰度圖像中噪點(diǎn)的方法,如果步驟(1)中選擇對白 色區(qū)域進(jìn)行噪點(diǎn)去除,則步驟(2)中針對白色區(qū)域設(shè)定的門限條件為該區(qū)域內(nèi)的像素點(diǎn) 的灰度值大于門限threshold并且不等于1,0 < threshold < 1。 更進(jìn)一步,如上所述的有效去除灰度圖像中噪點(diǎn)的方法,針對白色區(qū)域,步驟(3) 中確定邊界像素點(diǎn)的方法為以當(dāng)前像素點(diǎn)為中心,以邊界寬度為半徑的范圍內(nèi)如果存在 灰度值小于或等于門限threshold的像素點(diǎn),則當(dāng)前像素點(diǎn)為邊界像素點(diǎn)。對邊界像素點(diǎn)進(jìn) 行插值處理后得到的灰度值表達(dá)式如下factorX (old pixel value) + (l_factor) X (new pixel value),其中,old pixel value為像素點(diǎn)原有灰度值,new pixel value為1 ;插值 因子factor = 0. 6375 X (edge width) X (edge width)/(min distance),其中,edge width 為邊界寬度,min distance為灰度值小于或等于門限threshold的像素點(diǎn)距離當(dāng)前像素點(diǎn) 的最短距離;如果factor > l,取factor = 1。 或者,針對白色區(qū)域,步驟(3)中確定邊界像素點(diǎn)的方法為以當(dāng)前像素點(diǎn)為中 心,以2Xedge width為邊長的矩形區(qū)域內(nèi)確定像素點(diǎn)的最小灰度值,如果最小灰度值小 于門限threshold,則當(dāng)前像素點(diǎn)為邊界像素點(diǎn)。對邊界像素點(diǎn)進(jìn)行插值處理后得到的 灰度值表達(dá)式如下factorX (old pixel value) + (l_factor) X (new pixel value),其 中,old pixel value為像素點(diǎn)原有灰度值,new pixel value為1 ;插值因子factor = 0. 6375X (edge width) X (edge width),其中,edge width為邊界寬度。
進(jìn)一步,如上所述的有效去除灰度圖像中噪點(diǎn)的方法,步驟(4)中所述的軟邊處 理為高斯模糊處理或均值模糊處理。 本發(fā)明的有益效果如下本發(fā)明通過設(shè)定的門限條件確定黑色區(qū)域或白色區(qū)域中 的灰色點(diǎn),對邊界像素點(diǎn)進(jìn)行插值處理,并進(jìn)行軟邊處理,能夠快速高效的將黑色或白色區(qū) 域的灰色點(diǎn)去除,并保持邊界的自然過渡,克服了現(xiàn)有技術(shù)中易造成邊界生硬的缺陷,使前 景與背景混合后達(dá)到完美的效果。其算法簡單,易于優(yōu)化,具有很強(qiáng)的實(shí)用性。
圖1為本發(fā)明的方法流程圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)的描述。 本發(fā)明的流程如圖1所示,本發(fā)明所提出的這種去除噪點(diǎn)的方法主要應(yīng)用在摳像 后所形成的灰度圖(matte)中,可以分別去除白色區(qū)域的灰點(diǎn)和黑色區(qū)域的灰點(diǎn),也可以 同時(shí)去除。 該方法主要涉及三個(gè)參數(shù)門限(threshold),邊界寬度(edge width),邊界軟邊 (edge softness)。門限(threshold)用來控制哪些灰度點(diǎn)需要進(jìn)行處理,邊界寬度(edge width)用來控制邊界的多少個(gè)像素需要保留,邊界軟邊(edgesoftness)用來控制邊界的柔邊。在具體實(shí)現(xiàn)中,三個(gè)參數(shù)一般的取值范圍如下門限(threshold)為0 1 ;邊界寬 度(edge width)為0 100個(gè)像素,邊界軟邊(edge softness)為0 100個(gè)像素。
對于黑色區(qū)域,具體方法如下 如果門限(threshold)等于0,表示不需要對黑色區(qū)域進(jìn)行處理。 如果門限(threshold)大于O,表示在灰度圖中所有灰度值小于門限(threshold)
并且不等于0的像素點(diǎn)變成0 (黑色)。 如果門限(threshold)大于0并且邊界寬度(edge width)大于O,則進(jìn)行邊界處理。 首先,遍歷區(qū)域內(nèi)的所有像素點(diǎn),判斷每個(gè)像素點(diǎn)是否滿足門限(threshold)條 件灰度值小于門限(threshold)并且不等于O。 然后,進(jìn)行邊界處理,以當(dāng)前一個(gè)像素點(diǎn)為中心,在以邊界寬度(edge width)為半 徑的范圍內(nèi)尋找是否有其它像素點(diǎn)的灰度值大于或等于門限(threshold),如果找到一個(gè),
說明當(dāng)前這個(gè)像素是邊界點(diǎn),需要進(jìn)行保留,那么這個(gè)像素的新值要在o-舊像素值進(jìn)行
插值,這樣可以保證邊界點(diǎn)不是生硬過渡。否則保持這個(gè)像素的灰度值為0。 插值公式為線性插值,邊界像素點(diǎn)進(jìn)行插值處理后得到的灰度值表達(dá)式為
factorX (old pixel value) + (l_factor) X (new pixel value)。其中,new pixel value為o。 此處需要計(jì)算插值因子factor,理論上需要在以當(dāng)前這個(gè)像素為圓心,以邊界寬 度(edge width)為半徑選中一個(gè)距離這個(gè)像素最近且滿足條件的像素點(diǎn)。這時(shí)候factor =0. 6375X (edge width) X (edge width)/(min distance) , min distance為灰度值大于 或等于門限threshold的像素點(diǎn)距離當(dāng)前像素點(diǎn)的最短距離,如果factor > 1取factor =1 ,這樣保證插值結(jié)果不大于原來這個(gè)像素點(diǎn)。這個(gè)公式的幾何意義是對于邊界點(diǎn)的像素 點(diǎn)隨著邊界寬度(edgewidth)的增大,逐漸由0(黑色)恢復(fù)到原來灰度值。
由于上述求factor的方法在優(yōu)化計(jì)算時(shí)非常困難,計(jì)算量巨大,本發(fā)明進(jìn)一步 提供了一個(gè)簡潔的近似方法來代替,即只在以當(dāng)前這個(gè)像素為中心,以2Xedge width為 邊長的矩形區(qū)域進(jìn)行搜索,尋找最大值,如果最大值都小于門限(threshold),說明這個(gè) 像素點(diǎn)不是邊界點(diǎn),保持O(黑色),否則是邊界點(diǎn)需要做插值。factor = 0.6375XEdge widthXEdge width, min distance = 1。這樣可以大幅度提高計(jì)算速度,并能保持較好的 效果。 如果門限(threshold)大于0并且邊界軟邊(edge softnes s)大于O,要進(jìn)行軟 邊處理。如果沒有進(jìn)行邊界處理,將把做完門限處理后的圖像來做軟邊處理,否則將做完邊 界處理的圖像來做軟邊處理。 軟邊處理就是模糊平均周圍像素值,可以采用現(xiàn)有技術(shù)中的高斯模糊處理或均值 模糊處理。 高斯模糊是以高斯函數(shù)ga脂0c,W-」-了.e 2一做周圍像素的加權(quán)系數(shù),然后
2;rcr
求和。均值模糊是對周圍像素做平均求和。這些方法對于本領(lǐng)域技術(shù)人員來說都是公知技
術(shù),此處不再過多描述。邊界像素是否為o在這一步最終確定。
對于白色區(qū)域,具體方法如下
如果進(jìn)行了去除黑色區(qū)域灰點(diǎn)的處理,那么這個(gè)結(jié)果將作為去除白色區(qū)域灰點(diǎn)算 法的輸入源,否則就以原始灰度圖作為輸入源。 如果門限(threshold)等于1,表示不需要對白色區(qū)域進(jìn)行處理。 如果門限(threshold)小于l,表示在灰度圖中所有灰度值大于門限(threshold)
并且不等于1的像素點(diǎn)變成1 (白色)。 如果門限(threshold)小于1并且邊界寬度(edge width)大于O,進(jìn)行邊界處理。
首先,遍歷區(qū)域內(nèi)的所有像素點(diǎn),判斷每個(gè)像素點(diǎn)是否滿足門限(threshold)條 件灰度值大于門限(threshold)并且不等于1。 然后,進(jìn)行邊界處理,以當(dāng)前一個(gè)像素為中心,在以邊界寬度(edge width)為半
徑的范圍內(nèi)尋找是否有其它像素點(diǎn)的灰度值小于或等于門限(threshold)的,如果找到一
個(gè),說明這個(gè)像素是邊界點(diǎn),需要進(jìn)行保留,那么這個(gè)像素的新值要在舊像素值-l進(jìn)行插
值,這樣可以保證邊界點(diǎn)不是生硬過渡。否則保持這個(gè)像素的灰度值為1。 插值公式為線性插值,邊界像素點(diǎn)進(jìn)行插值處理后得到的灰度值表達(dá)式為
factorX (old pixel value) + (l_factor) X (new pixel value)。其中,new pixel value為i。 此處需要計(jì)算插值因子factor,理論上需要在以這個(gè)像素為圓心,以邊界寬度 (edge width)為半徑選中一個(gè)距離這個(gè)像素最近滿足條件的像素點(diǎn)。這時(shí)候factor = 0. 6375X(edge width) X (edge width)/(min distance) ,min distance為滿足條件的像素 點(diǎn)距離當(dāng)前像素點(diǎn)的最短距離,如果factor > 1取factor = 1,這樣保證插值結(jié)果不小于 原來這個(gè)像素點(diǎn)。這個(gè)公式的幾何意義是對于邊界點(diǎn)的像素點(diǎn)隨著邊界寬度(edge width) 的增大,逐漸由l(白色)恢復(fù)到原來灰度值。 由于上述求factor的方法在優(yōu)化計(jì)算時(shí)非常困難,計(jì)算量巨大,本發(fā)明進(jìn)一步 提供了一個(gè)簡潔的近似方法來代替,即只在以當(dāng)前這個(gè)像素為中心,以2Xedge width為 邊長的矩形區(qū)域進(jìn)行搜索,尋找最小值,如果最小值都大于門限(threshold),說明這個(gè) 像素點(diǎn)不是邊界點(diǎn),保持l(白色),否則是邊界點(diǎn)需要做插值。factor = 0.6375XEdge widthXEdge width, min distance = 1。這樣可以大幅度提高計(jì)算速度,并能保持較好的 效果。 如果門限(threshold)小于1并且邊界軟邊(edge softness)大于O,要進(jìn)行軟邊 處理。如果沒有進(jìn)行邊界處理,將把做完門限處理后的圖像來做軟邊處理,否則將做完邊界 處理的圖像來做軟邊處理。 軟邊處理就是模糊平均周圍像素值,可以采用現(xiàn)有技術(shù)中的高斯模糊處理或均值 模糊處理。 高斯模糊是以高斯函數(shù)gal^(x,>0 = J了.e^^做周圍像素的加權(quán)系數(shù),然后
求和。均值模糊是對周圍像素做平均求和。這些方法對于本領(lǐng)域技術(shù)人員來說都是公知技 術(shù),此處不再過多描述。邊界像素是否為l在這一步最終確定。 本發(fā)明所提供的方法工作在x86/x86-64架構(gòu)下面,在具體實(shí)現(xiàn)這個(gè)算法的時(shí)候, 可以采用intel的SIMD增強(qiáng)指令集SSE2提高算法速度。由于SSE2可以進(jìn)行整數(shù)或者浮 點(diǎn)的矢量計(jì)算,所以同時(shí)可以計(jì)算多個(gè)像素的鍵值;另外,由于SSE2指令很容易實(shí)現(xiàn)掩模計(jì)算,就使得本發(fā)明在計(jì)算鍵值的時(shí)候沒有任何條件分支語句,從而也提高了速度。 根據(jù)試驗(yàn)結(jié)果,在一臺(tái)主頻為2. 5GHz的處理器上,計(jì)算一幅720x576大小灰度圖
像,如果再充分利用多核/超線程技術(shù)的話(將計(jì)算平均分配到每個(gè)核上面或者硬件線程 上),一個(gè)四核的CPU處理邊界寬度比較小的情況需要1. 0ms左右,如果邊界寬度比較大的 情況大約需要5. 0ms。 本發(fā)明所述的方法并不限于具體實(shí)施方式
中所述的實(shí)施例,本領(lǐng)域技術(shù)人員根據(jù) 本發(fā)明的技術(shù)方案得出其他的實(shí)施方式,同樣屬于本發(fā)明的技術(shù)創(chuàng)新范圍。
權(quán)利要求
一種有效去除灰度圖像中噪點(diǎn)的方法,包括如下步驟(1)針對摳像后的灰度圖像,選擇對黑色區(qū)域或白色區(qū)域進(jìn)行噪點(diǎn)去除;(2)根據(jù)選定的區(qū)域設(shè)定區(qū)域門限條件,遍歷該區(qū)域內(nèi)的所有像素點(diǎn),判斷每個(gè)像素點(diǎn)是否滿足門限條件;(3)設(shè)定邊界寬度,根據(jù)邊界寬度確定所選區(qū)域內(nèi)的邊界像素點(diǎn),對邊界像素點(diǎn)進(jìn)行插值處理,并根據(jù)區(qū)域顏色將非邊界像素點(diǎn)的灰度值設(shè)為0或1;(4)設(shè)定邊界軟邊,對所選區(qū)域進(jìn)行軟邊處理。
2. 如權(quán)利要求1所述的有效去除灰度圖像中噪點(diǎn)的方法,其特征在于如果步驟(1) 中選擇對黑色區(qū)域進(jìn)行噪點(diǎn)去除,則步驟(2)中針對黑色區(qū)域設(shè)定的門限條件為該區(qū)域 內(nèi)的像素點(diǎn)的灰度值小于門限threshold并且不等于零,O < threshold < 1。
3. 如權(quán)利要求2所述的有效去除灰度圖像中噪點(diǎn)的方法,其特征在于針對黑色區(qū)域, 步驟(3)中確定邊界像素點(diǎn)的方法為以當(dāng)前像素點(diǎn)為中心,以邊界寬度為半徑的范圍內(nèi) 如果存在灰度值大于或等于門限threshold的像素點(diǎn),則當(dāng)前像素點(diǎn)為邊界像素點(diǎn),對邊 界像素點(diǎn)進(jìn)行插值處理后得到的灰度值表達(dá)式如下factorX (old pixel value) + (l_factor) X (new pixel value),其中,old pixel value為像素點(diǎn)原有灰度值,new pixel value為0 ;插值因子factor = 0. 6375X (edge width) X (edge width)/(min distance),其中,edge width為邊界寬度,min distance為灰度值大于或等于門限threshold的像素點(diǎn)距離當(dāng)前像素點(diǎn)的最短距離;如果factor > l,取factor = 1。
4. 如權(quán)利要求2所述的有效去除灰度圖像中噪點(diǎn)的方法,其特征在于針對黑色區(qū)域, 步驟(3)中確定邊界像素點(diǎn)的方法為以當(dāng)前像素點(diǎn)為中心,以2Xedge width為邊長的矩 形區(qū)域內(nèi)確定像素點(diǎn)的最大灰度值,如果最大灰度值大于門限threshold,則當(dāng)前像素點(diǎn)為 邊界像素點(diǎn),對邊界像素點(diǎn)進(jìn)行插值處理后得到的灰度值表達(dá)式如下factorX (old pixel value) + (l_factor) X (new pixel value), 其中,old pixel value為像素點(diǎn)原有灰度值,new pixel value為0 ; 插值因子factor = 0. 6375 X (edge width) X (edge width),其中,edge width為邊界 寬度。
5. 如權(quán)利要求1所述的有效去除灰度圖像中噪點(diǎn)的方法,其特征在于如果步驟(1) 中選擇對白色區(qū)域進(jìn)行噪點(diǎn)去除,則步驟(2)中針對白色區(qū)域設(shè)定的門限條件為該區(qū)域 內(nèi)的像素點(diǎn)的灰度值大于門限threshold并且不等于l,O < threshold < 1。
6. 如權(quán)利要求5所述的有效去除灰度圖像中噪點(diǎn)的方法,其特征在于針對白色區(qū)域, 步驟(3)中確定邊界像素點(diǎn)的方法為以當(dāng)前像素點(diǎn)為中心,以邊界寬度為半徑的范圍內(nèi) 如果存在灰度值小于或等于門限threshold的像素點(diǎn),則當(dāng)前像素點(diǎn)為邊界像素點(diǎn),對邊 界像素點(diǎn)進(jìn)行插值處理后得到的灰度值表達(dá)式如下factorX (old pixel value) + (l_factor) X (new pixel value),其中,old pixel value為像素點(diǎn)原有灰度值,new pixel value為1 ;插值因子factor = 0. 6375X (edge width) X (edge width)/(min distance),其中,edge width為邊界寬度,min distance為灰度值小于或等于門限threshold的像素點(diǎn)距離當(dāng)前像素點(diǎn)的最短距離;如果factor 〉 l,取factor = 1。
7. 如權(quán)利要求5所述的有效去除灰度圖像中噪點(diǎn)的方法,其特征在于針對白色區(qū)域, 步驟(3)中確定邊界像素點(diǎn)的方法為以當(dāng)前像素點(diǎn)為中心,以2Xedge width為邊長的矩 形區(qū)域內(nèi)確定像素點(diǎn)的最小灰度值,如果最小灰度值小于門限threshold,則當(dāng)前像素點(diǎn)為 邊界像素點(diǎn),對邊界像素點(diǎn)進(jìn)行插值處理后得到的灰度值表達(dá)式如下factorX (old pixel value) + (l_factor) X (new pixel value), 其中,old pixel value為像素點(diǎn)原有灰度值,new pixel value為1 ; 插值因子factor = 0. 6375 X (edge width) X (edge width),其中,edge width為邊界 寬度。
8. 如權(quán)利要求l所述的有效去除灰度圖像中噪點(diǎn)的方法,其特征在于步驟(4)中所 述的軟邊處理為高斯模糊處理或均值模糊處理。
全文摘要
本發(fā)明屬于視頻及圖像處理技術(shù),具體涉及一種有效去除灰度圖像中噪點(diǎn)的方法。該方法通過設(shè)定的門限條件確定黑色區(qū)域或白色區(qū)域中的灰色點(diǎn),對邊界像素點(diǎn)進(jìn)行插值處理,并進(jìn)行軟邊處理,能夠快速高效的將黑色或白色區(qū)域的灰色點(diǎn)去除,并保持邊界的自然過渡,克服了現(xiàn)有技術(shù)中易造成邊界生硬的缺陷,使前景與背景混合后達(dá)到完美的效果。
文檔編號H04N1/409GK101764908SQ20081023899
公開日2010年6月30日 申請日期2008年12月8日 優(yōu)先權(quán)日2008年12月8日
發(fā)明者劉鐵華, 孫季川, 見良, 鄭鵬程 申請人:新奧特(北京)視頻技術(shù)有限公司