一种黑白图像中缺陷像素的校正方法与流程

文档序号:11775759阅读:381来源:国知局
一种黑白图像中缺陷像素的校正方法与流程

本发明涉及半导体技术领域,具体涉及一种黑白图像中缺陷像素的校正方法。



背景技术:

在图像成像过程中,最先出来的raw图像数据会存在拥有缺陷像素的现象,缺陷像素将导致整个图像质量下降。因此,需要对图像成像过程中的缺陷像素进行去除。

通常对整个图像进行校正,面对缺陷像素较集中的区域,校正效果不明显;或者虽然在一定程度上能达到明显的校正效果,但是采用的运算步骤较为复杂,例如,一般采用从多种梯度来对缺陷点进行判断和校正,但校正效果实际上并不理想,又或者是对于图像的边缘处理效果不佳。



技术实现要素:

本发明所要解决的技术问题是提供一种黑白图像中缺陷像素的校正方法,将2×2个像素组成的检测单元中的每个像素放在不同的检测单元中,经过三次检测之后确定缺陷像素,对不同的缺陷像素类型采用不同的基于边缘方向的校正方法进行校正,提高了图像的边缘处理效果。

为了实现上述目的,本发明采用如下技术方案:一种黑白图像中缺陷像素的校正方法,其特征在于,包括:

步骤01:采集一张黑白图像;

步骤02:以2×2个像素作为一个检测单元,对所述黑白图像进行缺陷像素的检测,并将缺陷像素存储在存储单元中;

步骤03:找到所述黑白图像中的第一个缺陷像素,确定以该缺陷像素为顶点的检测单元,对该检测单元中的第一行缺陷像素采用基于区域边缘方向的校正方法进行校正,校正之后的缺陷像素标记为正常点,按照上述方式,依次对所述黑白图像中该缺陷像素所在行的剩余缺陷像素依次进行校正,当该行中的边缘缺陷像素不能采用基于区域边缘方向的校正方法进行校正时,则该缺陷像素不做校正;

步骤04:重复步骤03,依次对所述黑白图像中所有行的缺陷像素进行校正,输出图像;

其中,步骤02中缺陷像素的检测的具体步骤为:

步骤0201:进行缺陷像素的第一次检测,去除黑白图像中的最下行和最右列像素之后,对剩余像素中的j/2×i/2个检测单元进行逐个检测,比较待检测像素值与该待检测像素的阈值之间的关系,如果待检测像素值大于阈值,则为缺陷像素,否则,为正常点,其中,所述黑白图像中每行含有i+1个像素,每列含有j+1个像素;

步骤0202:进行缺陷像素的第二次检测,去除黑白图像中的最下行和最左列像素之后,对剩余像素中的j/2×i/2个检测单元进行逐个检测,比较待检测像素值与该待检测像素的阈值之间的关系,如果待检测像素值大于阈值,则为缺陷像素,否则,为正常点,其中,所述黑白图像中每行含有i+1个像素,每列含有j+1个像素;

步骤0203:进行缺陷像素的第三次检测,去除黑白图像中的最上行和最右列像素之后,对剩余像素中的j/2×i/2个检测单元进行逐个检测,比较待检测像素值与该待检测像素的阈值之间的关系,如果待检测像素值大于阈值,则为缺陷像素,否则,为正常点,其中,所述黑白图像中每行含有i+1个像素,每列含有j+1个像素。

进一步地,所述待检测像素的阈值为阈值系数与检测单元中位于待检测像素对角线上两个像素的中值的乘积。

进一步地,所述阈值系数为1.5-2.5。

进一步地,所述步骤03中第一个缺陷像素为p(0)(0),找到以p(0)(0)为顶点的2×2个像素组成的检测单元,其中,p(0)(0)位于该检测单元的左上角,p(0)(1)位于该检测单元的右上角,p(1)(0)位于该检测单元的左下角,p(1)(1)位于该检测单元的右下角,

进一步地,当所述检测单元中缺陷像素个数小于3时,若p(0)(1)为缺陷像素,则采用第一校正法对p(0)(0)和p(0)(1)进行校正,若p(0)(1)不为缺陷像素,则采用第一校正法对p(0)(0)进行校正;当当所述检测单元中缺陷像素个数大于等于3时,若p(0)(1)为缺陷像素,则采用第二校正法对p(0)(0)和p(0)(1)进行校正,若p(0)(1)不为缺陷像素,则采用第一校正法对p(0)(0)进行校正。

进一步地,所述第一校正法包括:

步骤a01:以p(0)(0)像素为中心,其周围3×3的像素组成第一校正单元,该校正单元中第一行的像素从左到右依次为p(-1)(-1),p(-1)(0),p(-1)(1),第二行的像素从左到右依次为p(0)(-1),p(0)(0),p(0)(1),第三行的像素从左到右依次为p(1)(-1),p(1)(0),p(1)(1);

步骤a02:判断该第一校正单元的区域边缘方向;

步骤a03:若水平方向为该第一校正单元的区域边缘方向,则p(0)(0)=p(-1)(0)-p(-1)(-1)+p(0)(-1),若p(0)(1)为缺陷像素,则p(0)(1)=p(0)(0)+(p(-1)(1)-p(-1)(0)+p(1)(1)-p(1)(0))/2;

若竖直方向为该第一校正单元的区域边缘方向,则p(0)(0)=p(-1)(0)+p(0)(-1)-p(-1)(-1);若p(0)(1)为缺陷像素,则p(0)(1)=p(-1)(1)+(p(0)(0)-p(-1)(0));

若对角线方向为该第一校正单元的区域边缘方向,则p(0)(0)=p(-1)(1)+p(0)(-1)-p(-1)(0),若p(0)(1)为缺陷像素,则p(0)(1)=p(1)(0)-p(0)(-1)-p(-1)(0);

若反对角线方向为该第一校正单元的区域边缘方向,若p(0)(1)为缺陷像素,则p(0)(0)=p(-1)(-1)+p(1)(0)-p(0)(-1),p(0)(1)=p(-1)(0)+p(1)(0)-p(0)(-1);若p(0)(1),p(1)(0)不是缺陷像素,则p(0)(0)=p(-1)(-1)+(p(1)(0)-p(0)(-1)+p(0)(1)-p(-1)(0))/2;若p(1)(0)为缺陷像素,则p(0)(0)=p(-1)(-1)+p(0)(1)-p(-1)(0)。

进一步地,所述步骤a02中判断校正单元的区域边缘方向,具体步骤包括:

步骤c01:在3×3的区域中,做水平,竖直,以及对角线方向的梯度,其中,h为水平梯度,v为竖直梯度,aa为对角线方向梯度,ab为反对角线梯度;

步骤c02:h1=|p(0)(1)+p(0)(-1)-2*p(0)(0)|,h2=|p(1)(1)+p(1)(-1)-2*p(1)(0)|,h3=|p(-1)(1)+p(-1)(-1)-2*p(-1)(0)|,v1=|p(1)(0)+p(-1)(0)-2*p(0)(0)|,v2=|p(1)(1)+p(-1)(1)-2*p(0)(1)|,h3=|p(1)(-1)+p(-1)(-1)-2*p(0)(-1)|;aa1=2*|p(-1)(1)-p(1)(-1)|,aa2=2*|p(0)(1)-p(1)(0)|,aa3=2*|p(-1)(0)-p(0)(-1)|;ab1=2*|p(-1)(1)-p(1)(1)|,ab2=2*|p(-1)(0)-p(0)(1)|,ab3=2*|p(0)(-1)-p(1)(0)|;

步骤c03:分别算出h1、h2、h3的最小值h,v1、v2、v3的最小值v,aa1、aa2、aa3的最小值aa,ab1、ab2、ab3的最小值ab,然后比较出h,v,aa,ab的最小值,则最小值为该校正单元的区域边缘方向。

进一步地,所述第二校正法的步骤包括:

步骤b01:以p(0)(0)像素为顶点,向左和向上方向的3×3个像素组成第二校正单元,该校正单元中第一行的像素从左到右依次为p(-2)(-2),p(-2)(-1),p(-2)(0),第二行的像素从左到右依次为p(-1)(-2),p(-1)(-1),p(-1)(0),第三行的像素从左到右依次为p(0)(-2),p(0)(-1),p(0)(0);

步骤b02:判断该第二校正单元的区域边缘方向;

步骤b03:若水平方向为该第二校正单元的区域边缘方向,则p(0)(0)=p(0)(-1)+(p(-2)(0)-p(-2)(-1)+p(-1)(0)-p(-1)(-1))/2;

若竖直方向为该第二校正单元的区域边缘方向,则p(0)(0)=p(-1)(0)+(p(0)(-1)-p(-1)(-1)+p(0)(-2)-p(-1)(-2))/2;

若对角线方向为该第二校正单元的区域边缘方向,则p(0)(0)=p(-1)(1)+(p(0)(-1)-p(-1)(0)+p(-1)(-1)-p(-2)(0)+p(-1)(-2)-p(-2)(-1))/3;

若反对角线方向为该第二校正单元的区域边缘方向,则p(0)(0)=p(-1)(-1)+(p(0)(-1)-p(-1)(-2)+p(-1)(0)-p(-2)(-1))/2;

步骤b04:若p(0)(1)为缺陷像素,重复步骤b01-b04,对p(0)(1)进行校正。

进一步地,所述步骤b02中判断校正单元的区域边缘方向,具体步骤包括:

步骤d01:在3×3个像素的第二校正单元中,做水平,竖直,以及对角线方向的梯度,其中,h为水平梯度,v为竖直梯度,aa为对角线方向梯度,ab为反对角线梯度

步骤d02:h1=|p(-1)(0)+p(-1)(-2)-2*p(-1)(-1)|,|h2=p(0)(0)+p(0)(-2)-2*p(0)(-1)|,|h3=p(-2)(0)+p(-2)(-2)-2*p(-2)(-1)|;v1=|p(0)(-1)+p(-2)(-1)-2*p(-1)(-1)|,|v2=p(0)(0)+p(-2)(0)-2*p(-1)(0)|,|h3=p(0)(-2)+p(-2)(-2)-2*p(-1)(-2)|;aa1=2*|p(-2)(0)-p(0)(-2)|,aa2=2*|p(-1)(0)-p(0)(-1)|,aa3=2*|p(-2)(-1)-p(-1)(-2)|;ab1=2*|p(-2)(0)-p(0)(0)|,ab2=2*|p(-2)(-1)-p(-1)(0)|,ab3=2*|p(-1)(-2)-p(0)(-1)|;

步骤d03:分别算出h1、h2、h3的最小值h,v1、v2、v3的最小值v,aa1、aa2、aa3的最小值aa,ab1、ab2、ab3的最小值ab,然后比较出h,v,aa,ab的最小值,则最小值为该校正单元的区域边缘方向。

本发明的有益效果为:本发明的检测方法相当于将第一次检测时的检测单元经过原位检测、右移检测和下移检测之后确定缺陷像素,根据不同的检测单元进行检测,避免检测单元中存在3个以上的缺陷像素导致检测结果不准确;根据检测单元中缺陷像素个数的不同,采用基于边缘方向的不同方法来进行分类处理,提高了图像的边缘处理效果。

附图说明

图1是本发明中2×2个像素组成的一个检测单元。

图2阴影部分是本发明进行第一次检测的图像区域。

图3阴影部分是本发明进行第二次检测的图像区域。

图4阴影部分是本发明进行第三次检测的图像区域。

图5阴影部分是按照第一校正法校正缺陷像素p(0)(0)时的第一校正单元。

图6阴影部分是按照第二校正法校正缺陷像素p(0)(0)时的第二校正单元。

图7是校正单元的的区域边缘方向示意图。

图8是本发明缺陷像素的校正方法的流程图。

具体实施方式

为使本发明的内容更加清楚易懂,以下结合说明书和附图,对本发明的内容作进一步说明,当然本发明并不局限于该具体实施例,本领域内的技术人员所熟知的一般替换也涵盖在本发明的保护范围内。

本发明提供的一种黑白图像中缺陷像素的校正方法,校正步骤如图8所示,具体包括:

步骤01:采集一张黑白图像。

步骤02:以2×2个像素作为一个检测单元,对所述黑白图像进行缺陷像素的检测,并将缺陷像素存储在存储单元中;

步骤02中缺陷像素的检测具体步骤为:

步骤0201:如图2所示,进行缺陷像素的第一次检测,去除黑白图像中的最下行和最右列像素,首两行每行有i+1个像素,除去最右列之后,则有i/2的整数个检测单元,首两列每列有j+1个像素,除去最下行之后,则有j/2的整数个检测单元,对剩余像素中的j/2×i/2个检测单元进行逐个检测,比较待检测像素值与该待检测像素的阈值之间的关系,如果待检测像素值大于阈值,则为缺陷像素,否则,为正常点,。

其中,待检测像素的阈值为阈值系数与检测单元中位于待检测像素对角线上两个像素的中值的乘积,阈值系数为1.5-2.5。如图1所示,图1为一个2×2的检测单元,检测的方法为:p(0)(0)与mean(p(0)(1),p(1)(0))的整数倍进行对比,假设整数倍为thres,则如果p(0)(0)大于thres*mean(p(0)(1),p(1)(0)),则p(0)(0)为缺陷像素,坐标记入到存储单元中,然后比较p(1)(1)与thres*mean(p(0)(1),p(1)(0)),p(0)(1)与thres*mean(p(0)(0),p(1)(1)),p(1)(0)与thres*mean(p(0)(0),p(1)(1)),将缺陷像素坐标记入到存储单元中。

步骤0202:如图3所示,进行缺陷像素的第二次检测,去除黑白图像中的最下行和最左列像素,首两行每行有i+1个像素,除去最左列之后,则有i/2的整数个检测单元,首两列每列有j+1个像素,除去最下行之后,则有j/2的整数个检测单元,相当于将第一次检测的检测单元右移一列,对剩余像素中的j/2×i/2个检测单元进行逐个检测,按照步骤0201中的具体计算方法,比较待检测像素值与该待检测像素的阈值之间的关系,如果待检测像素值大于阈值,则为缺陷像素,否则,为正常点;

步骤0203:如图4所示,进行缺陷像素的第三次检测,去除黑白图像中的最上行和最右列像素,首两行每行有i+1个像素,除去最右列之后,则有i/2的整数个检测单元,首两列每列有j+1个像素,除去最上行之后,则有j/2的整数个检测单元,相当于将第一次检测的检测单元下移一行,对剩余像素中的j/2×i/2个检测单元进行逐个检测,按照步骤0201中的具体计算方法,比较待检测像素值与该待检测像素的阈值之间的关系,如果待检测像素值大于阈值,则为缺陷像素,否则,为正常点;

步骤03:找到所述黑白图像中的第一个缺陷像素,确定以该缺陷像素为顶点的检测单元,对该检测单元中的第一行缺陷像素采用基于区域边缘方向的校正方法进行校正,校正之后的缺陷像素标记为正常点,按照上述方式,依次对所述黑白图像中该缺陷像素所在行的剩余缺陷像素依次进行校正,当该行中的边缘缺陷像素不能采用基于区域边缘方向的校正方法进行校正时,则该缺陷像素不做校正。

在此步骤中,黑白图像中第一个缺陷像素为p(0)(0),找到以p(0)(0)为顶点的2×2个像素组成的检测单元,其中,p(0)(0)位于该检测单元的左上角,p(0)(1)位于该检测单元的右上角,p(1)(0)位于该检测单元的左下角,p(1)(1)位于该检测单元的右下角。当该检测单元中缺陷像素个数小于3时,若p(0)(1)为缺陷像素,则采用第一校正法对p(0)(0)和p(0)(1)进行校正,若p(0)(1)不为缺陷像素,则采用第一校正法对p(0)(0)进行校正;当检测单元中缺陷像素个数大于等于3时,若p(0)(1)为缺陷像素,则采用第二校正法对p(0)(0)和p(0)(1)进行校正,若p(0)(1)不为缺陷像素,则采用第一校正法对p(0)(0)进行校正。

其中,当该检测单元中缺陷像素的个数少于3时,对该检测单元的缺陷像素采用第一校正法进行校正,具体步骤如下:

步骤a01:如图5所示,以p(0)(0)像素为中心,其周围3×3的像素组成第一校正单元,该校正单元中第一行的像素从左到右依次为p(-1)(-1),p(-1)(0),p(-1)(1),第二行的像素从左到右依次为p(0)(-1),p(0)(0),p(0)(1),第三行的像素从左到右依次为p(1)(-1),p(1)(0),p(1)(1)。

步骤a02:判断该第一校正单元的区域边缘方向;具体判断方法为:

步骤c01:在3×3个像素的第一校正单元中,做水平,竖直,以及对角线方向的梯度,如图7所示,其中,h为水平梯度,v为竖直梯度,aa为对角线方向梯度,ab为反对角线梯度;

步骤c02:h1=|p(0)(1)+p(0)(-1)-2*p(0)(0)|,|h2=p(1)(1)+p(1)(-1)-2*p(1)(0)|,|h3=p(-1)(1)+p(-1)(-1)-2*p(-1)(0)|;v1=|p(1)(0)+p(-1)(0)-2*p(0)(0)|,|v2=p(1)(1)+p(-1)(1)-2*p(0)(1)|,|h3=p(1)(-1)+p(-1)(-1)-2*p(0)(-1)|;aa1=2*|p(-1)(1)-p(1)(-1)|,aa2=2*|p(0)(1)-p(1)(0)|,aa3=2*|p(-1)(0)-p(0)(-1)|;ab1=2*|p(-1)(1)-p(1)(1)|,ab2=2*|p(-1)(0)-p(0)(1)|,ab3=2*|p(0)(-1)-p(1)(0)|;

步骤c03:分别算出h1、h2、h3的最小值h,v1、v2、v3的最小值v,aa1、aa2、aa3的最小值aa,ab1、ab2、ab3的最小值ab,然后比较出h,v,aa,ab的最小值,则最小值为该校正单元的区域边缘方向。

步骤a03:若水平方向为该第一校正单元的区域边缘方向,则p(0)(0)=p(-1)(0)-p(-1)(-1)+p(0)(-1),若p(0)(1)为缺陷像素,则p(0)(1)=p(0)(0)+(p(-1)(1)-p(-1)(0)+p(1)(1)-p(1)(0))/2;

若竖直方向为该第一校正单元的区域边缘方向,则p(0)(0)=p(-1)(0)+p(0)(-1)-p(-1)(-1);若p(0)(1)为缺陷像素,则p(0)(1)=p(-1)(1)+(p(0)(0)-p(-1)(0));

若对角线方向为该第一校正单元的区域边缘方向,则p(0)(0)=p(-1)(1)+p(0)(-1)-p(-1)(0),若p(0)(1)为缺陷像素,则p(0)(1)=p(1)(0)-p(0)(-1)-p(-1)(0);

若反对角线方向为该第一校正单元的区域边缘方向,若p(0)(1)为缺陷像素,则p(0)(0)=p(-1)(-1)+p(1)(0)-p(0)(-1),p(0)(1)=p(-1)(0)+p(1)(0)-p(0)(-1);若p(0)(1),p(1)(0)不是缺陷像素,则p(0)(0)=p(-1)(-1)+(p(1)(0)-p(0)(-1)+p(0)(1)-p(-1)(0))/2;若p(1)(0)为缺陷像素,则p(0)(0)=p(-1)(-1)+p(0)(1)-p(-1)(0)。

其中,当该检测单元中缺陷像素的个数大于等于3时,对该检测单元的缺陷像素采用第二校正法进行校正,具体步骤如下:

步骤b01:如图6所示,以p(0)(0)像素为顶点,向左和向上方向的3×3个像素组成第二校正单元,该校正单元中第一行的像素从左到右依次为p(-2)(-2),p(-2)(-1),p(-2)(0),第二行的像素从左到右依次为p(-1)(-2),p(-1)(-1),p(-1)(0),第三行的像素从左到右依次为p(0)(-2),p(0)(-1),p(0)(0);

步骤b02:判断该第二校正单元的区域边缘方向,具体判断方法为:

步骤d01:在3×3个像素的第二校正单元中,做水平,竖直,以及对角线方向的梯度,如图7所示,其中,h为水平梯度,v为竖直梯度,aa为对角线方向梯度,ab为反对角线梯度

步骤d02:h1=|p(-1)(0)+p(-1)(-2)-2*p(-1)(-1)|,|h2=p(0)(0)+p(0)(-2)-2*p(0)(-1)|,|h3=p(-2)(0)+p(-2)(-2)-2*p(-2)(-1)|;v1=|p(0)(-1)+p(-2)(-1)-2*p(-1)(-1)|,|v2=p(0)(0)+p(-2)(0)-2*p(-1)(0)|,|h3=p(0)(-2)+p(-2)(-2)-2*p(-1)(-2)|;aa1=2*|p(-2)(0)-p(0)(-2)|,aa2=2*|p(-1)(0)-p(0)(-1)|,aa3=2*|p(-2)(-1)-p(-1)(-2)|;ab1=2*|p(-2)(0)-p(0)(0)|,ab2=2*|p(-2)(-1)-p(-1)(0)|,ab3=2*|p(-1)(-2)-p(0)(-1)|;

步骤d03:分别算出h1、h2、h3的最小值h,v1、v2、v3的最小值v,aa1、aa2、aa3的最小值aa,ab1、ab2、ab3的最小值ab,然后比较出h,v,aa,ab的最小值,则最小值为该校正单元的区域边缘方向。

步骤b03:若水平方向为该第二校正单元的区域边缘方向,则p(0)(0)=p(0)(-1)+(p(-2)(0)-p(-2)(-1)+p(-1)(0)-p(-1)(-1))/2;

若竖直方向为该第二校正单元的区域边缘方向,则p(0)(0)=p(-1)(0)+(p(0)(-1)-p(-1)(-1)+p(0)(-2)-p(-1)(-2))/2;

若对角线方向为该第二校正单元的区域边缘方向,则p(0)(0)=p(-1)(1)+(p(0)(-1)-p(-1)(0)+p(-1)(-1)-p(-2)(0)+p(-1)(-2)-p(-2)(-1))/3;

若反对角线方向为该第二校正单元的区域边缘方向,则p(0)(0)=p(-1)(-1)+(p(0)(-1)-p(-1)(-2)+p(-1)(0)-p(-2)(-1))/2;

步骤b04:若p(0)(1)为缺陷像素,重复步骤b01-b04,对p(0)(1)进行校正。

步骤04:重复步骤03,依次对所述黑白图像中所有行的缺陷像素进行校正,输出图像。

虽然本发明已以较佳实施例揭示如上,然所述实施例仅为了便于说明而举例而已,并非用于限定本发明,本领域的技术人员在不脱离本发明精神和范围的前提下可作若干的更动和润饰,本发明所主张的保护范围以权利要求书所述为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1