一种可修正缺陷像元的多线线阵相机及方法与流程

文档序号:25041864发布日期:2021-05-14 11:00阅读:219来源:国知局
一种可修正缺陷像元的多线线阵相机及方法与流程

1.本申请涉及工业视觉技术领域,尤其涉及一种可修正缺陷像元的多线线阵相机及方法。


背景技术:

2.线阵相机是采用线阵传感器的相机,其每次采集一行图像,拍摄的图像呈

线

状,将若干行拼接成一幅图像,必须要求被摄物体(或线阵相机)沿图像高度方向运动。可见光线阵相机采用线阵图像传感器,红外线阵相机采用线阵探测器,两者的工作原理都是每次采集一行,拍摄的图像呈

线

状,通过物体运动实现完整图像的采集。通常来说线阵相机不允许有缺陷点,即可见光相机中称为坏点,红外相机中称为盲元,因为线阵相机上的一个缺陷点会导致图像的一整列都是异常图像。
3.在一些修正缺陷像元的实现中,通常会通过来料检验筛选出没有缺陷点的芯片;或通过使用同一条线上缺陷点周围左侧、或右侧的正常像素点来直接、或间接替换缺陷点。
4.然而,在缺陷点不是孤立点,而是连续的缺陷点时,其修正效果较差。


技术实现要素:

5.为了解决在线阵相机缺陷点连续分布时修正效果较差的问题,本申请提供了一种可修正缺陷像元的多线线阵相机及方法。
6.本申请的实施例是这样实现的:
7.本申请实施例的第一方面提供一种可修正缺陷像元的多线线阵相机,包括:线阵传感器芯片,包括线性排列的像元,用于按行采集、或探测目标的图像;控制器,被配置为:识别所述线阵传感器芯片中的主线、及辅线,所述主线包含第一缺陷像元的数量最少、所述辅线为包含缺陷像元位置与所述主线包含的所述第一缺陷像元位置不重叠的线;在所述主线输出成像时,控制所述辅线上对应于所述第一缺陷像元位置临近灰度值变化最小的第二像元替换所述第一缺陷像元的成像,以生成所述主线的修正成像,其中,所述第二像元不包括所述主线成像方向的像元。
8.本申请实施例的第二方面提供一种可修正缺陷像元的方法,所述方法包括:识别线阵传感器芯片中的主线、及辅线,所述主线包含第一缺陷像元的数量最少、所述辅线为包含缺陷像元位置与所述主线包含的所述第一缺陷像元位置不重叠的线;在所述主线输出成像时,控制所述辅线上对应于所述第一缺陷像元位置临近灰度值变化最小的第二像元替换所述第一缺陷像元的成像,以生成所述主线的修正成像,其中,所述第二像元不包括所述主线成像方向的像元。
9.本申请实施例的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被计算机执行以实现本申请发明内容第二方面提供的所述方法。
10.本申请提供的技术方案包括以下有益技术效果:通过构建包含缺陷像元数量最少的主线、可以降低缺陷像元修正的计算量;进一步通过构建第二像元,可以实现与第一缺陷
像元最为接近像素点的获取,提升缺陷像元的修正效果。
附图说明
11.为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
12.图1示出了本申请一实施例一种修正缺陷像元方法的流程示意图;
13.图2示出了本申请一实施例2线线阵传感器芯片的示意图;
14.图3示出了本申请一实施例3x3窗口图像的示意图;
15.图4示出了本申请一实施例计算梯度方向的示意图;
16.图5示出了本申请一实施例多线线阵相机成像特点的示意图。
具体实施方式
17.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.本说明书通篇提及的

多个实施例



一些实施例



一个实施例



实施例

等,意味着结合该实施例描述的具体特征、结构或特性包括在至少一个实施例中。因此,本说明书通篇出现的短语

在多个实施例中



在一些实施例中



在至少另一个实施例中



在实施例中

等并不一定都指相同的实施例。此外,在一个或多个实施例中,具体特征、结构或特性可以任何合适的方式进行组合。因此,在无限制的情形下,结合一个实施例示出或描述的具体特征、结构或特性可全部或部分地与一个或多个其他实施例的特征、结构或特性进行组合。这种修改和变型旨在包括在本申请的范围之内。
19.图1示出了本申请一实施例一种修正缺陷像元方法的流程示意图。
20.在步骤101中,识别线阵传感器芯片中的主线、及辅线,所述主线包含第一缺陷像元的数量最少、所述辅线为包含缺陷像元位置与所述主线包含的所述第一缺陷像元位置不重叠的线。
21.在一些实施例中,本申请还提供了一种可修正缺陷像元的多线线阵相机,包括线阵传感器芯片和控制器。其中,线阵传感器芯片包括线性排列的像元,用于按行采集、或探测目标的图像;控制器被配置为:识别所述线阵传感器芯片中的主线、及辅线,所述主线包含第一缺陷像元的数量最少、所述辅线为包含缺陷像元位置与所述主线包含的所述第一缺陷像元位置不重叠的线。
22.在一些实施例中,多线线阵相机可包括可见光线阵相机或红外线阵相机,其中,可见光线阵相机采用线阵图像传感器,红外线阵相机采用线阵探测器或传感器。两者的工作原理都是每次采集一行,拍摄的图像呈

线

状,通过物体运动实现完整图像的采集。
23.在一些实施例中,缺陷点就是成像芯片上无法正常响应的感光单元,反映到图像上就是一个亮度不同于周围正常亮度的像素点,这类缺陷点会加大工业检测中的误检率。
24.在一些实施例中,为了能够使用这类存在缺陷的线阵传感器芯片,可以通过将其
他线的正常像元替换输出存在缺陷线的缺陷像元。
25.线阵传感器芯片可实施为具有多线设计的,例如可实施为:2线、4线、8线等。
26.图2示出了本申请一实施例2线线阵传感器芯片的示意图。
27.多线线阵相机在使用时只会输出一线。例如,这一线可以是选取其中的任意一条线;也可以是通过某种功能,例如tdi/hdr等将多线合一进行输出。
28.在一些实施例中,本申请提供的可修正缺陷像元的方法、及装置充分利用多线线阵相机采集的多线图像信息,且多线同一位置同时出现缺陷点的概率极小的特点,利用无缺陷点的线信息来修正输出线、即主线上的缺陷点。
29.例如,可修正缺陷像元的多线线阵相机的控制器分别检测线阵传感器芯片上每条线的缺陷点位置,并统计缺陷点数量。
30.控制器逐点判断每个像素点灰度值与整图均值的差异,差异大于预设的阈值时即认为该像素点是缺陷点,缺陷点在本文中也称为缺陷像元。
31.将缺陷点数量最少的线作为多线线阵相机要输出的线,称为主线,所述主线的缺陷点记为第一缺陷点;控制器选取与主线缺陷点位置不重叠的线作为修正上述第一缺陷点的线,称为辅线。
32.需要说明的是,若线阵传感器芯片的线大于2线是,则在前述条件上增加缺陷点数量次小的限制。
33.在步骤102中,在所述主线输出成像时,控制所述辅线上对应于所述第一缺陷像元位置临近灰度值变化最小的第二像元替换所述第一缺陷像元的成像,以生成所述主线的修正成像,其中,所述第二像元不包括所述主线成像方向的像元。
34.在一些实施例中,控制所述辅线上对应于所述第一缺陷像元位置临近灰度值变化最小的第二像元替换所述第一缺陷像元的成像,包括:通过3x3图像窗口计算所述辅线上对应于所述第一缺陷像元位置三个方向的灰度梯度值,所述三个反向包括水平方向、斜45度方向、斜135度方向;将所述灰度梯度值最小的方向的最临近像元作为第二像元,所述第二像元为校正效果与所述第一缺陷像元最接近的像元。
35.控制器针对主线上的第一缺陷点,用辅线上的正常像素点进行校正。为了方便说明,在不考虑线阵相机线与线之间的成像差异时,假设主线与辅线同一时刻的成像是完全一样的。
36.例如,在校正时,控制器先在辅线上找到与主线第一缺陷点位置对应的像素点,并获取以该像素点为中心的3x3窗口的图像数据,如图3所示,图3示出了本申请一实施例3x3窗口图像的示意图。
37.假设缺陷点为g(x),x表示缺陷点的位置,在整幅图像中,第x列均为异常点,均需进行校正。
38.控制器分别计算三个方向的梯度,计算公式如下所示:
[0039][0040]
控制器不计算垂直方向,是因为该方向均为主线生成的缺陷图像,计算无意义,如图4所示,图4示出了本申请一实施例计算梯度方向的示意图。
[0041]
在一些实施例中,选取最小梯度方向上的两个像素点的均值来替换缺陷点即可。
[0042]
在一些实施例中,通过使用3x3的窗口进行主线的第一缺陷点校正。
[0043]
3x3图像窗口中包含了缺陷点周围的图像纹理信息,通过三个方向的梯度计算,可以找到图像中灰度变化最小的方向,该方向的校正效果最自然,而该方向不一定都是图4所示的方向1,使用方向1来校正大概率会存在效果不自然校正效果不佳的情况。
[0044]
在一些实施例中,所述控制器在识别所述线阵传感器芯片中的主线、及辅线之前,所述控制器还被配置为:获取所述多线线阵相机的相对位移参数,及表示所述相对位移方向的方向参数,所述相对位移参数表示所述多线线阵相机对于同一目标物体在两线成像上的行间距。
[0045]
例如,多线线阵相机是通过物体运动来成像的,通常线阵传感器芯片的多线之间存在间隙,一般与像元尺寸一样。
[0046]
线与线之间的物理间隔导致这两条线所成的像在物体运动方向存在位置差异,如图5所示,图5示出了本申请一实施例多线线阵相机成像特点的示意图。
[0047]
同一时刻两线拍摄的是目标物体上的不同位置,在成像上表现为目标上的同一位置在a、b图像中存在位移,即图5中的sc。
[0048]
在一些实施例中,以图2所示的2线线阵传感器芯片,线间间隔与像元尺寸一致进行说明。
[0049]
若相机行频与物体运动速度严格匹配,目标成像的横纵比与目标实际的物理比例一致,但目标上同一位置在两线的成像差异为2行,即sc=2;
[0050]
若相机行频大于物体运动速度,则图像被拉伸,目标上同一位置在两线的成像差异大于2行,即sc>2;反之,若相机行频小于物体运动速度,则图像被压缩,目标上同一位置在两线的成像差异小于2行,即sc<2。
[0051]
而且只要相机行频与物体运动速度不是严格匹配,极有可能出现两线的成像差异为非整数行。因此,在用辅线校正主线缺陷点之前,需要先得到主线与辅线间的sc参数。
[0052]
在一些实施例中,为了相机内部实现方便,sc参数采用离线标定过程,标定前同时采集两线的图像,在sc设定的范围内(如:0.5~4.0),迭代步长为0.01(该值影响sc的参数精度,可设),分别计算主线图像与辅线图像偏移sc参数后的图像点对点的灰度差异的绝对值累加和,该累加和最小时对应的sc参数即为标定结果,其中,图像整体上移或下移sc行,sc为非整数时,图像需通过插值实现。
[0053]
在一些实施例中,所述控制器还被配置为:在所述多线线阵相机的行频、目标物体的运动速度不匹配时,控制器对通过对所述辅线进行插值,得到与所述主线相同位置的像素点。
[0054]
例如,上文中假设辅线和主线成像间无差异,实际上两者在图像上差异sc行,若sc为非整数,则需要对辅线图像数据进行插值计算。具体可实施为:
[0055]
在缺陷点校正前,需要获取方向参数direction和相对位移参数sc。
[0056]
方向参数(direction)决定辅线是上移sc还是下移sc,将其配置为:
[0057]
direction=0,辅线上移sc;
[0058]
direction=1,辅线下移sc。
[0059]
相对位移参数(sc)即主线与辅线的物理距离除以每行扫描移动的距离,反映在图
像上即同一目标在ab两线成像上的行间隔。
[0060]
若相机行频与物体运动速度匹配时,sc=2(默认值设为2),若不匹配,则需要通过对辅线进行插值得到与主线相同位置的像素点,所述插值计算方法如下:
[0061]
delay_line=ceil(sc):延时行数,为sc向上取整;
[0062]
phase=delay_line

sc:插值相位;
[0063]
当前需要插值的缺陷点out(i),i表示当前处理行的编号,从1开始;
[0064]
out(i)=sub_line(i

delay_line)*(1

phase)+sub_line(i

delay_line+1)*phase
[0065]
其中,sub_line表示辅线图像数据,i

delay_line表示当前处理行i的前delay_line缓存行。
[0066]
在一些实施例中,本申请提供的控制器可包括ram和rom以及图形处理器、cpu处理器、通信接口,以及通信总线。其中,ram和rom以及图形处理器、cpu处理器、通信接口通过总线相连接。控制器可以控制本申请提供的所述装置的整体操作。
[0067]
本申请实施例的有益效果在于,通过构建包含缺陷像元数量最少的主线、可以降低缺陷像元修正的计算量;进一步通过构建第二像元,可以实现与第一缺陷像元最为接近像素点的获取,提升缺陷像元的修正效果。
[0068]
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为

数据块



模块



引擎



单元



组件



系统

。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
[0069]
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。
[0070]
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visual basic、fortran 2003、perl、cobol 2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan)、或连接至外部计算机(例如通过因特网)、或在云计算环境中、或作为服务使用如软件即服务(saas)。
[0071]
需要说明的是,术语

包括



包含

或者其任何其他变体意在涵盖非排他性的包
含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句

包括一个......

限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0072]
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
[0073]
应当理解的是,本申请并不局限于上面已经描述的内容,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1