基于BayerRGB图像的边缘检测方法

文档序号:6599253阅读:647来源:国知局
专利名称:基于Bayer RGB图像的边缘检测方法
技术领域
本发明涉及图像处理领域,尤其涉及一种基于拜尔域三基色(Bayer RGB)图像的边缘检测方法。

背景技术
图像处理的基本目的包括产生更适合人观察和识别的图像或产生能由计算机自动识别和理解的图像。
由于光的漫反射,镜头,像素串扰等原因,CMOS图像传感器获取的图像会比较模糊,直接影响输出图像的观感。因此需要对输出图像进行图像处理,图像边缘检测和提取作为一种主要图像处理技术,广泛应用于CMOS图像传感器的图像处理芯片中。
边缘是图像中最基本的视觉特征,是图像处理最重要的内容之一。所谓边缘是指其周围的像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘反映的是灰度的不连续性,经典的边缘提取方法是考察图像的每个像素在某个邻域内的灰度变化,利用边缘附近一阶或二阶方向导数的变化规律,判断像素是否是边缘点,这种方法称为边缘检测局部算子法。
参考图1,示出了阶跃边缘的示意图,其中x,y为图像的坐标,F(x,y)为各坐标点对应的灰度函数,如图1所示,阶跃边缘灰度值在虚线a所示位置处,变化较大。参考图2,示出了图1所示阶跃边缘沿Y方向的示意图,如图2所示,在虚线a所示位置,F(x,y)从一个低灰度值跳变至一个较高的灰度值。参考图3,示出了图2所示阶跃边缘灰度函数的一阶导数示意图,如图3所示,在虚线a所示位置处,阶跃边缘一阶导数具有极大值,虚线a所示位置为边缘位置,因此,可通过灰度函数一阶导数的极大值来判断边缘位置。
现有技术中,边缘检测算子是判断边缘位置的方法之一,具体地,首先,通过边缘检测算子获得图像灰度梯度;然后,通过双阈值方法判断是否为边缘。
其中,所述边缘检测算子包括Roberts算子、Prewitt算子、Sobel算子、Krisch算子等。
图4,示出了Sobel算子的两个卷积核。在应用Sobel算子进行边缘检测时,图像中的每个像素点都用这两个卷积核进行卷积运算,以获得每个像素点的灰度梯度。其中,一个核对应于垂直方向的梯度,另一个核则对应于水平方向梯度。
现有技术的边缘检测建立于灰度变化的不连续性,其针对的对象是实际可见的彩色图像,即每个像素点已经包含了RGB三种颜色信息,即红(R)、绿(G)、蓝(B)三色信息。现有技术进行边缘检测时,需要先把像素点的RGB值按照Y=0.299*R+0.587*G+0.144*B的关系式转化为灰度值,然后再进行灰度值的梯度计算,进一步进行边缘检测。
但是,CMOS图像传感器输出的是Bayer RGB图像。在所述Bayer RGB图像中,每个像素点只包含单色信息(红、绿或蓝)。如果采用现有技术边缘检测方法,为了获得各像素点的灰度值,需要先对Bayer RGB图像的单色信息通过插补技术进行拓展,以得到三色信息,再根据三色信息和Y=0.299*R+0.587*G+0.144*B得到像素的灰度值。
以Sobel算子为例,应用Sobel算子需要3×3的灰度值阵列,因此需要先对Bayer RGB图像各像素点补充完整的颜色信息,再计算灰度值,这需要额外的硬件才能完成,从而增大了CMOS图像传感器成本。


发明内容
本发明解决的是改善基于Bayer RGB图像进行边缘检测的成本较高的问题。
为解决上述问题,本发明提供一种基于Bayer RGB图像的边缘检测方法,包括对目标像素点为中心的同色像素阵列进行梯度计算,得到目标像素点的垂直方向梯度和水平方向梯度的梯度绝对值和;分别计算目标像素点相邻像素点的梯度绝对值和;根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点。
可选的,在对目标像素点边缘检测前,先确定高阈值和低阈值。
可选的,在对目标像素点边缘检测前,先确定各颜色像素点对应的高阈值和低阈值。
可选的,所述确定各颜色像素点对应的高阈值和低阈值的步骤包括根据CMOS图像传感器各颜色通道的噪声情况,获得各颜色通道噪声水平估计值;由所述噪声水平估计值获得各颜色像素点对应的高阈值和低阈值。
可选的,所述根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点的步骤包括若目标像素点的梯度绝对值和大于高阈值,则所述目标像素点为边缘点。
可选的,所述根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点的步骤包括若目标像素点的梯度绝对值和小于低阈值,则所述目标像素点为非边缘点。
可选的,所述根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点的步骤包括若目标像素点的梯度绝对值和小于高阈值,且大于低阈值,并且与目标像素点相邻的像素点的梯度绝对值和中至少有一个大于高阈值,则所述目标像素点为边缘点。
可选的,所述根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点的步骤包括若目标像素点的梯度绝对值和小于高阈值,且大于低阈值,并且与目标像素点相邻的像素点的梯度绝对值和中大于低阈值的数目大于预设数目,则所述目标像素点为边缘点。
可选的,所述根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点的步骤包括若目标像素点的梯度绝对值和小于高阈值,且大于低阈值,并且与目标像素点相邻的像素点的梯度绝对值和中大于低阈值的数目小于或等于预设数目,则所述目标像素点为非边缘点。
可选的,预设数目为目标像素点相邻像素点个数的一半。
可选的,对目标像素点为中心的同色像素阵列进行梯度计算的步骤通过边缘检测算子完成。
可选的,所述边缘检测算子为Sobel算子。
与现有技术相比,本发明具有以下优点直接在Bayer RGB图像格式上进行边缘检测,不需要额外的硬件进行边缘检测,因此使用本发明提供的基于Bayer RGB的边缘检测方法简便易行硬件成本低; 另外,本发明提供的基于Bayer RGB的边缘检测方法中考虑了噪声因素,检测结果比较准确。



图1是阶跃边缘的示意图; 图2是图1所示阶跃边缘沿Y方向的示意图; 图3是图2所示阶跃边缘的一阶导数示意图; 图4是Sobel算子的两个卷积核; 图5是本发明基于Bayer RGB图像的边缘检测方法一实施方式的流程图; 图6是确定高阈值、低阈值方法一实施方式的流程图; 图7是Bayer RGB图像的像素分布示意图; 图8是应用Sobel算子的示意图。

具体实施例方式 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式
做详细的说明。
现有技术基于Bayer RGB图像进行边缘检测时,需要对Bayer RGB图像进行拓展,补充完整各像素点的颜色信息,并通过个像素点的颜色信息获得灰度值,这需要额外的硬件才能完成,因此现有技术Bayer RGB图像进行边缘检测的成本较高。
针对上述问题,本发明提供一种基于Bayer RGB图像的边缘检测方法,参考图5,示出了本发明基于Bayer RGB图像的边缘检测方法一实施方式的流程图,所述方法包括 步骤s1,选取以目标像素点为中心的同色像素阵列; 步骤s2,利用检测算子对所述同色像素阵列进行梯度计算,获得垂直方向梯度和水平方向梯度的梯度绝对值和; 步骤s3,按照相同的方法分别得到与目标像素点相邻像素点的梯度绝对值和; 步骤s4,若目标像素点的梯度绝对值和大于高阈值,则判定所述目标像素点为边缘点; 步骤s5,若目标像素点的梯度绝对值和小于低阈值,则判定所述目标像素点为非边缘点; 步骤s6,若目标像素点的梯度绝对值和小于高阈值,且大于低阈值,并且与目标像素点相邻像素点的梯度绝对值和中至少有一个大于高阈值,则判定所述目标像素点为边缘点; 步骤s7,若目标像素点的梯度绝对值和小于高阈值,且大于低阈值,并且与目标像素点相邻像素点的梯度绝对值和中大于低阈值的数目大于预设数目,则判定述目标像素点为边缘点; 步骤s8,若目标像素点的梯度绝对值和小于高阈值,且大于低阈值,并且与目标像素点相邻像素点的梯度绝对值和中大于低阈值的数目小于或等于预设数目,则判定所述目标像素点为非边缘点。
通过上述方法,可以确定单个像素点的边缘信息,进而也可采用相同的方式检测Bayer RGB图像其他像素点的边缘信息。在所述方法中,直接在BayerRGB图像格式上进行边缘检测,无需要再进行像素信息拓展和灰度值计算,即不需要额外的硬件进行边缘检测,成本低。
需要说明的是,为了能够对同色像素阵列应用检测算子,以获取灰度梯度,需根据检测算子进行选取以目标象素点为中心的同色像素阵列,例如检测算子为3×3的阵列,则选取3×3的以目标象素点为中心的同色像素阵列;检测算子为5×5的阵列,则选取5×5的以目标象素点为中心的同色像素阵列。
上述方法中,在对目标像素点进行边缘检测前,需要先确高阈值和低阈值。设计人发现现有技术确定高、低阈值的方法过于笼统、简单,会导致检测精度较低。设计人对确定高、低阈值的方法做出进一步改进。
为了达到较高的检测精度,本发明还提供一种确定高阈值、低阈值的方法。在上述边缘检测方法中,需要利用检测算子对所述同色像素阵列进行梯度计算,也就是说,进行梯度计算的是来自传感器同一颜色通道的数据。事实上,CMOS图像传感器中各颜色通道的增益水平不同,从而各颜色通道的噪声水平不同,所述噪声水平为噪声分布函数的标准偏差值。在确定高阈值、低阈值时,需考虑到噪声水平的影响。
具体地,参考图6,示出了确定高阈值、低阈值的方法的流程图。所述确定高阈值、低阈值的方法,包括首先,根据CMOS图像传感器各颜色通道的噪声情况,获得各颜色通道噪声水平估计值;其次,由所述噪声水平估计值获得各颜色像素点对应的高阈值和低阈值。
本发明提供的确定高阈值、低阈值的方法,结合了噪声因素,并且针对各个颜色的像素点分别给出了阈值,因此本发明提供的方法更加细致,检测出结果更加精确。
为了进一步阐述本发明的实质及其优点,下面结合具体实施例进行说明。
参考图7,示出了Bayer RGB图像的像素分布示意图。在进行边缘检测之前,先确定出高阈值和低阈值,在本实施例中采用现有的双阈值方法,所述双阈值方法通过灰度梯度的高阈值、低阈值判断边缘点,具体地,如果像素的灰度梯度大于高阈值,则所述像素是边缘;如果像素灰度梯度低于低阈值,则所述像素不是边缘。以TH_high、TH_low分别代表高阈值、低阈值。
如图7所示,Bayer RGB图像中位于(0,0)点的为一红色像素点R,以位于(0,0)点的R像素点作为目标像素点。
本实施例以Sobel算子为例,则选取3×3的以(0,0)点的R像素点为中心的同色像素阵列,如图7所示,以黑色边框示出了所选取的同色像素阵列。
以Sobel算子为例,对以(0,0)点的R目标像素点为中心的同色像素阵列进行梯度计算。参考图8,示出了所述同色像素阵列应用Sobel算子的示意图,如图8所示,对所述同色像素阵列进行卷积计算,分别获得垂直方向梯度(Grads_vertical)和水平方向梯度和(Grads_horizontal),之后计算垂直方向梯度和水平方向梯度的梯度绝对值和,以Grads(0,0)表示(0,0)点R像素点的梯度绝对值和,则梯度绝对值和的计算公式如下 Grads(0,0)=|Grads_vertical|+|Grads_horizontal| 计算与目标像素点相邻的8个像素点B(-1,-1)、Gb(-1,0)、B(-1,1)、Gr(0,-1)、Gr(0,1)、B(1,-1)、Gb(1,0)、B(1,-1)的梯度绝对值和,分别表示为Grads(-1,-1)、Grads(-1,0)、Grads(-1,1)、Grads(0,-1)、Grads(0,1)、Grads(1,-1)、Grads(1,0)、Grads(1,1)。
如果Grads(0,0)大于高阈值(TH_high),那么(0,0)点为边缘点; 如果Grads(0,0)小于低阈值(TH_low),则判定所述目标像素点为非边缘点; 如果Grads(0,0)小于高阈值(TH_high),且大于低阈值(TH_low),并且Grads(-1,-1)、Grads(-1,0)、Grads(-1,1)、Grads(0,-1)、Grads(0,1)、Grads(1,-1)、Grads(1,0)、Grads(1,1)中至少有一个大于高阈值(TH_high),那么(0,0)点为边缘点; 如果Grads(0,0)小于高阈值(TH_high_r),且大于低阈值(TH_low),并且Grads(-1,-1)、Grads(-1,0)、Grads(-1,1)、Grads(0,-1)、Grads(0,1)、Grads(1,-1)、Grads(1,0)、Grads(1,1)中大于低阈值(TH_low)数目大于预设数目,则判定所述目标像素点为边缘点。
如果Grads(0,0)小于高阈值(TH_high),且大于低阈值(TH_low),并且Grads(-1,-1)、Grads(-1,0)、Grads(-1,1)、Grads(0,-1)、Grads(0,1)、Grads(1,-1)、Grads(1,0)、Grads(1,1)中大于低阈值(TH_low)数目小于或等于预设数目,则判定所述目标像素点为非边缘点。
预设数目越高,则边缘检测精度要求越高,但容易造成实际的边缘点未确定为边缘点。为了平衡噪声对边缘检测的影响和精度的要求,较佳地,一般预设数目设置为目标像素点相邻像素点个数的一半,在本实施例中预设数目为4。
按照同样的方法,对图7所示Bayer RGB图像中的其它像素点进行边缘检测,从而得到完整的边缘图像。
为了使得边缘检测结果更加精确,下面提供本发明基于Bayer RGB图像的边缘检测方法一优化实施例。在本优化实施例中,先根据各颜色通道噪声水平估计值获得各颜色像素点对应得的高阈值、低阈值。
具体地,根据红色通道的噪声水平估计值(noise_level_r)来确定红色像素点R对应的高阈值TH_high_r、低阈值TH_low_r;根据蓝色通道的噪声水平估计值(noise_level_b)确定蓝色像素点B对应的高阈值TH_high_b、低阈值TH_low_b;根据Gb通道的噪声水平估计值(noise_level_gb)来确定Gb像素点对应的高阈值TH_high_gb、低阈值TH_low_gb;根据Gr通道的噪声水平估计值(noise_level_gr)来确定Gr像素点对应的高阈值TH_high_gr、低阈值TH_low_gr。其中,噪声水平估计值和高阈值、低阈值的关系式包括 TH_high_r=α·noise_level_r; TH_low_r=β·noise_level_r; TH_high_b=α·noise_level_b; TH_low_b=β·noise_level_b;...公式1 TH_high_gb=α·noise_leve_gb; TH_low_gb=β·noise_level_gb; TH_high_gr=α·noise_level 其中,α、β常数为经验参数,如果α、β常数取值较低时,会有非边缘点确定为边缘点,这会造成边缘检测的误差较大;而α、β常数取值较高时,则会造成实际的边缘点未确定为边缘点。因此上述关系式中的α、β常数可根据噪声类型,选取合适的参数值。
在本优化实施例中,进行目标像素点是否为边缘点的判断时,均结合各颜色像素点对应的高阈值、低阈值进行判断,例如,如图7所示(0,0)点为红色像素点R,那么比较Grads(0,0)是否大于高阈值时,以红色像素点对应的高阈值TH_highr进行比较;(1,1)点为蓝色像素点B;那么比较Grads(1,1)是否大于低阈值时,以蓝色像素点对应的抵阈值TH_low_b进行比较。以此类推,不做赘述。
需要说明的是,上述实施例中的Bayer RGB图像的(0,0)点为红色像素点,本发明并不限定Bayer RGB图像的像素点分布,本发明中Bayer RGB图像的(0,0)点还可以是其它颜色的像素点,例如蓝色像素点等。
需要说明的是,上述实施例虽然以Sobel检测算子为例,但是本发明并不限制检测算子的种类,本发明还可以是其它检测算子,例如Roberts算子、Prewitt算子、Krisch算子等。本领域技术人员可以根据上述实施例对本发明进行修改和变形。
综上,本发明提供的基于Bayer RGB的边缘检测方法,直接在Bayer RGB图像格式上进行边缘检测,无需补充完整各像素点的颜色信息,再计算灰度值,即不需要额外的硬件进行边缘检测,因此使用本发明提供的基于BayerRGB的边缘检测方法简便易行硬件成本低,此外,本发明提供的基于BayerRGB的边缘检测方法中考虑了噪声因素,检测结果比较准确。
本发明虽然以较佳实施例公开如上,但其并不是用来限定权利要求,任何本邻域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
权利要求
1.一种基于Bayer RGB图像的边缘检测方法,其特征在于,包括
对目标像素点为中心的同色像素阵列进行梯度计算,得到目标像素点的垂直方向梯度和水平方向梯度的梯度绝对值和;
分别计算目标像素点相邻像素点的梯度绝对值和;
根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点。
2.如权利要求1所述的基于Bayer RGB图像的边缘检测方法,其特征在于,在对目标像素点边缘检测前,先确定高阈值和低阈值。
3.如权利要求2所述的基于Bayer RGB图像的边缘检测方法,其特征在于,在对目标像素点边缘检测前,先确定各颜色像素点对应的高阈值和低阈值。
4.如权利要求3所述的基于Bayer RGB图像的边缘检测方法,其特征在于,所述确定各颜色像素点对应的高阈值和低阈值的步骤包括根据CMOS图像传感器各颜色通道的噪声情况,获得各颜色通道噪声水平估计值;由所述噪声水平估计值获得各颜色像素点对应的高阈值和低阈值。
5.如权利要求2所述的基于Bayer RGB图像的边缘检测方法,其特征在于,所述根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点的步骤包括若目标像素点的梯度绝对值和大于高阈值,则所述目标像素点为边缘点。
6.如权利要求2所述的基于Bayer RGB图像的边缘检测方法,其特征在于,所述根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点的步骤包括若目标像素点的梯度绝对值和小于低阈值,则所述目标像素点为非边缘点。
7.如权利要求2所述的基于Bayer RGB图像的边缘检测方法,其特征在于,所述根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点的步骤包括若目标像素点的梯度绝对值和小于高阈值,且大于低阈值,并且与目标像素点相邻的像素点的梯度绝对值和中至少有一个大于高阈值,则所述目标像素点为边缘点。
8.如权利要求2所述的基于Bayer RGB图像的边缘检测方法,其特征在于,所述根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点的步骤包括若目标像素点的梯度绝对值和小于高阈值,且大于低阈值,并且与目标像素点相邻的像素点的梯度绝对值和中大于低阈值的数目大于预设数目,则所述目标像素点为边缘点。
9.如权利要求2所述的基于Bayer RGB图像的边缘检测方法,其特征在于,所述根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点的步骤包括若目标像素点的梯度绝对值和小于高阈值,且大于低阈值,并且与目标像素点相邻的像素点的梯度绝对值和中大于低阈值的数目小于或等于预设数目,则所述目标像素点为非边缘点。
10.如权利要求8或9所述的基于Bayer RGB图像的边缘检测方法,其特征在于,预设数目为目标像素点相邻像素点个数的一半。
11.如权利要求1所述的基于Bayer RGB图像的边缘检测方法,其特征在于,对目标像素点为中心的同色像素阵列进行梯度计算的步骤通过边缘检测算子完成。
12.如权利要求11所述的基于Bayer RGB图像的边缘检测方法,其特征在于,所述边缘检测算子为Sobel算子。
全文摘要
一种基于Bayer RGB图像的边缘检测方法,包括对目标像素点为中心的同色像素阵列进行梯度计算,得到目标像素点的垂直方向梯度和水平方向梯度的梯度绝对值和;分别计算目标像素点相邻像素点的梯度绝对值和;根据目标像素点及其相邻像素点的梯度绝对值和与高阈值和低阈值的比较关系,判断目标像素点是否为边缘点。所述方法直接在Bayer RGB图像格式上进行边缘检测,不需要额外的硬件进行边缘检测,因此使用本发明提供的基于Bayer RGB的边缘检测方法简便易行硬件成本低。
文档编号G06T7/00GK101770646SQ20101012522
公开日2010年7月7日 申请日期2010年2月25日 优先权日2010年2月25日
发明者董德兴, 任晓慧 申请人:昆山锐芯微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1