本發(fā)明涉及圖像處理技術領域,尤其涉及一種bayer圖像的去壞像素方法。
背景技術:
隨著半導體芯片技術的數(shù)字圖像處理技術的不斷發(fā)展,如今人們可以通過數(shù)碼相機與手機可以很方便地獲得高分辨率的視頻或圖片,然而由于cmos圖像傳感器的先天硬件限制,很多圖像傳感器pixel陣列上會隨機出現(xiàn)壞像素,壞像素對圖像的影響極大,然而,目前還沒有較為有效的進行壞像素校正的方案,因此,有必要進行深入研究。
技術實現(xiàn)要素:
本發(fā)明的目的是提供一種bayer圖像的去壞像素方法,旨在解決cmos圖像傳感器pixel陣列上的壞像素問題,并且占用空間少,成本低。
本發(fā)明的目的是通過以下技術方案實現(xiàn)的:
一種bayer圖像的去壞像素方法,包括:
以圖像中的一像素點作為中心像素選取n×m的bayer矩陣;
計算bayer矩陣中與中心像素相同通道的其他像素的亮度極值或者亮度次極值;
根據(jù)亮度極值或者亮度次極值判斷中心像素是否為壞像素;
若是,則利用亮度極值或者亮度次極值對中心壞像素進行替換;或者,利用bayer矩陣中各個通道每個方向的梯度對中心壞像素進行替換。
所述bayer矩陣包括:
第一行中心像素點為r分量的bayer矩陣;
或者,第一行中心像素點為b分量的bayer矩陣;
或者,第一行中心像素點為g分量且該行包含r分量的bayer矩陣;
或者,第一行中心像素點為g分量且該行包含b分量的bayer矩陣。
所述計算bayer矩陣中與中心像素相同通道的其他像素的極值或者次極值包括:
計算與中心像素相同通道的其他像素的亮度極大值與亮度極小值,或者亮度次大值與亮度次小值。
所述根據(jù)極值或者次極值判斷中心像素是否為壞像素包括:
假設中心像素的亮度值為y,亮度極大值、亮度極小值、亮度次大值、亮度次小值依次記為:max1、min1、max2、min2;
判斷方法如下:
若y>max1,則判定中心像素為白像素,若y<min1,則判定中心像素為黑像素;否則,判定中心像素為正常像素;
或者,若y>max2,則判定中心像素為白像素,若y<min2,則判定中心像素為黑像素;否則,判定中心像素為正常像素;
或者,y>k×max1+offset,則判定中心像素為白像素,若y<k×min1+offset,則判定中心像素為黑像素;否則,判定中心像素為正常像素;
或者,y>k×max2+offset,則判定中心像素為白像素,若y<k×min2+offset,則判定中心像素為黑像素;否則,判定中心像素為正常像素;
其中,k為線性系數(shù),offset為補償系數(shù)。
計算bayer矩陣中各個通道每個方向的梯度包括:
如果為2×9的bayer矩陣,則計算公式如下:
水平梯度:grad_h=3×(|y17–y11|+|y19–y13|+|y27–y21|+|y29–y23|)+(|y16–y12|+|y18–y14|+|y26–y22|+|y28–y24|);
垂直梯度:grad_v=3×(|y21–y11|+|y23–y13|+|y27–y17|+|y29–y19|)+(|y22–y12|+|y24–y14|+|y26–y16|+|y28–y18|);
其中,上面各個參數(shù)下標第一位與第二位分別為像素的行、列號,y為相應像素的亮度值。
利用亮度極值或者亮度次極值對中心壞像素進行替換;或者,利用bayer矩陣中各個通道每個方向的梯度對中心壞像素進行替換包括:
將亮度極大值、亮度極小值、亮度次大值、亮度次小值依次記為:max1、min1、max2、min2;
若中心像素為白像素,則令ynew=max1;若為黑像素,則令ynew=min1;
或者,若中心像素為白像素,則令ynew=max2;若為黑像素,則令ynew=min2;
或者,若中心像素為白像素或者黑像素,且grad_h>grad_v時,計算水平梯度替代值grad_h'=(3×(y13+y17)+(y11+y19))/8,并令ynew=grad_h';
或者,若中心像素為白像素或者黑像素,且grad_h≤grad_v時,計算垂直梯度替代值grad_v'=y(tǒng)25+(3×(y23+y27)+(y21+y29))/8–(3×(y13+y17)+(y11+y19))/8,并令ynew=grad_v'。
由上述本發(fā)明提供的技術方案可以看出,直接在bayer圖像上對壞像素進行校正,可以得到更好的插值圖像效果;同時,在對bayer圖像進行去壞像素時,充分考慮了中心壞像素所處的圖像區(qū)域,進而進行去壞像素,避免了對圖像細節(jié)的誤判。此外,可以根據(jù)實際情況選擇相應大小的bayer矩陣,以節(jié)省了器件面積,從而節(jié)省成本。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域的普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。
圖1為本發(fā)明實施例提供的一種bayer圖像的去壞像素方法流程圖;
圖2(a)~圖2(d)為本發(fā)明實施例提供的四種情況下2×9的bayer矩陣排列圖;
圖3(a)是本發(fā)明實施例提供的2×9的bayer矩陣示意圖,圖3(b)是本發(fā)明實施例提供的2×9的bayer矩陣區(qū)域選取圖。
具體實施方式
下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。
本發(fā)明實施例提供一種bayer圖像的去壞像素方法,如圖1所示,其主要包括如下步驟:
s1、以圖像中的一像素點作為中心像素選取n×m的bayer矩陣。
本發(fā)明實施例中,n、m的具體數(shù)值可以根據(jù)實際情況來設定,例如,可以依次設為2、9,則選取2×9的bayer矩陣,此時,在進行去壞像素操作時只需使用兩行sram,可以節(jié)省了器件面積,從而節(jié)省成本。
示例性的,bayer矩陣可以有如下四種情況:
第一行中心像素點為r分量的bayer矩陣;
或者,第一行中心像素點為b分量的bayer矩陣;
或者,第一行中心像素點為g分量且該行包含r分量的bayer矩陣;
或者,第一行中心像素點為g分量且該行包含b分量的bayer矩陣。
舉例來說,如果是2×9的bayer矩陣,那么上述四種情況的示例可對應的參見圖2(a)~圖2(d);本領域技術人員可以理解,這些圖中,粗黑框區(qū)域為2*9的bayer矩陣,第1、3行為選取行,第2行不需要sram緩沖。
s2、計算bayer矩陣中與中心像素相同通道的其他像素的亮度極值或者亮度次極值。
本發(fā)明實施例中,亮度極值或者亮度次極值主要為:亮度極大值與亮度極小值,或者亮度次大值與亮度次小值。
舉例來說,如果bayer矩陣為圖3(a)所示的2×9的bayer矩陣,其中心像素亮度值為y15;那么,與中心像素相同通道的其他像素可以單獨選取出來,如圖3(b)所示。
s3、根據(jù)亮度極值或者亮度次極值判斷中心像素是否為壞像素。
假設中心像素的亮度值為y,亮度極大值、亮度極小值、亮度次大值、亮度次小值依次記為:max1、min1、max2、min2;
判斷方法如下:
若y>max1,則判定中心像素為白像素,若y<min1,則判定中心像素為黑像素;否則,判定中心像素為正常像素;
或者,若y>max2,則判定中心像素為白像素,若y<min2,則判定中心像素為黑像素;否則,判定中心像素為正常像素;
或者,y>k×max1+offset,則判定中心像素為白像素,若y<k×min1+offset,則判定中心像素為黑像素;否則,判定中心像素為正常像素;
或者,y>k×max2+offset,則判定中心像素為白像素,若y<k×min2+offset,則判定中心像素為黑像素;否則,判定中心像素為正常像素;
其中,k為線性系數(shù),offset為補償系數(shù)。
本領域技術人員可以理解,白像素與黑像素均屬于壞像素。
s4、若是,則利用亮度極值或者亮度次極值對中心壞像素進行替換;或者,利用bayer矩陣中各個通道每個方向的梯度對中心壞像素進行替換。
本發(fā)明實施例中,如bayer矩陣為2×9形式,則可以結(jié)合附圖3a來計算bayer矩陣中各個通道每個方向的梯度,具體公式如下:
水平梯度:grad_h=3×(|y17–y11|+|y19–y13|+|y27–y21|+|y29–y23|)+(|y16–y12|+|y18–y14|+|y26–y22|+|y28–y24|);
垂直梯度:grad_v=3×(|y21–y11|+|y23–y13|+|y27–y17|+|y29–y19|)+(|y22–y12|+|y24–y14|+|y26–y16|+|y28–y18|)。
上述各個參數(shù)下標第一位與第二位分別為像素的行、列號,y為相應像素的亮度值。
對中心壞像素進行替換的方式如下:
若中心像素為白像素,則令ynew=max1;若為黑像素,則令ynew=min1;
或者,若中心像素為白像素,則令ynew=max2;若為黑像素,則令ynew=min2;
或者,若中心像素為白像素或者黑像素,且grad_h>grad_v時,計算水平梯度替代值grad_h'=(3×(y13+y17)+(y11+y19))/8,并令ynew=grad_h';
或者,若中心像素為白像素或者黑像素,且grad_h≤grad_v時,計算垂直梯度替代值grad_v'=y(tǒng)25+(3×(y23+y27)+(y21+y29))/8–(3×(y13+y17)+(y11+y19))/8,并令ynew=grad_v';
其中,ynew為替換后的中心像素亮度值。
本發(fā)明實施例的上述方案,直接在bayer圖像上對壞像素進行校正,可以得到更好的插值圖像效果;同時,在對bayer圖像進行去壞像素時,充分考慮了中心壞像素所處的圖像區(qū)域,進而進行去壞像素,避免了對圖像細節(jié)的誤判。此外,可以根據(jù)實際情況選擇相應大小的bayer矩陣,以節(jié)省了器件面積,從而節(jié)省成本。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例可以通過軟件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,上述實施例的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是cd-rom,u盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明披露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權利要求書的保護范圍為準。