專利名稱:一種用于數(shù)字攝像的自適應壞點去除方法
技術領域:
本發(fā)明涉及一種用于數(shù)字攝像的自適應壞點去除方法,尤其涉及一種基于利用相鄰象素的相關性確定的自適應閾值對數(shù)字攝像頭壞點進行去除的方法。
背景技術:
數(shù)字攝像頭主要分為兩種電荷耦合器件(charge coupled devices,CCD)和互補金屬氧化物主動式像素傳感器(complimentary metal oxidesemiconductor-active pixel sensors,CMOS)兩種。這兩種攝像頭都包含一個感光陣列,通過這個感光陣列,攝像頭才能采集圖像。感光陣列中每一個傳感器都對應圖像的一個像素,收集每個像素一個或者多個波長光線的強度,從而對應采集一種或者多種顏色。
另外每一種攝像頭都包含一個彩色濾波陣列(color filter array),比如美國第3,971,065號專利所描述的拜爾模式(Bayer pattern)。在Bayer模式的中,每一個傳感器只能采集到一種波長的光,對應的顏色分別為紅色、藍色或者綠色(如圖1所示)。為了得到每一個像素點的三個顏色分量,必須通過鄰近的點通過內插的方式得到,內插的方式有很多種,比如拷貝法,雙線性插值法以及后來的一些自適應方法等。
為了使得通過內插后能得到質量比較好的圖像,攝像頭收集的數(shù)據(jù)(原始數(shù)據(jù))必須要精確。然而,盡管制造工藝在不斷的完善,攝像頭的生產還是不可避免地存在一些具有缺陷的象素,造成這些缺陷有可能是生產的失誤,也有可能只是一個污點,最終都會導致攝像頭收集到的數(shù)據(jù)不精確。攝像頭的壞點可以通過跟周圍的同顏色的點進行比較來確認,一旦確認壞點,就要用周圍的點內插出來的點來代替壞點。
在業(yè)界已有的一些去除壞點的方法1.通過同一幅圖像中同一行的象素點內插出當前的像素點的值y’并與當前的像素點y的值進行比較,找出壞點。
2.對5×5的原始圖像塊進行處理,找出這個塊中跟中心點同種顏色的色素點的最大值ymax跟最小值ymin,判斷中心點是不是在[ymax+T,ymin-T]的范圍內,其中T為系統(tǒng)輸入的固定閾值。
方法1實現(xiàn)起來比較簡單方便,但是因為沒有比較豎直方向的相鄰象素的值,從而很容易抹掉圖像中垂直的線。方法2則最多要從12個值中比較得到最大值和最小值,計算比較復雜,而且當中間的象素點是一個亮點或者暗點的時候容易被抹去。
發(fā)明內容為了解決現(xiàn)有技術的壞點去除方法容易將圖像中的正確象素作為壞點抹去的技術問題。本發(fā)明提出了一種基于利用相鄰象素的相關性確定的自適應閾值對數(shù)字攝像頭壞點進行去除的方法。
本發(fā)明解決現(xiàn)有技術的壞點去除方法容易將圖像中的正確象素作為壞點抹去的技術問題所采用的技術方案是提供一種用于數(shù)字攝像的自適應壞點去除方法,該方法包括a.輸入原始數(shù)據(jù),以內插方法確定預檢測象素周圍的相鄰異色象素處的內插象素;b.根據(jù)內插象素與內插象素相鄰的非相關同色象素之間的差值確定自適應閾值;c.根據(jù)內插象素以及由自適應閾值與系統(tǒng)閾值求和獲得的總閾值確定預檢測象素是否為壞點。
根據(jù)本發(fā)明一優(yōu)選實施例,在步驟a中包括輸入以預檢測象素為中心的5×5象素陣列。
根據(jù)本發(fā)明一優(yōu)選實施例,象素陣列為拜爾模式。
根據(jù)本發(fā)明一優(yōu)選實施例,在步驟a中,當預檢測象素為紅色或藍色時,根據(jù)預檢測象素的水平和垂直方向上最近的同色象素確定預檢測象素周圍對角方向上的相鄰異色象素處的內插象素。
根據(jù)本發(fā)明一優(yōu)選實施例,在步驟b中,計算內插象素和對角方向上相鄰的同色象素的絕對差值并將絕對差值的最大值作為自適應閾值。
根據(jù)本發(fā)明一優(yōu)選實施例,在步驟a中,當預檢測象素為綠色時,根據(jù)預檢測象素的對角方向上最近的同色象素確定預檢測象素周圍水平和垂直方向上的相鄰異色象素處的內插象素。
根據(jù)本發(fā)明一優(yōu)選實施例,在步驟b中,計算內插象素和水平或垂直方向上相鄰的非相關同色象素的絕對差值并將絕對差值的最大值作為自適應閾值。
根據(jù)本發(fā)明一優(yōu)選實施例,在步驟c中,將預檢測象素與內線象素中的最大內插象素值與總閾值的求和值進行比較,當預檢測象素大于最大內插象素值與總閾值的求和值時,預檢測象素為壞點并利用最大內插象素值與總閾值的求和值代替預檢測象素輸出。
根據(jù)本發(fā)明一優(yōu)選實施例,在步驟c中,將預檢測象素與內線象素中的最小內插象素值與總閾值的差值進行比較,當預檢測象素小于最小內插象素值與總閾值的差值時,預檢測象素為壞點并利用最小內插象素值與總閾值的差值代替預檢測象素輸出。
根據(jù)本發(fā)明一優(yōu)選實施例,在步驟a中,利用線性內插方法確定內插象素。
上述技術方案的有益效果是通過利用相鄰象素的相關性自適應產生的閾值和系統(tǒng)閾值可以準確檢測出原始數(shù)據(jù)的壞點,其算法相對簡單、準確性高。
圖1是本發(fā)明所使用的Bayer模式數(shù)據(jù)的示意圖;圖2是中心象素為紅色的5×5塊的原始數(shù)據(jù);圖3是中心象素為藍色的5×5塊的原始數(shù)據(jù);圖4是中心象素為綠色而其左右相鄰象素為藍色的5×5塊的原始數(shù)據(jù);圖5是中心象素為綠色而其左右相鄰象素為紅色的5×5塊的原始數(shù)據(jù);圖6是中心點為紅色的5×5塊的內插操作及自適應閾值計算的示意圖;圖7是中心點為綠色且左右兩邊為藍色的5×5塊的內插操作及自適應閾值計算的示意圖;圖8為實現(xiàn)本發(fā)明的自適應壞點去除方法的系統(tǒng)流水線架構圖。
具體實施方式下面結合附圖和實施例對本發(fā)明進一步說明。
如圖1所示,是本發(fā)明所使用的模式數(shù)據(jù)的示意圖。由于在Bayer模式下,綠色象素的數(shù)量為紅色和藍色象素的和,因而紅色和藍色象素至少要相隔一個綠色象素。根據(jù)圖像中像素的相關性,離得越近的象素,相關性越強,對于壞點去除的參考意義越大。所以下文所述的壞點去除方法中,判斷壞點的參考象素選用5×5單元中內插出來的象素作為參考點,內插的方法有很多,可以選用雙線性內插等內插方法。
如圖2-圖5所示,對于Bayer模式來說,5×5的子塊有四種組成方式,分別為紅色象素為中心(如圖2)、藍色象素為中心(如圖3)、綠色象素為中心且左右為紅色象素(如圖4)、綠色象素為中心且左右為藍色象素(如圖5)。
當5×5子塊中中心象素為紅色的時候(如圖2)所示,中心象素R22的左上、右上、左下、右下四個方向的點都為藍色象素,分別為B11、B13、B31、B33。通過內插的方法在這四個藍色點的位置內插出紅色的分量(如圖6)所示,本實施例中用的是線性內插法,也可以用其他的方法。
R11=(R02+R20)/2R13=(R02+R24)/2R31=(R20+R42)/2R33=(R24+R42)/2根據(jù)像素點之間的關聯(lián)性,可以認為|R00-R11|近似等于|R11-R22|,同樣的道理R22、R04和R13,R22、R31和R40以及R22、R33和R44有同樣的關系,根據(jù)這種關系可以算出R22相對于R11、R13、R31、R33的自適應閾值ThR,如下T1=|R00-R11|T2=|R40-R31|T3=|R04-R13|T4=|R33-R44|ThR=max(T1,T2,T3,T4)自適應的閾值ThR跟系統(tǒng)閾值Ts相加就可以得到總的閾值T=ThR+Ts,其中Ts可以是一個固定值,也可以根據(jù)不同的模式查表得到,也可以根據(jù)系統(tǒng)輸入設置,因為知道噪聲點跟溫度以及環(huán)境光的強弱都有關系。
如果中心象素R22>max(R11,R13,R31,R33)+T,則認為中心象素R22為壞點,輸出R22′=(max(R11,R13,R31,R33)+T),另外,如果R22<min(R11,R13,R31,R33)-T,則也認為R22為壞點,輸出為R22′=(min(R11,R13,R31,R33)-T),如果不屬于上面兩種情況則我們認為R22為正常的點,直接輸出R22′=R22。
當5×5子塊中心象素為藍色的時候(如圖3所示),可以根據(jù)與上述步驟類似的過程確定中心象素是否為壞點,并根據(jù)判斷結果對其進行糾正或直接輸出。
當5×5子塊中心象素為綠色且中心點左右像素為藍色時(如圖4)。中心象素的上、下、左、右四點為紅點或者藍點,分別為B21、B23、R12、R32。通過內插的方法在這些位置上得到這些像素的綠色分量(如圖7)所示,本實施例中采用線性內插法,也可以用其他的方法。
G12=(G11+G13)/2G21=(G11+G31)/2G31=(G13+G33)/2G32=(G31+G33)/2根據(jù)像素點之間的關聯(lián)性,可以認為|G20-G21|近似等于|G21-G22|,同樣的道理G22、G02和G12,G22、G23和G24以及G22、G32和G42有同樣的關系,根據(jù)這種關系我們可以算出G22相對于G21、G12、G23、G32的自適應閾值ThG,如下T5=|G30-G31|T6=|G23-G24|T7=|G02-G12|T8=|G32-G42|ThG=max(T5,T6,T7,T8)自適應的閾值ThG跟系統(tǒng)閾值Ts相加就可以得到總的閾值T=ThG+Ts,其中Ts可以是一個固定值,也可以根據(jù)不同的模式查表得到,也可以根據(jù)系統(tǒng)輸入設置,因為噪聲點跟溫度以及環(huán)境光的強弱都有關系。
如果G22>max(G12,G21,G23,G32)+T則認為中心象素點G22為壞點,輸出為G22′=(max(G12,G21,G23,G32)+T),如果G22<min(G12,G21,G23,G32)-T,則認為G22為壞點,輸出為G22′=(min(G12,G21,G23,G32)-T),如果不屬于上面兩種情況則我們認為G22為正常象素,直接輸出G22′=G22。
當5×5子塊中心象素為綠色且中心點左右像素為紅色的時候(如圖5)。可以根據(jù)與上述步驟類似過程確定中心像素是否為壞點,并根據(jù)判斷結果對其進行糾正或者直接輸出。
如圖8所示,圖8為實現(xiàn)本發(fā)明的自適應壞點去除方法的系統(tǒng)流水線架構圖。系統(tǒng)的輸入為一列五個像素值,內部采用5×6×n的寄存器陣列來寄存輸入的值,其中n為每個像素的比特數(shù),輸入數(shù)據(jù)每個循環(huán)輸入5個像素,內部的寄存器作相應的移位。因為5×5的子塊的四種情況中,中心點為紅色或者藍色的時候計算完全一樣,而中心點為綠色的兩種情況計算也是完全一樣的,所以系統(tǒng)的計算單元我們有兩條三級的流水線。當完成5列的輸入后,插值模塊1和插值模塊2開始得到有效的數(shù)據(jù),在第二拍,閾值產生模塊1和閾值產生模塊2分別接收到插值模塊1和插值模塊2的有效數(shù)據(jù)的同時從寄存器陣列中取相應的值計算出兩個閾值,在第三拍,比較輸出模塊1和比較輸出模塊2分別根據(jù)插值模塊1、插值模塊2、閾值產生模塊1、閾值產生模塊2得到的結果進行判定并輸出,從而整體形成流水線結構。整個系統(tǒng)由兩條三級流水線組成,對應于圖10中的通路一和通路二,分別對應于計算中心為R、B或者中心為G的5×5的子塊。輸出控制模塊可以判斷最開始的輸入情況依次分別把通路一和通路二中得到的數(shù)據(jù)進行輸出。
本發(fā)明提出的壞點去除算法在準確性以及復雜性方面相對于其他的算法有較大的改善,同時我們又用了流水線結構,符合攝像頭系統(tǒng)的實時性要求,平均可以一個循環(huán)一個像素輸出,適用于目前廣泛使用的數(shù)碼拍攝設備。
上述的詳細描述僅是示范性描述,本領域技術人員在不脫離本發(fā)明所保護的范圍和精神的情況下,可根據(jù)不同的實際需要設計出各種實施方式。
權利要求
1.一種用于數(shù)字攝像的自適應壞點去除方法,其特征在于所述方法包括a.輸入原始數(shù)據(jù),以內插方法確定預檢測象素周圍的相鄰異色象素處的內插象素;b.根據(jù)所述內插象素與所述內插象素相鄰的非相關同色象素之間的差值確定自適應閾值;c.根據(jù)所述內插象素以及由所述自適應閾值與系統(tǒng)閾值求和獲得的總閾值確定所述預檢測象素是否為壞點。
2.根據(jù)權利要求1所述的自適應壞點去除方法,其特征在于在所述步驟a中包括輸入以所述預檢測象素為中心的5×5象素陣列。
3.根據(jù)權利要求1所述的自適應壞點去除方法,其特征在于所述象素陣列為拜爾模式。
4.根據(jù)權利要求3所述的自適應壞點去除方法,其特征在于在所述步驟a中,當所述預檢測象素為紅色或藍色時,根據(jù)所述預檢測象素的水平和垂直方向上最近的同色象素確定所述預檢測象素周圍對角方向上的相鄰異色象素處的內插象素。
5.根據(jù)權利要求4所述的自適應壞點去除方法,其特征在于在所述步驟b中,計算所述內插象素和對角方向上相鄰的非相關同色象素的絕對差值并將所述絕對差值的最大值作為所述自適應閾值。
6.根據(jù)權利要求3所述的自適應壞點去除方法,其特征在于在所述步驟a中,當所述預檢測象素為綠色時,根據(jù)所述預檢測象素的對角方向上最近的同色象素確定所述預檢測象素周圍水平和垂直方向上的相鄰異色象素處的內插象素。
7.根據(jù)權利要求6所述的自適應壞點去除方法,其特征在于在所述步驟b中,計算所述內插象素和水平或垂直方向上相鄰的非相關同色象素的絕對差值并將所述絕對差值的最大值作為所述自適應閾值。
8.根據(jù)上述權利要求任意一項所述的自適應壞點去除方法,其特征在于在所述步驟c中,將所述預檢測象素與所述內線象素中的最大內插象素值與所述總閾值的求和值進行比較,當所述預檢測象素大于所述最大內插象素值與所述總閾值的求和值時,所述預檢測象素為壞點并利用所述最大內插象素值與所述總閾值的求和值代替所述預檢測象素輸出。
9.根據(jù)權利要求8所述的自適應壞點去除方法,其特征在于在所述步驟c中,將所述預檢測象素與所述內線象素中的最小內插象素值與所述總閾值的差值進行比較,當所述預檢測象素小于所述最小內插象素值與所述總閾值的差值時,所述預檢測象素為壞點并利用最小內插象素值與所述總閾值的差值代替所述預檢測象素輸出。
10.根據(jù)權利要求9所述的自適應壞點去除方法,其特征在于在所述步驟a中,利用線性內插方法確定所述內插象素。
全文摘要
本發(fā)明涉及一種用于數(shù)字攝像的自適應壞點去除方法,該自適應壞點去除方法包括輸入原始數(shù)據(jù),以內插方法確定預檢測象素周圍的相鄰異色象素處的內插象素;根據(jù)內插象素與內插象素相鄰的非相關同色象素之間的差值確定自適應閾值;根據(jù)內插象素以及由自適應閾值與系統(tǒng)閾值求和獲得的總閾值確定預檢測象素是否為壞點。本方法通過利用相鄰象素的相關性自適應產生的閾值和系統(tǒng)閾值可以準確檢測出原始數(shù)據(jù)的壞點,其算法相對簡單、準確性高。
文檔編號H04N17/00GK101060643SQ20061006036
公開日2007年10月24日 申請日期2006年4月17日 優(yōu)先權日2006年4月17日
發(fā)明者孫叢豪, 李揮, 張志軍, 何偉, 王智韜, 張政操, 陳慕羿 申請人:北京大學深圳研究生院