本发明涉及图像处理技术领域,尤其涉及一种bayer图像的去坏像素方法。
背景技术:
随着半导体芯片技术的数字图像处理技术的不断发展,如今人们可以通过数码相机与手机可以很方便地获得高分辨率的视频或图片,然而由于cmos图像传感器的先天硬件限制,很多图像传感器pixel阵列上会随机出现坏像素,坏像素对图像的影响极大,然而,目前还没有较为有效的进行坏像素校正的方案,因此,有必要进行深入研究。
技术实现要素:
本发明的目的是提供一种bayer图像的去坏像素方法,旨在解决cmos图像传感器pixel阵列上的坏像素问题,并且占用空间少,成本低。
本发明的目的是通过以下技术方案实现的:
一种bayer图像的去坏像素方法,包括:
以图像中的一像素点作为中心像素选取n×m的bayer矩阵;
计算bayer矩阵中与中心像素相同通道的其他像素的亮度极值或者亮度次极值;
根据亮度极值或者亮度次极值判断中心像素是否为坏像素;
若是,则利用亮度极值或者亮度次极值对中心坏像素进行替换;或者,利用bayer矩阵中各个通道每个方向的梯度对中心坏像素进行替换。
所述bayer矩阵包括:
第一行中心像素点为r分量的bayer矩阵;
或者,第一行中心像素点为b分量的bayer矩阵;
或者,第一行中心像素点为g分量且该行包含r分量的bayer矩阵;
或者,第一行中心像素点为g分量且该行包含b分量的bayer矩阵。
所述计算bayer矩阵中与中心像素相同通道的其他像素的极值或者次极值包括:
计算与中心像素相同通道的其他像素的亮度极大值与亮度极小值,或者亮度次大值与亮度次小值。
所述根据极值或者次极值判断中心像素是否为坏像素包括:
假设中心像素的亮度值为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为线性系数,offset为补偿系数。
计算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|);
其中,上面各个参数下标第一位与第二位分别为像素的行、列号,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'=y25+(3×(y23+y27)+(y21+y29))/8–(3×(y13+y17)+(y11+y19))/8,并令ynew=grad_v'。
由上述本发明提供的技术方案可以看出,直接在bayer图像上对坏像素进行校正,可以得到更好的插值图像效果;同时,在对bayer图像进行去坏像素时,充分考虑了中心坏像素所处的图像区域,进而进行去坏像素,避免了对图像细节的误判。此外,可以根据实际情况选择相应大小的bayer矩阵,以节省了器件面积,从而节省成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种bayer图像的去坏像素方法流程图;
图2(a)~图2(d)为本发明实施例提供的四种情况下2×9的bayer矩阵排列图;
图3(a)是本发明实施例提供的2×9的bayer矩阵示意图,图3(b)是本发明实施例提供的2×9的bayer矩阵区域选取图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种bayer图像的去坏像素方法,如图1所示,其主要包括如下步骤:
s1、以图像中的一像素点作为中心像素选取n×m的bayer矩阵。
本发明实施例中,n、m的具体数值可以根据实际情况来设定,例如,可以依次设为2、9,则选取2×9的bayer矩阵,此时,在进行去坏像素操作时只需使用两行sram,可以节省了器件面积,从而节省成本。
示例性的,bayer矩阵可以有如下四种情况:
第一行中心像素点为r分量的bayer矩阵;
或者,第一行中心像素点为b分量的bayer矩阵;
或者,第一行中心像素点为g分量且该行包含r分量的bayer矩阵;
或者,第一行中心像素点为g分量且该行包含b分量的bayer矩阵。
举例来说,如果是2×9的bayer矩阵,那么上述四种情况的示例可对应的参见图2(a)~图2(d);本领域技术人员可以理解,这些图中,粗黑框区域为2*9的bayer矩阵,第1、3行为选取行,第2行不需要sram缓冲。
s2、计算bayer矩阵中与中心像素相同通道的其他像素的亮度极值或者亮度次极值。
本发明实施例中,亮度极值或者亮度次极值主要为:亮度极大值与亮度极小值,或者亮度次大值与亮度次小值。
举例来说,如果bayer矩阵为图3(a)所示的2×9的bayer矩阵,其中心像素亮度值为y15;那么,与中心像素相同通道的其他像素可以单独选取出来,如图3(b)所示。
s3、根据亮度极值或者亮度次极值判断中心像素是否为坏像素。
假设中心像素的亮度值为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为线性系数,offset为补偿系数。
本领域技术人员可以理解,白像素与黑像素均属于坏像素。
s4、若是,则利用亮度极值或者亮度次极值对中心坏像素进行替换;或者,利用bayer矩阵中各个通道每个方向的梯度对中心坏像素进行替换。
本发明实施例中,如bayer矩阵为2×9形式,则可以结合附图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|)。
上述各个参数下标第一位与第二位分别为像素的行、列号,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'=y25+(3×(y23+y27)+(y21+y29))/8–(3×(y13+y17)+(y11+y19))/8,并令ynew=grad_v';
其中,ynew为替换后的中心像素亮度值。
本发明实施例的上述方案,直接在bayer图像上对坏像素进行校正,可以得到更好的插值图像效果;同时,在对bayer图像进行去坏像素时,充分考虑了中心坏像素所处的图像区域,进而进行去坏像素,避免了对图像细节的误判。此外,可以根据实际情况选择相应大小的bayer矩阵,以节省了器件面积,从而节省成本。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。