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