坏簇检测方法及装置与流程

文档序号:17483109发布日期:2019-04-20 06:34阅读:191来源:国知局
坏簇检测方法及装置与流程

本发明实施例涉及技术领域,并且更具体地,涉及一种坏簇检测方法及装置。



背景技术:

图像传感器是数字摄像头的重要组成部分。图像传感器的芯片像元阵列上排列有大量像元,其是图像传感器对地面景物进行扫描采样的最小单元。像元的实际物理尺寸通常包括14um,10um,9um,7um,6.45um,3.75um等。可以将像元看成具有一定尺寸的矩形。像元在一定的光照强度和曝光时间下进行光电转化,从而形成数字化图像。

由于制造工艺、运输或储存等方面存在不足,使得图像传感器中存在一少部分不能正常感光的像元,此部分不能正常感光的像元称为坏点,多个连续坏点形成坏簇,连续的坏点的数量对应该坏簇的大小。坏簇数量以及坏簇大小会在很大程度上影响图像传感器形成的图像的质量,因此,坏簇是衡量图像传感器质量的重要参数。

现有技术中对于坏簇的检测和统计是基于连通域的两次或多次扫描完成的,重复扫描造成了运算量的大幅度提高,同时降低了检测效率。



技术实现要素:

本发明实施例提供一种坏簇检测方法及装置,其能够降低坏簇检测的运算量,提高坏簇检测的效率。

第一方面,提供了一种坏簇检测方法,所述方法包括:

按照预定顺序对每个目标坏点执行以下步骤:

检测与当前目标坏点接触的第一类像元中是否有坏点;若有坏点,则将检测到的坏点作为同一级别的待检测目标坏点;若没有坏点,则当前目标坏点不构成坏簇;其中,所述第一类像元为纵坐标小于或等于当前目标坏点的纵坐标的像元,并且在所述第一类像元的纵坐标等于当前目标坏点的纵坐标时,所述第一类像元的横坐标大于当前目标坏点的横坐标;

对于同一级别的每个所述待检目标坏点,检测与该待检测目标坏点接触的第二类像元中是否有坏点,若有坏点,则将检测到的坏点作为另外一个级别的待检测目标坏点,并在当前级别的所有待检测坏点检测完毕后,针对另外一个级别的所述待检测目标坏点再次执行当前步骤;若没有坏点,则统计当前坏点总数,并根据所述坏点总数判定当前目标坏点的坏簇是否形成;其中所述第二类像元为除当前目标坏点以及已经检测过的像元外的,纵坐标小于或等于当前目标坏点的纵坐标的像元,并且在所述第二类像元的纵坐标等于当前目标坏点的纵坐标时,所述待检测目标像素的横坐标大于当前目标坏点的横坐标。

结合第一方面,在第一种可能的实现方式中,所述方法在所述并在当前级别的所有待检测坏点检测完毕后之后,并且在所述针对另外一个级别的所述待检测目标坏点再次执行当前步骤之前,还包括如下步骤:

对所述另外一个级别的所述待检测目标坏点中的每一个所述待检测坏点执行如下步骤:

统计所述当前步骤的执行次数,确定第一参考目标坏点、第二参考目标坏点以及第三参考目标坏点;其中所述第一参考目标坏点的纵坐标等于对应的目标坏点的纵坐标,横坐标等于对应的目标坏点的横坐标加预定数值;所述第二参考目标坏点的纵坐标等于对应的目标坏点的纵坐标减1,横坐标等于对应的目标坏点的横坐标减所述预定数值;所述第三参考目标坏点的横坐标等于对应的目标坏点的横坐标,纵坐标等于对应的目标坏点的纵坐标减所述预定数值;所述预定数值等于所述执行次数加1;

判断当前待检测目标坏点的坐标是否与所述第一参考目标坏点或所述第二参考目标坏点的坐标相同,若当前待检测目标坏点的坐标与所述第一参考目标坏点或所述第二参考目标坏点的坐标相同,则检测与当前待检测目标坏点接触的第一像元是否为坏点,若第一像元为坏点,则将第一像元作为当前级别的待检测目标坏点;其中所述第一像元为横坐标与当前待检测目标坏点的横坐标相同,并且纵坐标比当前待检测目标坏点的纵坐标小的像元;

若当前待检测目标坏点的坐标与所述第一参考目标坏点的坐标以及所述第二参考目标坏点的坐标均不同,则判断当前待检测目标坏点的纵坐标是否大于所述第三参考目标坏点的纵坐标,若当前待检测目标坏点的纵坐标大于所述第三参考目标坏点的纵坐标,则检测与当前待检测目标坏点接触的第二像元是否为坏点,若第二像元为坏点,则将第二像元作为当前级别的待检测目标坏点;其中所述第二像元为横坐标与当前待检测目标坏点的横坐标相同的像元;

若当前待检测目标坏点的纵坐标不大于所述第三参考目标坏点的纵坐标,则判断当前待检测目标坏点的横坐标是否等于所述第一参考目标坏点或所述第二参考目标坏点的横坐标,若当前待检测目标坏点的横坐标等于所述第一参考目标坏点的横坐标,则检测第三像元以及第四像元是否为坏点,若第三像元或第四像元为坏点,则将第三像元或第四像元作为当前级别的待检测目标坏点;其中所述第三像元的横坐标等于当前待检测目标坏点的横坐标,并且纵坐标比当前待检测目标像元的纵坐标大1,所述第四像元的纵坐标等于当前待检测目标坏点的纵坐标,并且横坐标比当前待检测目标像元的横坐标小1;

若当前待检测目标坏点的横坐标等于所述第二参考目标坏点的横坐标,则检测第五像元以及第六像元是否为坏点,若第五像或第六像元为坏点,则将第五像元或第六像元作为当前级别的待检测目标坏点;其中所述第五像元的横坐标等于当前待检测目标坏点的横坐标,并且纵坐标比当前待检测目标像元的纵坐标大1,所述第六像元的纵坐标等于当前待检测目标坏点的纵坐标,并且横坐标比当前待检测目标像元的横坐标大1;

若当前待检测目标坏点的横坐标不等于所述第一参考目标坏点的横坐标以及所述第二参考目标坏点的横坐标,则检测与当前待检测目标坏点接触的第七像元是否为坏点,若第七像元为坏点,则将第七像元作为当前级别的待检测目标坏点;其中所述第七像元为纵坐标与当前待检测目标坏点的纵坐标相同的像元。

结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述坏点总数判定当前目标坏点的坏簇是否形成包括如下步骤:

判断所述坏点总数是否大于预定坏点总数,若所述坏点总数大于所述预定预定坏点总数,则当前目标坏点形成坏簇。

结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,,所述方法还包括如下步骤:

根据所述坏点总数对所述坏簇进行分类;

统计所述坏簇的数量。

结合第一方面或第一方面的第一种可能的实现方式,在第四种可能的实现方式中,所述方法还包括如下步骤:

为每个像元设置坏点标志位,并将检测出来的坏点的坏点标志位设置为1。

结合第一方面或第一方面的第一种可能的实现方式,在第五种可能的实现方式中,所述按照预定顺序对每个目标坏点执行以下步骤包括:

根据所述目标坏点坐标,按照图像的从上到下、从左到右的顺序将所述目标坏点进行排序,并按照该顺序依次对每个所述目标坏点执行所述以下步骤。

第二方面,提供了一种坏簇检测装置,所述装置用于按照预定顺序对每个目标坏点执行坏簇检测,包括:

第一检测模块,用于检测与当前目标坏点接触的第一类像元中是否有坏点;若有坏点,则将检测到的坏点作为同一级别的待检测目标坏点;若没有坏点,则当前目标坏点不构成坏簇;其中,所述第一类像元为纵坐标小于或等于当前目标坏点的纵坐标的像元,并且在所述第一类像元的纵坐标等于当前目标坏点的纵坐标时,所述第一类像元的横坐标大于当前目标坏点的横坐标;

第二检测模块,用于对于同一级别的每个所述待检目标坏点,检测与该待检测目标坏点接触的第二类像元中是否有坏点,若有坏点,则将检测到的坏点作为另外一个级别的待检测目标坏点,并在当前级别的所有待检测坏点检测完毕后,针对另外一个级别的所述待检测目标坏点再次执行当前步骤;若没有坏点,则统计当前坏点总数,并根据所述坏点总数判定当前目标坏点的坏簇是否形成;其中所述第二类像元为除当前目标坏点以及已经检测过的像元外的,纵坐标小于或等于当前目标坏点的纵坐标的像元,并且在所述第二类像元的纵坐标等于当前目标坏点的纵坐标时,所述待检测目标像素的横坐标大于当前目标坏点的横坐标。

结合第二方面,在第一种可能的实现方式中,所述装置还包括:

第三检测模块,用于在所述第二检测模块将当前级别的所有待检测坏点检测完毕后之后,并且在执行所述针对另外一个级别的所述待检测目标坏点再次执行当前步骤之前,针对所述另外一个级别的所述待检测目标坏点中的每一个所述待检测坏点执行坏点检测。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第三检测模块包括:

统计标定子模块,用于统计所述当前步骤的执行次数,并确定第一参考目标坏点、第二参考目标坏点以及第三参考目标坏点;其中所述第一参考目标坏点的纵坐标等于对应的目标坏点的纵坐标,横坐标等于对应的目标坏点的横坐标加预定数值;所述第二参考目标坏点的纵坐标等于对应的目标坏点的纵坐标减1,横坐标等于对应的目标坏点的横坐标减所述预定数值;所述第三参考目标坏点的横坐标等于对应的目标坏点的横坐标,纵坐标等于对应的目标坏点的纵坐标减所述预定数值;所述预定数值等于所述执行次数加1;

第一检测子模块,用于判断当前待检测目标坏点的坐标是否与所述第一参考目标坏点或所述第二参考目标坏点的坐标相同,并且在当前待检测目标坏点的坐标与所述第一参考目标坏点或所述第二参考目标坏点的坐标相同时,检测与当前待检测目标坏点接触的第一像元是否为坏点,若第一像元为坏点,则将第一像元作为当前级别的待检测目标坏点;其中所述第一像元为横坐标与当前待检测目标坏点的横坐标相同,并且纵坐标比当前待检测目标坏点的纵坐标小的像元;

第二检测子模块,用于在当前待检测目标坏点的坐标与所述第一参考目标坏点的坐标以及所述第二参考目标坏点的坐标均不同时,判断当前待检测目标坏点的纵坐标是否大于所述第三参考目标坏点的纵坐标,并在当前待检测目标坏点的纵坐标大于所述第三参考目标坏点的纵坐标时,检测与当前待检测目标坏点接触的第二像元是否为坏点,若第二像元为坏点,则将第二像元作为当前级别的待检测目标坏点;其中所述第二像元为横坐标与当前待检测目标坏点的横坐标相同的像元;

第三检测子模块,用于在当前待检测目标坏点的纵坐标不大于所述第三参考目标坏点的纵坐标时,判断当前待检测目标坏点的横坐标是否等于所述第一参考目标坏点或所述第二参考目标坏点的横坐标,并且在当前待检测目标坏点的横坐标等于所述第一参考目标坏点的横坐标时,检测第三像元以及第四像元是否为坏点,若第三像元或第四像元为坏点,则将第三像元或第四像元作为当前级别的待检测目标坏点;其中所述第三像元的横坐标等于当前待检测目标坏点的横坐标,并且纵坐标比当前待检测目标像元的纵坐标大1,所述第四像元的纵坐标等于当前待检测目标坏点的纵坐标,并且横坐标比当前待检测目标像元的横坐标小1;

第四检测子模块,用于在当前待检测目标坏点的横坐标等于所述第二参考目标坏点的横坐标时,检测第五像元以及第六像元是否为坏点,若第五像或第六像元为坏点,则将第五像元或第六像元作为当前级别的待检测目标坏点;其中所述第五像元的横坐标等于当前待检测目标坏点的横坐标,并且纵坐标比当前待检测目标像元的纵坐标大1,所述第六像元的纵坐标等于当前待检测目标坏点的纵坐标,并且横坐标比当前待检测目标像元的横坐标大1;

第五检测子模块,用于在当前待检测目标坏点的横坐标不等于所述第一参考目标坏点的横坐标以及所述第二参考目标坏点的横坐标时,检测与当前待检测目标坏点接触的第七像元是否为坏点,若第七像元为坏点,则将第七像元作为当前级别的待检测目标坏点;其中所述第七像元为纵坐标与当前待检测目标坏点的纵坐标相同的像元。

结合第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第二检测模块包括坏簇确定子模块,用于判断所述坏点总数是否大于预定坏点总数,在所述坏点总数大于所述预定坏点总数时,确定当前目标坏点形成坏簇。

在本发明实施例的上述技术方案中,按照预定顺序,针对每个目标坏点检测与其接触的右侧和下侧的相邻像元中是否存在坏点,如果不存在坏点,则该目标坏点不能构成坏簇,如果与该目标坏点接触的右侧或下侧的相邻像元中存在坏点,则将检测出来的所有坏点作为一个级别的待检测目标坏点,并对每个待检测目标坏点检测与其接触的右侧、下侧和左侧的相邻像元中是否存在坏点,如果所有的待检测目标坏点的右侧、下侧或左侧的相邻像元中都不存在坏点,则统计当前目标坏点的连续的坏点总数,并根据坏点总数判断当前目标坏点的坏簇是否形成。如果与待检测目标坏点的右侧、下侧或左侧接触的相邻像元中存在坏点,将检测出来的坏点作为另一个级别的待检测目标坏点,并对另一级别的每个待检测目标坏点执行与上一级别的待检测目标坏点相同的检测步骤,直到某一级别的待检测目标坏点的检测中没有出现新的坏点,最后根据坏点总数判断当前目标坏点的坏簇是否形成。上述坏点的检测方案只需要一次扫描就可以检测出所有的坏点,处理的数据量大幅度减小,从而提高了坏点以及坏簇检测效率。

附图说明

为了更清楚的说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示意性的示出了根据本发明一实施例的坏簇检测方法的流程图;

图2示意性的示出了根据本发明一实施例的坏簇检测原理示意图;

图3示意性的示出了根据本发明另一实施例的坏簇检测方法的第0级检测的示意图;

图4a、4b、4c、4d示意性的示出了根据本发明实另一施例的坏簇检测方法的第1级检测的示意图;

图5a、5b、5c、5d、5e、5f、5g、5h示意性的示出了根据本发明另一实施例的坏簇检测方法的第2级检测的示意图;

图6示意性的示出了根据本发明又一实施例的坏簇检测方法的流程图;

图7示意性的示出了根据本发明又一实施例的坏簇检测方法中内部检测的流程图;

图8示意性的示出了根据本发明又一实施例的坏簇检测方法中外部检测的流程图;

图9示意性的示出了根据本发明实施例的坏簇检测装置的框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在详细介绍本发明的实施例之前,需要将图像传感器的芯片像元阵列的结构进行说明,每个像元都可以看成一个矩形或正方形,那么阵列形式排列的像元如图2所示,与每个像元相接触的其他像元共有8个,以像元1为例,加上该像元构成3行3列的矩阵。如果像元1是坏点,那么检测像元1是否形成坏簇时,只需要检测与该像元1相连的该3行3列的矩阵中的其他像元即可,即判断目标坏点是否存在相邻坏点时,以目标坏点为中心,判断其周围8个方向的像元是否存在坏点即可。

当存在多个坏点,分别检测每个坏点四周的像元是否为坏点时,容易出现重复检测某一像元的情况,造成了数据量的增大,降低了检测的效率。因此可以将所有的已知的坏点即目标坏点按照从上到下、从左到右的图像顺序进行排序,作为预定顺序,检测时按照该预定顺序对每个目标坏点进行检测。此顺序下,第一个被检测的目标坏点的左侧以及上侧没有坏点,不需要进行检测,因此,第一个目标坏点只需要检测其下侧和右侧的相邻像元即可。第二个目标坏点以及其他目标坏点进行检测时,由于其上侧和左侧的像元已经被前一个目标坏点检测过了,所以也只需要检测目标坏点的右侧和下侧的相邻像元。

在一个实施例中,如图1所示,坏簇检测方法包括:

按照预定顺序对每个目标坏点执行以下步骤:

100、检测与当前目标坏点接触的第一类像元中是否有坏点;若有坏点,则将检测到的坏点作为同一级别的待检测目标坏点;若没有坏点,则当前目标坏点不构成坏簇;其中,第一类像元为纵坐标小于或等于当前目标坏点的纵坐标的像元,并且在第一类像元的纵坐标等于当前目标坏点的纵坐标时,第一类像元的横坐标大于当前目标坏点的横坐标;

此步骤中,只检测目标坏点下侧和右侧的相邻像元即第一类像元中是否有坏点。此步骤可以作为当前目标坏点的第0级检测。

应当说明的是,本实施例中规定,横坐标向右为正方向,即横坐标向右的坐标标值依次增大,纵坐标向上为正方向,即纵坐标向上的坐标值依次增大。

110、对于同一级别的每个待检目标坏点,检测与该待检测目标坏点接触的第二类像元中是否有坏点,若有坏点,则将检测到的坏点作为另外一个级别的待检测目标坏点,并在当前级别的所有待检测坏点检测完毕后,针对另外一个级别的待检测目标坏点再次执行当前步骤即步骤110;若没有坏点,则统计当前坏点总数,并根据坏点总数判定当前目标坏点的坏簇是否形成;其中第二类像元为除当前目标坏点以及已经检测过的像元外的,纵坐标小于或等于当前目标坏点的纵坐标的像元,并且在第二类像元的纵坐标等于当前目标坏点的纵坐标时,待检测目标像素的横坐标大于当前目标坏点的横坐标。此步骤中,对于每个待检测目标坏点,检测的是与其接触的右侧、下侧以及左侧的相邻像元,这些像元均位于目标坏点的下侧和右侧,并且这些像元不是前一级别的检测中已经检测过的像元。此步骤110可以看做一个级别的外部检测,该级别对应于该步骤执行的次数,如果该步骤110执行了一次,那么该步骤就是第一级外部检测,如果该步骤110执行了两次,那么该步骤就是第二级外部检测。

此步骤中如果某一级别的外部检测中出现新的坏点就需要进行下一级别的外部检测,如果没有出现新的坏点,那么针对当前目标坏点的检测结束,根据当前的坏点总数可以判定当前目标坏点的坏簇是否形成。

本实施例按照预定顺序,针对每个目标坏点检测与其接触的右侧和下侧的相邻像元中是否存在坏点,如果存在坏点,则将检测出来的所有坏点作为一个级别的待检测目标坏点,并对每个待检测目标坏点检测与其接触的右侧、下侧及左侧的相邻像元中是否存在坏点,如果存在坏点,将检测出来的坏点作为另一个级别的待检测目标坏点,并对另一级别的每个待检测目标坏点执行与上一级别的待检测目标坏点相同的检测步骤,直到某一级别的待检测目标坏点的检测中没出现新坏点,最后根据检测得到坏点总数判断当前目标坏点的坏簇是否形成。此方案只需一次扫描就可检测出所有坏点,处理的数据量大幅度减小,有效提高了检测效率。

在一个实施例中,坏簇检测方法在执行完一个级别的外部检测之后,在执行下一个级别的外部检测而之前,可以先执行下一级别的内部检测,即在当前级别的所有待检测坏点检测完毕后之后,并且在针对另外一个级别的待检测目标坏点再次执行步110骤之前,还包括如下步骤:

对另外一个级别的待检测目标坏点中的每一个待检测坏点执行如下步骤:

200、统计当前步骤的执行次数,即步骤110的执行次数,确定第一参考目标坏点、第二参考目标坏点以及第三参考目标坏点;其中第一参考目标坏点的纵坐标等于对应的目标坏点的纵坐标,横坐标等于对应的目标坏点的横坐标加预定数值;第二参考目标坏点的纵坐标等于对应的目标坏点的纵坐标减1,横坐标等于对应的目标坏点的横坐标减预定数值;第三参考目标坏点的横坐标等于对应的目标坏点的横坐标,纵坐标等于对应的目标坏点的纵坐标减预定数值;预定数值等于执行次数加1;210、判断当前待检测目标坏点的坐标是否与第一参考目标坏点或第二参考目标坏点的坐标相同,若当前待检测目标坏点的坐标与第一参考目标坏点或第二参考目标坏点的坐标相同,则检测与当前待检测目标坏点接触的第一像元是否为坏点,其中第一像元为横坐标与当前待检测目标坏点的横坐标相同,并且纵坐标比当前待检测目标坏点的纵坐标小的像元;

第一参考目标坏点和第二参考目标坏点是当前内部检测的两个端点,如果当前待检测目标坏点是第一参考目标坏点或第二参考目标坏点,那么只需要检测与当前待检测目标坏点接触的正下方的像元即可。

220、若当前待检测目标坏点的坐标与第一参考目标坏点的坐标以及第二参考目标坏点的坐标均不同,则判断当前待检测目标坏点的纵坐标是否大于第三参考目标坏点的纵坐标,若当前待检测目标坏点的纵坐标大于第三参考目标坏点的纵坐标,则检测与当前待检测目标坏点接触的第二像元是否为坏点,其中第二像元为横坐标与当前待检测目标坏点的横坐标相同的像元;

此步骤中,第二像元包括两个像元,一个像元的纵坐标比当前待检测目标坏点的纵坐标小1,另一个的纵坐标比当前待检测目标坏点的纵坐标大1,这三个像元的横坐标相等。

230、若当前待检测目标坏点的纵坐标不大于第三参考目标坏点的纵坐标,则判断当前待检测目标坏点的横坐标是否等于第一参考目标坏点或第二参考目标坏点的横坐标,若当前待检测目标坏点的横坐标等于第一参考目标坏点的横坐标,则检测第三像元以及第四像元是否为坏点,其中第三像元的横坐标等于当前待检测目标坏点的横坐标,并且纵坐标比当前待检测目标像元的纵坐标大1,第四像元的纵坐标等于当前待检测目标坏点的纵坐标,并且横坐标比当前待检测目标像元的横坐标小1;

此步骤中,若当前待检测目标坏点的纵坐标不大于第三参考目标坏点的纵坐标,则前待检测目标坏点的纵坐标必定等于第三参考目标坏点的纵坐标。第三像元和第四像元分别位于当前待检测目标坏点的正上侧和正左侧。

240、若当前待检测目标坏点的横坐标等于第二参考目标坏点的横坐标,则检测第五像元以及第六像元是否为坏点,其中第五像元的横坐标等于当前待检测目标坏点的横坐标,并且纵坐标比当前待检测目标像元的纵坐标大1,第六像元的纵坐标等于当前待检测目标坏点的纵坐标,并且横坐标比当前待检测目标像元的横坐标大1;

此步骤中,第五像元和第六像元分别位于当前待检测目标坏点的正上侧和正右侧。

250、若当前待检测目标坏点的横坐标不等于第一参考目标坏点的横坐标以及第二参考目标坏点的横坐标,则检测与当前待检测目标坏点接触的第七像元是否为坏点,其中第七像元为纵坐标与当前待检测目标坏点的纵坐标相同的像元。

第七像元包括两个像元,一个像元的横坐标比当前待检测目标坏点的横坐标小1,另一个的横坐标比当前待检测目标坏点的横坐标大1,这三个像元的纵坐标相等。

如果第一像元、第二像元、第三像元、第四像元、第五像元、第六像元、第七像元中出现了坏点,则将对应的像元作为当前级别的待检测目标坏点。

应当说明的是,整个检测过程中只有第一级外部检测,并没有第一级内部检测。从第二级开始既包括内部检测也包括外部检测。

当前级别的内部检测就是根据上一级别的外部检测结果,在当前级别检测范围内再次搜索有无相邻坏点,有效防止了漏检。

在一个实施例的坏簇检测方法中,根据坏点总数判定当前目标坏点的坏簇是否形成包括如下步骤:

判断坏点总数是否大于预定坏点总数,若坏点总数大于预定坏点总数,则当前目标坏点形成坏簇。

该预定坏点总数可以根据实际场景灵活设定。例如将预定坏点总数设置为2,坏点总数大于2时对应的目标坏点形成坏簇。进一步地,如果坏点总数大于或等于3,并且小于或等于4时,对应的目标坏点形成的坏簇为定义小簇,如果坏点总数大于或等于5,并且小于或等于6时,对应的目标坏点形成的坏簇定义为中簇,如果坏点总数大于6时,对应的目标坏点形成的坏簇定义为大簇。本实施例就实现了根据坏点总数进行坏簇的统计和分类。

在一个实施例的坏簇检测方法中,为每个像元设置坏点标志位,并将检测出来的坏点的坏点标志位设置为1。在坏点检测时,首先检测该像元的坏点标志位是否为1,如果为1,就不用进行坏点检测的具体步骤了,避免的不必要的重复检测。(

在一个实施例中,对一个目标坏点进了第0级检测、第1级检测以及第2级外部检测。

图3示意性的示出了根据本实施例的坏簇检测方法的第0级检测的示意图;第0级检测只检测目标坏点2下侧和右侧的像元,即上述第一类像元中是否有坏点。第一类像元即图3中的像元31、像元32、像元33以及像元34。

图4a、4b、4c、4d示意性的示出了根据本发施例的坏簇检测方法的第1级检测的示意图。第1级检测就是对上一级检测得到的各个待检测目标坏点进行分别检测。图4a中像元31作为待检测目标坏点时,需要检测的第二类像元中包括其右侧的两个像元,即像元41和像元42。图4b中像元32作为待检测目标坏点时,需要检测的第二类像元中包括其右侧和下侧像元,即像元41、像元42、像元43、像元44和像元45。图4c中像元33作为待检测目标坏点时,需要检测的第二类像元中包括其下侧像元,即像元44、像元45和像元46。图4d中像元34作为待检测目标坏点时,需要检测的第二类像元中包括其左侧和下侧像元,即像元45、像元46、像元47和像元48。

图5a、5b、5c、5d、5e、5f、5g、5h示意性的示出了根据本实施例的坏簇检测方法的第2级外部检测的示意图。第2级外部检测就是对上一级检测得到的各个待检测目标坏点进行分别检测。图5a中像元41作为待检测目标坏点时,需要检测的第二类像元中包括其右侧的两个像元,即像元51和像元52。图5b中像元42作为待检测目标坏点时,需要检测的第二类像元中包括其右侧的三个像元,即像元51、像元52和像元53。图5c中像元43作为待检测目标坏点时,需要检测的第二类像元中包括其右侧和下侧的像元,即像元52、像元53、像元54、像元55和像元56。图5d中像元44作为待检测目标坏点时,需要检测的第二类像元中包括其下侧的三个像元,即像元55、像元56和像元57。图5e中像元45作为待检测目标坏点时,需要检测的第二类像元中包括其下侧的三个像元,即像元56、像元57和像元58。图5f中像元46作为待检测目标坏点时,需要检测的第二类像元中包括其下侧的三个像元,即像元57、像元58和像元59。图5g中像元47作为待检测目标坏点时,需要检测的第二类像元中包括其左侧和下侧的像元,即像元58、像元59、像元60、像元61和像元62。图5h中像元48作为待检测目标坏点时,需要检测的第二类像元中包括其左侧的两个像元,即像元61和像元62。

综上,本实施例中首先进行第0级检测,即检测目标坏点相邻四个像元是否存在坏点,然后再依次以这四个区域为待检测目标坏点,检测其相邻像元是否存在坏点,即第1级检测,待检测目标坏点所处的区域不同,所需检测的区域也不同,第2级外部检测的方法同第1级检测。这样逐级检测,若某一级检测不到坏点,则终止检测,该目标坏点所在的坏簇检测完毕;否则,按照上述方法继续扩大检测范围,直到遇到终止条件。本实施例通过一次检测就可以完成坏簇检测,不必进行二次检测或扫描。

在一个实施例的坏簇检测方法中,输入各个目标坏点的坐标,包括该目标坏点所在的行位置x和列位置y,为各个目标坏点以及待检测目标坏点设置待检测标志位a,并且在没有检测之前a置1,检测之后a置0。之后将各个目标坏点按照从上到下从左到右的顺序排列。应当说明的是本实施例中横坐标用y表示,纵坐标用x表示,并且横坐标向右的方向为坐标值增大的方向,纵坐标向下的方向为坐标值增大的方向,这点与前述实施例不同。本实施例中输出的包括小簇数目num_s(3个或者4个连续的坏点形成的坏簇)、中簇数目num_m(5个或者6个连续的坏点形成的坏簇)、大簇数目num_l(大于6个连续的坏点形成的坏簇)。

如图6所示,本实施例的坏簇检测方法中包括以下步骤:

步骤一:进行参数的设置和初始化,设置并初始化级数计数器k=0,k级检测后的坏点总数计数器n_k=0,一目标坏点的坏簇内坏点计数器n=0,小簇计数器num_s=0,中簇计数器num_m=0,大簇计数器num_l=0,并将临时寄存器清空。

步骤二:如图6所示,初始化完成之后,移动到第一个目标坏点,判断当前目标坏点的待检测标志位a是否不为0。

若当前目标坏点的待检测标志位a是否不为0,则进行第0级检测,获取当前目标坏点的坐标d(x,y),设置n=n+1。依次检测像元d(x,y+1)、d(x+1,y+1)、d(x+1,y)和d(x+1,y-1)是否存在坏点。若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,并令该坏点待检测标志位a为1。以上像元全部检测完毕后,判断是否出现了新的坏点,若没有出现新的坏点,则结束检测,该坏点为孤立坏点,将下一个满足条件的坏点,即a为1的设为目标坏点,n=0,针对当前目标坏点进行第0级检测。若出现新的坏点,,执行步骤三。

步骤三:k=k+1,n_k=n进行第k级内部检测,依次读取临时寄存器中存储的坏点的坐标,并将当前坏点作为待检测目标坏点。判断k是否等于1,若k等于1,执行步骤四,否则执行本步骤。

步骤四:进行第k级外部检测,检测完毕后判断第k级内部和外部检测中是否出现了新的坏点,若出现了新的坏点返回步骤三,进行第k+1级的内部检测和外部检测,否则执行步骤五。

步骤五:根据目标坏点的坏簇内坏点数n对坏簇进行分类和统计。具体的,若n=3或者n=4,则num_s=num_s+1;若n=5或者n=6,则num_m=num_m+1;若n>6,则num_l=num_l+1,并k=0,n_k=0,n=0,零时寄存器清空。之后移动到下一个目标坏点,重复以上检测过程,直至所有的目标坏点都检测完毕后,统计num_s、num_m和num_l作为最终结果。

图7为步骤三第k级内部检测的具体流程图,具体为:

若k=1,则转到步骤四。若k>1,则依次选择临时寄存器中待检测标志位a≠0的坏点为待检测目标坏点d(x,y)。

(1)判断y=y+k?,当不满足条件y=y+k?时,在转到(2)。

满足条件y=y+k?,则

①判断x=x?,满足条件,则

检测d(x+1,y)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点在待检测标志位a为1,检测完毕后转到②;若不存在坏点,则转到②;

不满足条件x=x?,则转到②;

②判断x<x<x+k?,满足条件,则

依次检测d(x-1,y)和d(x+1,y)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,检测完毕后转到③;若不存在坏点,则转到③;

不满足条件x<x<x+k?,则转到③;

③判断判断x=x+k?,满足条件,则

检测d(x-1,y)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,检测完毕后转到(2);若不存在坏点,则转到(2);

不满足条件x=x+k?,则转到(2);

(2)判断y=y-k?,不满足条件,在转到(3),满足条件,则

④判断x=x+k?,满足条件,则

检测d(x-1,y)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,检测完毕后转到⑤;若不存在坏点,则转到⑤;

不满足条件x=x+k?,则转到⑤;

⑤判断x+1<x<x+k?,满足条件,则

依次检测d(x-1,y)和d(x+1,y)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,检测完毕后转到⑥;若不存在坏点,则转到⑥;

不满足条件x+1<x<x+k?,则转到⑥;

⑥判断x=x+1?,满足条件,则

检测d(x+1,y)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,检测完毕后转到(3);若不存在坏点,则转到(3);

不满足条件x=x+1?,则转到(3);

(3)判断x=x+k?不满足条件,则转到步骤四,满足条件,则

⑦判断y=y+k?,满足条件,则

检测d(x,y-1)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,检测完毕后转到⑧;若不存在坏点,则转到⑧;

不满足条件y=y+k?,则转到⑧;

⑧判断y-k<y<y+k?,满足条件,则

依次检测d(x,y-1)和d(x,y+1)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,检测完毕后转到⑨;若不存在坏点,则转到⑨;

不满足条件y-k<y<y+k?,则转到⑨;

⑨判断y=y-k?,满足条件,则

检测d(x,y+1)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,检测完毕后转到步骤四;若不存在坏点,则转到步骤四;

不满足条件y=y-k?,则转到步骤四。

图8为步骤四第k级外部检测的具体流程图,具体为:

依次选择临时寄存器中待检测标志位a≠0的坏点为待检测目标坏点d(x,y)。

(1)判断y=y+k?,不满足条件,在转到(2),满足条件,则

①判断x=x?,满足条件,则

依次检测d(x,y+1)和d(x+1,y+1)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入零临时寄存器后,令该坏点的待检测标志位a为1,全部检测完毕后转到②;若不存在坏点,则转到②;

不满足条件x=x?,则转到②;

②判断x<x<x+k?,满足条件,则

依次检测d(x-1,y+1)、d(x,y+1)和d(x+1,y+1)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,全部检测完毕后转到③;若不存在坏点,则转到③;

不满足条件x<x<x+k?,则转到③;

③判断x=x+k?,满足条件,则

依次检测d(x-1,y+1)、d(x,y+1)、d(x+1,y+1)、d(x+1,y)和d(x+1,y-1)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,全部检测完毕后转到(2);若不存在坏点,则转到(2);

不满足条件x=x+k?,在转到(2);

(2)判断y-k<y<y+k?,不满足条件,则转到(3),满足条件,则

判断x=x+k?,满足条件,则

依次检测d(x+1,y-1)、d(x+1,y)和d(x+1,y+1)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,全部检测完毕后转到(3);若不存在坏点,则转到(3);

(3)判断y=y-k?,不满足条件y=y-k?,则判断n=n_k?,若满足条件n=n_k?,则转到步骤五;否则,重复步骤三。

满足条件y=y-k?,则

④判断x=x+k?,满足条件,则

依次检测d(x-1,y-1)、d(x,y-1)、d(x+1,y-1)、d(x+1,y)和d(x+1,y+1)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,全部检测完毕后转到⑤;若不存在坏点,则转到⑤;

不满足条件x=x+k?,则转到⑤;

⑤判断x+1<x<x+k?,满足条件,则

依次检测d(x-1,y-1)、d(x,y-1)和d(x+1,y-1)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,全部检测完毕后转到⑥;若不存在坏点,则转到⑥;

不满足条件x+1<x<x+k?,则转到⑥;

⑥判断x=x+1?,满足条件,则

依次检测d(x,y-1)和d(x+1,y-1)处是否存在坏点,若存在坏点,每检测到一个坏点,n=n+1,将其坐标存入临时寄存器后,令该坏点的待检测标志位a为1,全部检测完毕后重复步骤三;若不存在坏点,判断n=n_k?,若满足条件,则转到步骤五;否则,重复步骤三;

不满足条件x=x+1?,则判断n=n_k?,若满足条件,则转到步骤五;否则,重复步骤三。

本实施例的坏簇检测方法按照图像的排列顺序,依次将坏点作为目标坏点,判断其周围其他坏点的分布情况,被检测过的坏点不会重复标定,因此目标坏点只有其右侧和下侧会存在坏点,形成类似“凹”字的分布,通过由内而外的凹字形检测,可以得到坏簇的大小,即该坏簇中包含的连续坏点数目,通过设定坏簇尺寸,可以统计得到不同类型的坏簇数量。与现有的基于连通域的统计方法相比,本实施例只需对图像做一次扫描就能获取坏簇的统计信息,减小了运算量。

在一个实施例中,提供了一种坏簇检测装置,如图9所示,该装置用于按照预定顺序对每个目标坏点执行坏簇检测,包括:

第一检测模块,用于检测与当前目标坏点接触的第一类像元中是否有坏点;若有坏点,则将检测到的坏点作为同一级别的待检测目标坏点;若没有坏点,则当前目标坏点不构成坏簇;其中,第一类像元为纵坐标小于或等于当前目标坏点的纵坐标的像元,并且在第一类像元的纵坐标等于当前目标坏点的纵坐标时,第一类像元的横坐标大于当前目标坏点的横坐标;

第二检测模块,用于对于同一级别的每个待检目标坏点,检测与该待检测目标坏点接触的第二类像元中是否有坏点,若有坏点,则将检测到的坏点作为另外一个级别的待检测目标坏点,并在当前级别的所有待检测坏点检测完毕后,针对另外一个级别的待检测目标坏点再次执行当前步骤;若没有坏点,则统计当前坏点总数,并根据坏点总数判定当前目标坏点的坏簇是否形成;其中第二类像元为除当前目标坏点以及已经检测过的像元外的,纵坐标小于或等于当前目标坏点的纵坐标的像元,并且在第二类像元的纵坐标等于当前目标坏点的纵坐标时,待检测目标像素的横坐标大于当前目标坏点的横坐标。

本实施例按照预定顺序,针对每个目标坏点检测与其接触的右侧和下侧的像元中是否存在坏点,如果存在坏点,则将检测出来的所有坏点作为一个级别的待检测目标坏点,并对每个待检测目标坏点检测与其接触的右侧、下侧及左侧的像元中是否存在坏点,如果存在坏点,将检测出来的坏点作为另一个级别的待检测目标坏点,并对另一级别的每个待检测目标坏点执行与上一级别的待检测目标坏点相同的检测步骤,直到某一级别的待检测目标坏点的检测中没出现新坏点,最后根据检测得到坏点总数判断当前目标坏点的坏簇是否形成。此方案只需一次扫描就可检测出所有坏点,处理的数据量大幅度减小,有效提高了检测效率。

在一个实施例中,坏簇检测装置还包括:

第三检测模块,用于在第二检测模块将当前级别的所有待检测坏点检测完毕后之后,并且在执行针对另外一个级别的待检测目标坏点再次执行当前步骤之前,针对另外一个级别的待检测目标坏点中的每一个待检测坏点执行坏点检测。

第三检测模块包括:

统计标定子模块,用于统计当前步骤的执行次数,并确定第一参考目标坏点、第二参考目标坏点以及第三参考目标坏点;其中第一参考目标坏点的纵坐标等于对应的目标坏点的纵坐标,横坐标等于对应的目标坏点的横坐标加预定数值;第二参考目标坏点的纵坐标等于对应的目标坏点的纵坐标减1,横坐标等于对应的目标坏点的横坐标减预定数值;第三参考目标坏点的横坐标等于对应的目标坏点的横坐标,纵坐标等于对应的目标坏点的纵坐标减预定数值;预定数值等于执行次数加1;

第一检测子模块,用于判断当前待检测目标坏点的坐标是否与第一参考目标坏点或第二参考目标坏点的坐标相同,并且在当前待检测目标坏点的坐标与第一参考目标坏点或第二参考目标坏点的坐标相同时,检测与当前待检测目标坏点接触的第一像元是否为坏点,其中第一像元为横坐标与当前待检测目标坏点的横坐标相同,并且纵坐标比当前待检测目标坏点的纵坐标小的像元;

第二检测子模块,用于在当前待检测目标坏点的坐标与第一参考目标坏点的坐标以及第二参考目标坏点的坐标均不同时,判断当前待检测目标坏点的纵坐标是否大于第三参考目标坏点的纵坐标,并在当前待检测目标坏点的纵坐标大于第三参考目标坏点的纵坐标时,检测与当前待检测目标坏点接触的第二像元是否为坏点,其中第二像元为横坐标与当前待检测目标坏点的横坐标相同的像元;

第三检测子模块,用于在当前待检测目标坏点的纵坐标不大于第三参考目标坏点的纵坐标时,判断当前待检测目标坏点的横坐标是否等于第一参考目标坏点或第二参考目标坏点的横坐标,并且在当前待检测目标坏点的横坐标等于第一参考目标坏点的横坐标时,检测第三像元以及第四像元是否为坏点,其中第三像元的横坐标等于当前待检测目标坏点的横坐标,并且纵坐标比当前待检测目标像元的纵坐标大1,第四像元的纵坐标等于当前待检测目标坏点的纵坐标,并且横坐标比当前待检测目标像元的横坐标小1;

第四检测子模块,用于在当前待检测目标坏点的横坐标等于第二参考目标坏点的横坐标时,检测第五像元以及第六像元是否为坏点,其中第五像元的横坐标等于当前待检测目标坏点的横坐标,并且纵坐标比当前待检测目标像元的纵坐标大1,第六像元的纵坐标等于当前待检测目标坏点的纵坐标,并且横坐标比当前待检测目标像元的横坐标大1;

第五检测子模块,用于在当前待检测目标坏点的横坐标不等于第一参考目标坏点的横坐标以及第二参考目标坏点的横坐标时,检测与当前待检测目标坏点接触的第七像元是否为坏点,其中第七像元为纵坐标与当前待检测目标坏点的纵坐标相同的像元。

在一个实施例中,第二检测模块包括坏簇确定子模块,用于判断坏点总数是否大于预定坏点总数,在坏点总数大于预定坏点总数时,确定当前目标坏点形成坏簇。

本发明实施例中的装置是与本发明实施例中的方法对应的产品,本发明实施例中的方法的每一个步骤均由本发明实施例中的装置的部件完成,因此对于相同的部分不再进行赘述。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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