一种检测镜头污点的方法和装置与流程

文档序号:11139303阅读:988来源:国知局
一种检测镜头污点的方法和装置与制造工艺

本发明涉及镜头检测技术领域,特别涉及一种检测镜头污点的方法和装置。



背景技术:

近年来,智能产品已经渗透到生活中的方方面面,而如今智能产品摄像头应该作为了一种标配,那么对于镜头制造商及镜头中间生产商来讲,如何检测镜头是否为一个良品则成为了一个挑战。

镜头检测是一个复杂的过程,包括测试镜头对色彩的分辨率、镜头的畸变率、镜头上是否有脏污等等很多测试流程,这里我们只针对于检测镜头是否有脏污,也就是检测镜头污点,提出了一种新的检测方法,可以改善或解决之前的一些缺点。

对于我们人眼来分辨污点那是很简单不过的事情了,但是对于计算机来说那不是件容易的事,因为计算机的世界里只有数字,计算机只能通过分析这些数字,从这些数字中提取出有效的信息,来做出一定的判断。现有技术中污点测试算法是这样的:首先将镜头拍摄的图片中的像素点分为若干个小块(Block),然后对当前Block与它后面第二个Block像素点的亮度值进行作差,然后设置一个阈值,根据这个差值和阈值的关系判定此处是否存在污点。这种算法存在如下一些缺点:

1、该算法对于测试亮度值基本均匀且是方形区域的图片是比较有效的,但有时根据客户的需求,镜头拍摄出的图片可能是一个由中心向边缘呈辐射状逐渐变暗的圆形,四个角是暗角,此时利用该算法进行测试就会存在不准确的问题,例如,由于中心亮度比较高的区域亮度值变化相对比较小,而边缘亮度比较低的区域亮度值变化相对比较大,这种算法可能会检测不出中心区域轻微的污点,或者将边缘区域不是污点的地方误判为污点;

2、该算法中需要进行大量的运算,需要互相作差,效率不算很高,而且Block大小也需要根据实际图像或污点类型来确定;

3、该算法对拍摄图片的亮度有较高的要求,当亮度有少量的变化时,预设的阈值就可能不再准确,相应地可能引起复测或误判的问题,制约生产线的生产效率。



技术实现要素:

鉴于上述问题,本发明提供了一种检测镜头污点的方法和装置,以解决现有检测镜头污点的方法准确度和效率较低的问题。

为达到上述目的,本发明的技术方案是这样实现的:

一方面,本发明提供一种检测镜头污点的方法,所述方法包括:

利用所述镜头拍摄一张图片或者从所述镜头拍摄的视频中选取一张图片;

选取所述图片的感兴趣区域,在所述感兴趣区域中以第一步长逐行或逐列选取测试像素点,并以第二步长在所述测试像素点周围选取若干参照像素点,其中,所述第二步长大于所述第一步长的一半,每个所述测试像素点与其周围的参照像素点组成一个测试单元;

获取每个测试单元内的所述测试像素点及参照像素点的亮度值,并计算每个测试单元内的所述测试像素点及参照像素点的平均亮度值和亮度值的方差;

将所述方差与预先获取的所述平均亮度值对应的方差阈值对比,如果所述方差大于所述方差阈值,则判定所述测试单元中的测试像素点为污点;

输出所述污点的像素位置,由所述污点的像素位置确定所述镜头污点的位置。

另一方面,本发明还提供一种检测镜头污点的装置,所述装置包括:

图片获取模块,用于利用所述镜头拍摄一张图片或者从所述镜头拍摄的视频中选取一张图片;

测试单元选取模块,用于在所述图片的感兴趣区域中以第一步长逐行或逐列选取测试像素点,并以第二步长在所述测试像素点周围选取若干参照像素点,其中,所述第二步长大于所述第一步长的一半,每个所述测试像素点与其周围的参照像素点组成一个测试单元;

亮度值方差获取模块,用于根据每个测试单元内的所述测试像素点及参照像素点的亮度值,计算每个测试单元内的所述测试像素点及参照像素点的平均亮度值和亮度值的方差;

污点判定模块,用于将所述方差与预先获取的所述平均亮度值对应的方差阈值对比,如果所述方差大于所述方差阈值,则判定所述测试单元中的测试像素点为污点;

污点位置确定模块,用于输出所述污点的像素位置,由所述污点的像素位置确定所述镜头污点的位置。

本发明的有益效果是:本发明提供的检测镜头污点的方法和装置,通过计算测试单元的平均亮度值和亮度值的方差,将该方差与平均亮度值对应的方差阈值对比,从而判断污点位置,不仅适合亮度基本均匀的图片,而且适合由中心向边缘呈辐射状逐渐变暗的图片。

一方面,对于亮度基本均匀的图片,测试不同区域时选取的方差阈值是相同的。而平均亮度值不同的图片,方差阈值是不同的。这样就对拍摄的图片亮度有一定的容错率,随图片亮度值不同而选取不同的方差阈值,有利于算法更稳定更准确的执行,提高测试的准确度,避免复测,提高生产线的效率。

另一方面,对于由中心向边缘呈辐射状逐渐变暗的图片,中心亮度较高区域对应的方差阈值小于边缘亮度较低区域对应的方差阈值,这样,中心区域即使有很轻微的污点,而由于污点所在测试单元对应的方差阈值较小,因此很容易检测出该污点。同样,由于边缘区域的方差阈值较大,亮度值方差本身比较大的地方也不会被误判为污点。这样大大提高了测试的准确度,避免复测,提高生产线的效率。

附图说明

图1是本发明实施例一的检测镜头污点的方法的流程图;

图2是本发明实施例一中在感兴趣区域选取测试单元和参照像素点的示意图;

图3是本发明实施例一中获取参照像素点亮度值的示意图;

图4是本发明实施例一中设置感兴趣区域之外的像素点的亮度值的示意图;

图5是本发明实施例一中获取方差阈值的方法流程图;

图6是本发明实施例二中由中心向边缘呈辐射状逐渐变暗的图片的示意图;

图7是本发明实施例三的检测镜头污点的装置的流程图。

具体实施方式

本发明的设计构思是,采用数学中求方差的思想来判断图片中是否存在污点。由于方差是衡量一组数据的离散程度的统计量,即随机变量和均值之间的偏离程度,因此应用在本发明中就是计算选定的测试单元中多个像素点亮度值的方差,如果该方差大于预先获取的方差阈值,说明在该测试单元中像素点的亮度值离散程度较大,各个像素点的亮度与亮度平均值偏离程度较高,因此推测出在该测试单元中有污点存在。经多次实验发现本发明的测试效率和准确度都优于现有技术中的测试算法。

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

实施例一

本发明实施例提供一种检测镜头污点的方法,如图1所示,该方法包括:

步骤S110:利用镜头拍摄一张图片或者从镜头拍摄的视频中选取一张图片;

步骤S120:选取图片的感兴趣区域,在感兴趣区域中以第一步长逐行选取测试像素点,并以第二步长在测试像素点周围选取若干参照像素点,每个测试像素点与其周围的参照像素点组成一个测试单元,如图2中的标号分别a、b和c的测试单元。例如,在标号为c的测试单元中,1为测试像素点,2-5均为参照像素点,参照像素点的个数可根据需要灵活选择,参照像素点越多,测试结果越准确。

其中,第二步长大于第一步长的一半,使同一行相邻的两个测试单元互相重叠,如图2所示,标号分别为a和b的两个测试单元互相重叠,避免漏掉图片中的像素点,确保所有的测试单元可以覆盖整个感兴趣区域,以保证测试结果的准确度。但是如果第二步长过小,则会降低测试效率,因此在选取第二步长的具体数值时,既要保证准确度,也要兼顾效率。

此外,逐行选取测试像素点也会降低测试效率,在具体测试时,例如可每隔一行或每隔两行选取测试像素点,如果将行与行之间的步长定义为第三步长,则第三步长应小于两倍的第二步长,使同一列相邻的两个测试单元互相重叠,避免漏掉图片中的像素点,确保所有的测试单元可以覆盖整个感兴趣区域,以保证测试结果的准确度。同样地,如果第三步长过小,则会降低测试效率,因此在选取第三步长的具体数值时,既要保证准确度,也要兼顾效率。

需要说明的是,与上述逐行选取测试像素点的步骤类似,也可逐列选取测试像素点。

步骤S130:获取每个测试单元内的测试像素点及参照像素点的亮度值,并计算每个测试单元内的测试像素点及参照像素点的平均亮度值和亮度值的方差;

步骤S140:将方差与预先获取的所述平均亮度值对应的方差阈值对比,如果方差大于方差阈值,则判定测试单元中的测试像素点为污点;

步骤S150:输出污点的像素位置,由污点的像素位置确定镜头污点的位置。

在本发明实施例中,由于测试单元代表的区域是有大小的,当测试中心点在感兴趣区域的边缘时,需要特别注意保证参照像素点的合法性,因此步骤S130中获取每个测试单元内的参照像素点的亮度值包括:

如果参照像素点在感兴趣区域之内,如图3中标号为c的测试单元中的参照像素点,则将参照像素点的亮度值设置为自身正常的亮度值;

如果参照像素点超出感兴趣区域但未超出图片区域,如图3中标号为d的测试单元左下角的部分参照像素点,则将参照像素点的亮度值用其所在测试单元内的测试像素点的亮度值代替,避免感兴趣区域之外的像素点的亮度值影响方差的结果,最终影响污点的判定;

如果参照像素点超出图片区域,如图3中的测试单元e下半部分参照像素点,则将参照像素点作为无效像素点去掉。

在本发明实施例中,图1所示的方法还包括:将感兴趣区域之外的像素点的亮度值设置为255;

将感兴趣区域之外的像素点的亮度值设置为255包括:

如图4所示,若在感兴趣区域中逐行选取测试像素点,则将感兴趣区域每行的最大列和最小列之外的像素点的亮度值设置为255;

若在感兴趣区域中逐列选取测试像素点,则将感兴趣区域每列的最大行和最小行之外的像素点的亮度值设置为255。

在本发明实施例中,感兴趣区域为图片的部分或者全部,感兴趣区域的形状为圆形、正方形或多边形;

如果感兴趣区域为圆形,则将感兴趣区域之外的像素点的亮度值设置为255具体为:将与圆心距离大于圆形半径的像素点的亮度值设置为255。

在本发明的实施例中,上述方法还包括获取不同亮度值对应的方差阈值的步骤,如图5所示,该步骤包括:

步骤S210:在与测试环境相同的拍摄条件下,利用无污点的镜头拍摄一张图片或者从无污点的镜头拍摄的视频中选取一张图片;

步骤S220:获取图片不同亮度区域内的中心像素点及其周围预定步长内若干像素点的亮度值;

步骤S230:计算中心像素点及其周围预定步长内若干像素点的平均亮度值和亮度值的方差;

步骤S240:根据平均亮度值为亮度值的方差加上一经验值,得到不同平均亮度值对应的方差阈值,经验值随平均亮度值的不同而变化。

在本发明实施例中,如图2-4所示,图片亮度基本均匀,则整个图片的亮度方差是统一的,对应的经验值也是统一的,因此该亮度水平下的图片在测试不同区域时选取的方差阈值是相同的。但是平均亮度值不同的图片,方差阈值是不同的。这样就对拍摄的图片亮度有一定的容错率,随图片亮度值不同而选取不同的方差阈值,有利于算法更稳定更准确的执行,提高测试的准确度,避免复测,提高生产线的效率。

实施例二

在本发明实施例中,如图6所示,图片由中心向边缘呈辐射状逐渐变暗。由于中心区域亮度变化较小,而边缘区域亮度变化较大,如果方差阈值设定为统一的,那么很容易漏掉中心区域亮度值方差较小的轻微的污点,并且也很容易将边缘区域亮度值方差本身比较大的地方误判为污点。因此,在设定方差阈值时,将平均亮度值较大区域对应的经验值设置的较小,将平均亮度值较小区域对应的经验值设置的较大,也即中心区域的方差阈值小于边缘区域的方差阈值。例如,图片中心某个区域对应的方差是400,加上一经验值100,得到方差阈值是500,那么即使是轻微的污点,例如方差为600,也很容易检测出来。再如,图片边缘某个区域对应的方差是600,加上一经验值300,得到方差阈值是900,这样对于本身方差比较大的区域,根据经验由于其方差一般不会大于方差阈值900,因此也不会被误判为污点。

综上可知,利用这种测试算法,图片中心区域即使有很轻微的污点,而由于污点所在测试单元对应的方差阈值较小,因此很容易检测出该污点。同样,由于边缘区域的方差阈值较大,亮度值方差本身比较大的地方也不会被误判为污点。这样大大提高了测试的准确度,避免复测,提高生产线的效率。

本发明实施例的其余方法与实施例一相同,此处不再赘述。

实施例三

如图7所示,本发明实施例提供一种检测镜头污点的装置,该装置包括:

方差阈值获取模块100,用于:

在与测试环境相同的拍摄条件下,利用无污点的镜头拍摄一张图片或者从无污点的镜头拍摄的视频中选取一张图片;

获取图片不同亮度区域内的中心像素点及其周围预定步长内若干像素点的亮度值;

计算中心像素点及其周围预定步长内若干像素点的平均亮度值和亮度值的方差;

根据平均亮度值为亮度值的方差加上一经验值,得到不同平均亮度值对应的方差阈值,经验值随平均亮度值的不同而变化。

对于亮度基本均匀的图片,整个图片的亮度方差是统一的,对应的经验值也是统一的,因此该亮度水平下的图片在测试不同区域时选取的方差阈值是相同的。但是平均亮度值不同的图片,方差阈值是不同的。这样就对拍摄的图片亮度有一定的容错率,随图片亮度值不同而选取不同的方差阈值,有利于算法更稳定更准确的执行,提高测试的准确度,避免复测,提高生产线的效率。

对于由中心向边缘呈辐射状逐渐变暗的图片,在设定方差阈值时,将平均亮度值较大区域对应的经验值设置的较小,将平均亮度值较小区域对应的经验值设置的较大,也即中心区域的方差阈值小于边缘区域的方差阈值,这样,中心区域即使有很轻微的污点,而由于污点所在测试单元对应的方差阈值较小,因此很容易检测出该污点。同样,由于边缘区域的方差阈值较大,亮度值方差本身比较大的地方也不会被误判为污点。这样大大提高了测试的准确度,避免复测,提高生产线的效率。

图片获取模块200,用于利用镜头拍摄一张图片或者从镜头拍摄的视频中选取一张图片;

测试单元选取模块300,用于在图片的感兴趣区域中以第一步长逐行或逐列选取测试像素点,并以第二步长在测试像素点周围选取若干参照像素点,其中,第二步长大于第一步长的一半,每个测试像素点与其周围的参照像素点组成一个测试单元;

亮度值方差获取模块400,用于根据每个测试单元内的测试像素点及参照像素点的亮度值,计算每个测试单元内的测试像素点及参照像素点的平均亮度值和亮度值的方差;

污点判定模块500,用于将方差与预先获取的所述平均亮度值对应的方差阈值对比,如果方差大于方差阈值,则判定测试单元中的测试像素点为污点;

污点位置确定模块600,用于输出污点的像素位置,由污点的像素位置确定镜头污点的位置。

在本发明实施例中,该装置还包括:

参照像素点亮度值获取模块,用于将感兴趣区域之内的参照像素点的亮度值,设置为自身正常的亮度值;将超出感兴趣区域但未超出图片区域的参照像素点的亮度值,用其所在测试单元内的测试像素点的亮度值代替;将超出图片区域的参照像素点,作为无效像素点去掉;

在本发明实施例中,该装置还包括:

感兴趣区域划分模块,用于将感兴趣区域之外的像素点的亮度值设置为255;若在感兴趣区域中逐行选取测试像素点,则将感兴趣区域每行最大列和最小列之外的像素点的亮度值设置为255,若在感兴趣区域中逐列选取测试像素点,则将感兴趣区域每列的最大行和最小行之外的像素点的亮度值设置为255。

感兴趣区域为图片的部分或者全部,感兴趣区域的形状为圆形、正方形或多边形;感兴趣区域划分模块,具体用于在感兴趣区域为圆形时,将与圆心距离大于圆形半径的像素点的亮度值设置为255。

综上所述,本发明实施例一至三提供了一种检测镜头污点的方法和装置,通过计算测试单元的亮度方差并与方差阈值对比,从而判断污点位置,不仅适合亮度基本均匀的图片,而且适合由中心向边缘呈辐射状逐渐变暗的图片。一方面,对于亮度基本均匀的图片,测试不同区域时选取的方差阈值是相同的。而平均亮度值不同的图片,方差阈值是不同的。这样就对拍摄的图片亮度有一定的容错率,随图片亮度值不同而选取不同的方差阈值,有利于算法更稳定更准确的执行,提高测试的准确度,避免复测,提高生产线的效率。另一方面,对于由中心向边缘呈辐射状逐渐变暗的图片,中心亮度较高区域对应的方差阈值小于边缘亮度较低区域对应的方差阈值,这样,中心区域即使有很轻微的污点,而由于污点所在测试单元对应的方差阈值较小,因此很容易检测出该污点。同样,由于边缘区域的方差阈值较大,亮度值方差本身比较大的地方也不会被误判为污点。这样大大提高了测试的准确度,避免复测,提高生产线的效率。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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