具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以、除了在这里图示或描述的以外的顺序实施。
可以理解,本发明实施例中的基于图像检测板材封边缺陷的方法,可基于对包括有封边的板材图像(待检测图像)进行图像处理,确定待检测图像中的封边是否存在异常,为一种基于对待检测图像进行处理而得到对板材的封边是否存在异常的检测方案。与相关技术采用人工进行封边缺陷或异常检测方案相比,是一种基于图像的自动检测方案,可解放人力物力,降低成本,提高检测效率和准确率。
下面来看对本发明实施例中基于图像检测板材封边缺陷的方案的说明。
本发明实施例中的基于图像检测板材封边缺陷的方法可应用于任何合理的电子设备,如终端或服务器。其中,所述终端包括但不限于:台式机、笔记本电脑、一体机、手机等设备。服务器包括但不限定于普通服务器、云服务器或集群服务器。在工业上,考虑到本发明实施例的技术方案可能会被应用在诸如工业视觉检测等专业领域中,基于图像检测板材封边缺陷的方法可应用在的电子设备包括但不限定于在前述专业领域中使用的终端或服务器。由于无法一一枚举本发明实施例可应用的终端或服务器,所以任何合理的设备均覆盖在本发明的保护范围内。参见图1所示,为本发明实施例中基于图像检测板材封边缺陷的方法的实现流程图一。所述方法包括:
S(步骤)101:获取待检测图像,所述待检测图像为包括有封边的板材图像;
可将应用基于图像检测板材封边缺陷的方法的电子设备视为基于图像检测板材封边缺陷的设备(简称为检测设备)。本实施例中的封边可视为板材封边的简称。
检测设备可设置有用于采集图像的图像采集模块如相机或摄像头。还可以,检测设备通过接收与其进行通信的设备发送的包括有封边的板材图像而得到待检测图像,其中待检测图像可以是与检测设备进行通信的设备通过自身的相机或摄像头而采集到的包括有封边的板材图像。
S102:检测待检测图像中的板材边界信息;
可以理解,多数情况下,待检测图像中不仅包括板材部分(图像中的前景部分),还包括背景部分。待检测图像中的板材边界为待检测图像中板材部分与背景部分的交界。
S103:基于板材边界信息,得到封边所处的位置;
在实际应用中,封边是被封到板材上的,基于板材边界信息,即可获知待检测图像中的板材部分所在的区域(板材区域),以从板材区域中识别或检测出封边所处的位置。
S104:依据封边所处的位置,得到封边的实际灰度信息;
封边可抽象为一条线段或直线。封边的实际灰度信息可由封边的各点(封边点)的实际灰度来表示。
S105:基于封边的实际灰度信息,得到封边的理想灰度信息;
本步骤中,封边的理想灰度信息基于实际灰度信息而进行构建。
S106:基于封边的实际灰度信息和理想灰度信息,识别待检测图像中是否存在灰度异常区域;
本步骤中,基于所述实际灰度信息和理想灰度信息,识别待检测图像中是存在灰度异常区域,还是未存在灰度异常区域。
S107:基于待检测图像中是否存在灰度异常区域的识别结果,确定待检测图像中是否存在封边缺陷。
在本步骤中,基于待检测图像中存在灰度异常区域的识别结果,确定待检测图像中存在封边缺陷;或者,基于待检测图像中未存在灰度异常区域的识别结果,确定待检测图像中未存在封边缺陷。
在实际应用中,采集到的包括有封边的板材图像、其封边可能存在异常也可能未存在异常。前述步骤中基于待检测图像中是否存在灰度异常区域的识别结果确定该图像中是否存在封边缺陷。具有很强的实用性,方案易于推广。
在S101~S107中,针对获取到的待检测图像,基于图像中的板材边界信息得到封边所处的位置,依据封边所处位置得到封边的实际灰度信息,基于封边的实际灰度信息得到封边的理想灰度信息。基于封边的实际灰度信息和理想灰度信息,识别待检测图像中是否存在灰度异常区域,可保证对是否存在灰度异常区域的识别准确性。基于待检测图像中是否存在灰度异常区域的识别结果,确定待检测图像中是否存在封边缺陷,可保证对是否存在封边缺陷的检测准确性。为一种基于对待检测图像进行处理而得到对板材封边是否存在异常的检测方案。
与相关技术采用人工进行封边缺陷或异常检测方案相比,是一种基于图像的自动检测方案,可解放人力物力,降低成本。与人工检测会出错的现象相比,本发明提供的技术方案为一种机器检测方案,可加快检测效率,提高检测准确率,有效降低人工成本、降低出错率。
在实际应用中,如果封边存在缺陷,则在图像上沿着封边法线方向封边及其边缘区域的灰度情况与封边未存在缺陷时的灰度情况有所不同,基于此,本方案中基于封边的实际灰度信息和理想灰度信息,来实现对待检测图像中是否存在灰度异常区域检测,可实现对是否存在灰度异常区域的准确检测,进而可保证对待检测图像中是否存在封边缺陷的准确检测,可有效提高检测准确性和准确率。
作为一个可选的实现方式,如图2所示,在所述基于待检测图像中存在灰度异常区域的识别结果,确定待检测图像中存在封边缺陷之后,所述方法还包括S108:
基于所述灰度异常区域,确定所述待检测图像中的封边缺陷区域。
在一种实现上,可将灰度异常区域作为封边缺陷区域。该方法可视为一种粗定位封边缺陷区域的方案,由此可实现简单有效的封边缺陷区域的检测、识别或定位。
在另一种实现上,从灰度异常区域中进行封边缺陷区域的进一步定位或查找。即,灰度异常区域作为存在封边缺陷的粗定位区域,从粗定位区域中进行封边缺陷的细定位区域,进而实现对封边缺陷区域的准确识别。
以上两种实现的具体过程请参见后续相关说明。
下面结合图3-图12,对图1所示的S101~S107或者图2所示的101~S108中的各步骤方案进行逐一说明。
S101中,可基于检测设备自身设置的单个相机或线阵相机实现对包括有封边的板材图像的采集。
具体实现过程可以是:检测设备设置有一个相机,利用相机对包括有封边的板材进行图像拍摄,得到包括有封边的板材图像,将其作为待检测图像以对该图像中的封边是否存在异常进行检测。还可以,检测设备设置有线阵相机。线阵相机可视为采用一定的排列方式对两个或两个及上的相机进行排列。
以图3所示为例,两个相机以一定的角度进行布置,一个在上(上相机),一个在下(下相机),皮带位于二者中间,两个相机与皮带的角度都是45度。皮带上放置有板材,皮带沿着水平位置进行运动,放置有板材的皮带在每次运动时带动板材运动一次。每次运动时,两个相机在各自所处的位置上对放置在皮带上的同一板材进行图像采集,得到待检测图像。在实际应用中,同一板材存在有上封边和下封边,本方案中的两个相机的如此设置可保证其中一个相机对包括有上封边的板材图像进行采集、另一个相机对包括有下封边的板材图像进行采集。也就是说,针对放置有同一板材的皮带的一次运动,线阵相机可采集到两张图像,分别为包括上封边的板材图像(上封边板材图像)和包括下封边的板材图像(下封边板材图像),分别对两张图像进行诸如S102~S108的图像处理,得到上、下封边是否存在有缺陷的结果。在检测设备输出该结果时,可标识出该结果是针对上封边板材图像而得到还是针对下封边板材图像而得到的,由此可实现对同一板材的每个封边是否存在缺陷的检测。实现了自动检测,检测准确性和效率被明显提升。
作为一个可选的方案,S102可以为:对待检测图像进行自适应直方图均衡化处理;对自适应直方图均衡化处理后的待检测图像中的板材边界信息进行识别。
在实际应用中,存在有深色板材和浅色板材,针对深色板材存在有采集到板材图像的亮度较暗的情况,图像的亮度较暗不利于后续对图像中板材边界信息的识别。为此,可先待检测图像进行均衡化处理,以提高图像亮度。再对提高有图像亮度的待检测图像进行板材边界信息的识别,可保证对边界信息的准确识别。
在实际应用中,针对采集到的某张待检测图像,其是否需要进行均衡化处理,还需要通过如下方案来识别:所述待检测图像中存在有针对板材的背景图像;获取目标图像中指定区域的灰度信息,所述目标图像为所述待检测图像中除所述背景图像之外的图像;在所述指定区域的灰度信息满足预设灰度条件的情况下,对待检测图像进行自适应直方图均衡化处理;对自适应直方图均衡化处理后的待检测图像中板材边界信息进行识别。
如果指定区域的灰度信息不满足预设灰度条件,则不需要对待检测图像进行均衡化处理,直接检测板材边界信息即可。
可以理解,待检测图像由两部分构成,一部分是背景部分,另一部分是板材部分。待检测图像中为背景部分的图像是背景图像。由于采集到检测图像的线阵相机采用如图3所示的方式进行设置或布置的,所以可预先获知待检测图像中背景图像的大概位置。本方案中的目标图像实际上为待检测图像中除去背景部分的图像、该图像中包括板材和板材封边。在预先获知待检测图像中的上1/3为背景部分的情况下,可从在除去背景部分的待检测图像中,选取固定大小的区域如待检测图像的下2/3部分中的中心区域(中心位置处的100*100个像素点)作为指定区域,在指定区域的灰度信息满足预设灰度条件的情况下,对待检测图像进行自适应直方图均衡化处理,再对自适应直方图均衡化处理后的待检测图像中的板材边界信息进行识别。
该指定区域的数量可以是一个,可以是两个或两个以上。基于对指定区域的灰度信息是否满足预设灰度条件的结果,实现是否对待检测图像进行均衡化处理的判断或识别,可做到是否进行均衡化处理的准确识别,从而保证后续方案的准确进行。
以上识别方案可作为对检测待检测图像中的板材边界信息的进一步阐述。
前述方案中,所述对待检测图像进行自适应直方图均衡化处理,包括:将待检测图像划分为多个具有相同大小的子图像;采用自适应直方图均衡化算法对各子图像进行均衡化;以及对待检测图像中处于相邻位置的任意两个子图像的边缘进行双线性插值。基于直方图均衡化算法和双线性插值实现对待检测图像的准确均衡化处理,可保证后续方案的顺利进行。
在具体实现上,自适应直方图均衡化处理的方案可以是:可以理解,由于板材的颜色种类较多,一种光源亮度无法满足所有板材边缘的成像效果,使之达到最佳。为此,本发明实施例中可将相机的光源调整到在满足浅色如白色板材的不过曝的最亮程度的前提下,对深色板材进行图像采集。然后由方图均衡化算法进行均衡化,以将采集到图像调整为合适的亮度。均衡化之前和均衡化之后的对比结果如图4(a)、图4(b)所示。其中,均衡化之前的图像如图4(a)所示,均衡化之后的图像如图4(b)所示。
图4(a)为针对深色板材而采集到的包括有封边的板材图像,由于板材为深色、背景部分也为深色,所以从图像中难以区分背景部分和板材部分。经均衡化处理以对板材部分进行提亮,即从图4(b)中可清楚分辨出背景部分和板材部分。
由于图3所示的线阵相机和皮带位置的限制,在采集到的每一张待检测图像中可估算出背景图像在整个图像中所处的大概区域。从除去背景图像的待检测图像中随机选择一个固定大小的区域如100*100个像素点的区域,将其作为指定区域。计算该指定区域的平均灰度值,如果平均灰度值大于或等于预设的第一灰度阈值如35,则认为不需要对待检测图像进行均衡化处理。如果小于第一灰度阈值如35,则需要对待检测图像进行均衡化处理以提高图像亮度。
前述方案中可将平均灰度值小于预设的第一灰度阈值作为指定区域的灰度信息满足预设灰度条件的情形。即,预设灰度条件为指定区域的平均灰度值小于预设的第一灰度阈值;指定区域的灰度信息为指定区域的平均灰度值。
本方案中,采用自适应直方图均衡化算法进行均衡化处理。将待检测图像划分为具有一定大小的多个小图(子图像),如7*7像素点的多个小图。采用自适应直方图均衡化算法,对各小图进行逐一的均衡化处理,以实现对待检测图像的灰度映射。
为使得各小图的边缘像素点的灰度更加准确,对待检测图像中处于相邻位置的任意两个子图像的边缘进行双线性插值操作。采用双线性插值公式进行操作,双线性插值公式如下:
f(x,y)=f(0,0)*(1-x)*(1-y)+f(1,0)*x*(1-y)+f(0,1)*y*(1-x)+f(0,0)*x*y;
其中,F(x,y)表示子图像中的像素点(用坐标表示为(x,y))经双线性插值后得到的灰度值。f(0,0)、f(0,1)、f(1,0)、f(1,1)分别表示该子图像中位于四个角落处的像素点的坐标。
经过对各小图的自适应直方图均衡化以及对小图的边缘的双线性插值实现了对深色板材图像的亮度提升。
作为一个可选的实现方式,所述检测待检测图像中的板材边界信息,包括:
对待检测图像进行自适应直方图均衡化处理;对自适应直方图均衡化处理后的待检测图像中的板材边界信息进行识别。
可以理解,通过单个相机或线阵相机采集到的待检测图像为像素值在0-255的灰度图像。针对深色板材,采集到的待检测图像的像素的灰度值可能达不到255,比如在0-100或者0-150,对待检测图像进行均衡化处理,意在将0-100或者0-150的灰度图像处理为灰度值在0-255的图像,进而达到对图像亮度的提升,也为后续能够准确识别是否存在封边缺陷提供了保障。
由前述方案可知,本发明方案中,结合图2所示,可先对待检测图像是否需要进行均衡化处理进行判断(S102a)。如果需要进行均衡化处理,则先对待检测图像进行均衡化处理、具体是自适应直方图均衡化(S102b),然后再检测板材边界信息(S102c)。如果不需要进行均衡化处理,则直接对待检测图像进行板材边界信息进行检测。具体实现请参见前述相关说明,可见,本方案的实用性强,易于推广。其中,均衡化处理待检测图像,可有效避免采集到的待检测图像是深色板材的图像而造成的无法进行封边缺陷识别、或识别结果不准确的问题。
下面来看检测待检测图像中的板材边界信息的实现过程。
在不需要对待检测图像进行自适应直方图均衡化处理的情况下,检测待检测图像中的板材边界信息。在需要对待检测图像进行自适应直方图均衡化处理的情况下,检测待检测目标图像中的板材边界信息。其中,所述待检测目标图像为对所述待检测图像进行自适应直方图均衡化处理后而得到的图像。
作为一种可选的实现方式,以检测待检测目标图像中的板材边界信息为例进行说明,所述检测待检测目标图像中的板材边界信息,即对自适应直方图均衡化处理后的待检测图像中的板材边界信息进行识别的实现过程包括:检测待检测目标图像中的板材上边界线和下边界线;检测待检测目标图像中的板材目标边界线,所述目标边界线为板材的左边界线和右边界线中的至少之一;将所述上边界线、下边界线以及目标边界线作为所述板材边界信息。在实际应用中,待检测目标图像中的板材区域通常由板材上边界线、下边界线、左边界线和右边界线等构成。可以理解,与待检测图像相比,待检测目标图像的差异在于板材部分被提亮,待检测目标图像中的板材上、下边界线和目标边界线在待检测目标图像中的位置与待检测图像中的板材上、下边界线和目标边界线的位置相同。即,待检测目标图像中的前述几种边界线可被视为待检测图像中的边界线。本方案中的边界线可以是,从图像的角度去看,上边界线为图像的上方背景部分和板材部分的交界线。下边界线为图像的下方背景部分和板材部分的交界线。左边界线为图像的左方背景部分和板材部分的交界线。右边界线为图像的右方背景部分和板材部分的交界线。上边界线、下边界线和右边界线可以如图6所示。对左边界线的理解可参见对右边界线的理解。
在本发明实施例中,由于图3所示的线阵相机和皮带位置的设置,在采集到的待检测图像中,多数是由板材上边界线、下边界线、一条目标边界线(如图6所示的右边界线)等三条边界线来构成。将板材上边界线、下边界线以及目标边界线作为板材边界信息,以实现后续对封边位置的准确检测或识别。
前述方案中,所述检测待检测目标图像中的板材上边界线和下边界线,包括:
对待检测目标图像中的板材上边界区域和下边界区域进行识别;从上边界区域中检测出第一目标点,所述第一目标点为所述上边界区域中围绕该点的第一预定区域和第二预定区域之间的灰度变化满足第一预设条件的像素点;从下边界区域中检测出第二目标点,所述第二目标点为所述下边界区域中围绕该点的第一预定区域和第二预定区域之间的灰度变化满足第二预设条件的像素点;基于所述第一目标点,得到板材上边界线;基于所述第二目标点,得到板材下边界线。
可以理解,在待检测图像中,背景图像通常为深色、较暗,待检测图像中除去背景图像之外的板材部分的图像通常为浅色、较亮。板材边界线通常就位于图像灰度变化明显的区域内。本方案中先对待检测图像中图像灰度变化明显的区域如板材上边界区域和下边界区域进行粗识别,然后再从上、下边界区域中精细检测或识别出能够准确构成板材上边界线和下边界线的像素点,并基于这些像素点构成准确的板材上、下边界线。由此实现了对待检测图像中上、下边界线的准确检测或识别,进而可提高对缺陷检测的准确性。
前述方案中,所述对待检测目标图像中的板材上边界区域进行识别,包括:
从待检测目标图像的第一指定像素点开始,向下进行逐个像素点的扫描,得到第三目标点,所述第三目标点为在扫描中得到的第一个、围绕该点的第一预定区域和第二预定区域之间的灰度变化满足第三预设条件的像素点;在待检测目标图像中围绕着第三目标点,以第一目标宽度、第一目标长度进行区域的绘制,得到板材上边界区域;其中,第一目标宽度为待检测目标图像或待检测图像的宽度,第一目标长度由位于第三目标点上方的指定数量的像素点和位于第三目标点下方的指定数量的像素点来构成。
前述识别上边界区域的方案,相当于在被扫描的像素点中,基于围绕像素点的两个预定区域(第一预定区域和第二预定区域)之间的灰度变化程度来实现对板材上边界区域的识别,可识别对板材上边界区域的准确识别,为后续方案的准确识别提供了保障。
前述方案中,所述对待检测目标图像中的板材下边界区域进行识别,包括:从待检测目标图像的第二指定像素点开始,向上进行像素点的逐个扫描,得到第四目标点,所述第四目标点为在被扫描中得到的、第一个围绕该点的第一预定区域和第二预定区域之间的灰度变化满足第四预设条件的像素点;在待检测图像中围绕着第四目标点,以第二目标宽度、第二目标长度进行区域的绘制,得到板材下边界区域;其中,第二目标宽度为待检测目标图像或待检测图像的宽度,第二目标长度由位于第四目标点上方的指定数量的像素点和位于第四目标点下方的指定数量的像素点来构成。
前述识别上边界区域的方案,相当于在被扫描的像素点中,基于围绕像素点的两个预定区域(第一预定区域和第二预定区域)之间的灰度变化程度来实现对板材下边界区域的识别,可识别对板材下边界区域的准确识别,为后续方案的准确识别提供了保障。
前述方案中,实现检测待检测目标图像中的板材目标边界线的方案为:以待检测目标图像的第三指定像素点为基准对待检测目标图像进行一次横向扫描以及以多个第四指定像素点中各个像素点为基准对待检测目标图像进行一次横向扫描,其中所述第四指定像素点为待检测目标图像中和第三像素点的横坐标相同、纵坐标相差第一预定长度的像素点;获得扫描过程中的多个第五目标点,所述第五目标点为被扫描中得到的、围绕该点的第一预定区域和第二预定区域之间的灰度变化满足第五预设条件的像素点;基于所述多个第五目标点,得到所述目标边界线。
基于扫描过程中得到的多个灰度变化满足第五预设条件的第五目标点,得到目标边界线,如基于多个第五目标点,对直线或线段进行拟合,得到目标边界线。可保证目标边界线的检测或识别准确性,进而可保证是否存在封边缺陷的检测准确性。
前述方案中,所述基于所述多个第五目标点,得到所述目标边界线,包括:基于所述多个第五目标点,构建直线;基于所述直线,得到待检测目标图像中的感兴趣(ROI)区域;对ROI区域进行扫描,得到多个第六目标点,所述第六目标点为被扫描中得到的、围绕该点的第一预定区域和第二预定区域之间的灰度变化满足第六预设条件的像素点;基于所述多个第六目标点,得到所述目标边界线。
本方案中基于多个第五目标点,构建直线,并基于直线确定ROI区域。再从ROI区域中精细检测或识别出能够准确构成板材的目标边界线的像素点,并基于这些像素点,得到目标边界线。由此实现了对待检测图像中目标边界线的准确检测或识别,进而可提高对缺陷检测的准确性。
基于扫描过程中得到的多个灰度变化满足第六预设条件的第六目标点,得到目标边界线,如基于多个第六目标点,对直线或线段进行拟合,得到目标边界线。可保证目标边界线的检测或识别准确性,进而可保证是否存在封边缺陷的检测准确性。可以理解,与基于多个第六目标点而得到的目标边界线的准确程度高于基于多个第五目标点而得到的目标边界线的准确程度。
前述方案中,所述检测待检测目标图像中的板材目标边界线,包括:对所述待检测目标图像进行降采样;检测经降采样的待检测目标图像中的板材目标边界线。降采样后的图像在图像像素点的数量上会明显少于未将采样的图像。利用像素点少的图像进行目标边界线的检测或识别,可大大加快检测时间,提高检测效率。
从前述方案可见,S102的大致实现过程是:先从经均衡化处理后的待检测图像中进行板材上边界区域和下边界区域的识别,再从板材上、下边界区域中识别出能够构成或拟合成上、下边界线的像素点(第一目标点、第二目标点)、基于第一目标点、第二目标点对板材上、下边界线进行拟合。
具体的,S102的实现过程可以是:从图3所示的线阵相机和皮带所处的位置来看,采集图像的位置是固定的。本方案中,针对经均衡化处理后的待检测图像,如图5所示,以该图像的左上角的像素点为坐标系的原点,将沿着水平方向和垂直方向进行平面(XOY)坐标系的建立。其中,在图5所示的图像中,水平方向向右为X轴的正方向,垂直方向向下为Y轴的正方向。
以在平面坐标系中坐标位置为(width/2,0)的像素点作为第一指定像素点,向下即沿着Y轴的正向进行逐个像素点的扫描。其中,width为待检测图像的宽度、即在平面坐标系中的水平方向的长度。在每扫描一个像素点的过程中,计算围绕该像素点的上方一定区域(该像素点的第一预定区域)和下方一定区域(该像素点的第二预定区域)内的像素的平均灰度值。上方一定区域、下方一定区域可以是如图5所示的长方形或正方形。以长方形且长方形基于上边线、下边线、左边线和右边线而构成为例。上方一定区域指的是将该像素点作为长方形下边线上的中心点、以该长方形的在平面坐标系中水平方向的长度为长、垂直方向的长度为宽而作出的区域。下方一定区域指的是将该像素点作为长方形上边线上的中心点、以该长方形的在平面坐标系中水平方向的长度为长、垂直方向的长度为宽而作出的区域。
以在平面坐标系中坐标位置为(width/2,height-1)的像素点作为第二指定像素点,向上即沿着Y轴的负向进行逐个像素点的扫描。其中,height为待检测图像的长度、即在平面坐标系中的垂直方向上的长度。在每扫描一个像素点的过程中,计算围绕该像素点的下方一定区域(该像素点的第一预定区域)和上方一定区域(该像素点的第二预定区域)内的像素的平均灰度值。关于下方一定区域、上方一定区域的描述参见前述的内容理解,不赘述。
在实际应用中,待检测图像中的背景部分的灰度和板材部分的灰度通常存在较大的差异,在从上向下逐个进行像素点的扫描过程中,会存在一个这样的像素点,该点的上方一定区域的灰度值和下方一定区域的灰度值之间的差异很大,如灰度变化满足预设的第三阈值(满足预设的第三阈值即视为满足第三预设条件)。该像素点即可作为前述方案中的第三目标点。
在从下向上逐个进行像素点的扫描过程中,会存在一个这样的像素点,该点的下方一定区域的灰度值和上方一定区域的灰度值之间的差异很大,如灰度变化满足预设的第四阈值(满足预设的第四阈值即视为满足第四预设条件)。该像素点即可作为前述方案中的第四目标点。
前述方案中,在进行像素点的逐个扫描过程中,将第一个出现的满足第三、第四预设条件的像素点作为第三、第四目标点即可。即,本方案需要一个第三、第四目标点即可。如此,便大大减少了计算工作量。其中,第三阈值、第四阈值可根据实际情况而设定,二者取值可相同,也可不同,如为30或35等。
在识别出第三、第四目标点的情况下,在经均衡化处理的待检测图像中围绕着第三目标点,以第一目标宽度、第一目标长度进行区域的绘制,得到板材上边界区域;其中,第一目标宽度为待检测图像的宽度,如将width作为上边界区域的宽度。第一目标长度由位于第三目标点上方的指定数量的像素点和位于第三目标点下方的指定数量的像素点来构成,如第三目标长度为以该第三目标点作为起点向上数100个像素点、以及向下数100个像素点,将这些像素点构成的长度作为上边界区域的长度。以上边界区域的宽度和长度进行区域的绘制,绘制出的区域即为板材上边界区域。
在经均衡化处理的待检测图像中围绕着第四目标点,以第二目标宽度、第二目标长度进行区域的绘制,得到板材下边界区域;其中,第二目标宽度为待检测图像的宽度,如将width作为下边界区域的宽度。第二目标长度由位于第四目标点上方的指定数量的像素点和位于第四目标点下方的指定数量的像素点来构成。如第二目标长度为以该第四目标点作为起点向上数100个像素点、以及向下数100个像素点,将这些像素点构成的长度作为下边界区域的长度。以下边界区域的宽度和长度进行区域的绘制,绘制出的区域即为板材下边界区域。
由此,得到了板材上、下边界区域。根据灰度值的明显变化而识别出第三和第四目标点,进而得到上、下边界区域,符合实际情况,可保证上、下边界的识别准确性。
接下来,为基于上、下边界区域得到第一、第二目标点,基于第一目标点,得到上边界线,基于第二目标点,得到下边界线的方案。具体的,
从上边界区域中从区域左上角的像素点开始,向下进行像素点的逐个扫描。将左上角的像素点与其向下的所有像素点视为同一列的像素点,在该列像素点被扫描完成的情况下,从上边界区域中以左上角的像素点为基准向右移动一定的步长,将移动步长后的像素点为起点,向下进行与该起点处于同列的其他所有像素点的逐个扫描,以此类推,直至完成对整个区域的扫描。因为上边界区域的一部分是背景部分一部分是板材部分,随着像素点的逐个扫描,在整个上边界区域中,会存在多个这样的像素点,围绕该像素点的上方一定区域(该像素点的第一预定区域)和下方一定区域(该像素点的第二预定区域)内的像素的平均灰度值的变化较为明显,如平均灰度值的变化满足第一阈值(满足第一阈值视为满足第一预设条件)。这样的像素点为本方案中的第一目标点。
从下边界区域中从区域右下角的像素点开始,向上进行像素点的逐个扫描。将右下角的像素点与其向上的所有像素点视为同一列的像素点,在该列像素点被扫描完成的情况下,从下边界区域中以右下角的像素点为基准向左移动一定的步长,将移动步长后的像素点为起点,向上进行与该起点处于同列的其他所有像素点的逐个扫描,以此类推,直至完成对整个区域的扫描。因为下边界区域的一部分是背景部分一部分是板材部分,随着像素点的逐个扫描,在整个下边界区域中,会存在多个这样的像素点,围绕该像素点的下方一定区域(该像素点的第一预定区域)和上方一定区域(该像素点的第二预定区域)内的像素的平均灰度值的变化较为明显,如平均灰度值的变化满足第二阈值(满足第二阈值视为满足第二预设条件)。这样的像素点为本方案中的第二目标点。
关于第一、二像素点上方一定区域、下方一定区域请参见前述第三、第四目标点之处的相关内容而理解,不赘述。第一阈值、第二阈值的取值可相同,也不同。如为15或20。可以理解,第一目标点、第二目标点通常出现在上、下边界区域中背景部分和板材部分相交界的位置上,数量为多个。利用多个第一目标点进行直线或线段的拟合,得到板材上边界线。利用多个第二目标点进行直线或线段的拟合,得到板材下边界线。可以理解,板材上、下边界线为经均衡化处理的待检测图像中实际的用用区分板材部分和背景部分的部分边界线。
本发明提供的前述方案与直接从经均衡化处理的待检测图像中直接进行上、下边界线的识别的方案相比,先识别上、下边界区域,再从上、下边界区域中识别出可构成上、下边界线的点,基于识别出的点再进行上、下边界线的拟合。与直接从整个(待检测)图像中进行上、下边界线的识别相比,基于整个图像中的一部分区域(上、下边界区域)进行第一、二目标点的识别,不仅可加快识别速度、提高识别效率,还可以保证识别准确性,从而为后续是否存在封边缺陷提供了保障。
下面来看对目标边界线的检测方案。在线阵相机和皮带为图3所示的位置以及板材具有一定厚度的情况下,采集到的待检测图像中板材的右边界线会出现,多数情况不会出现左边界线。本领域技术人员应该而知,如果线阵相机和皮带的位置设置发生变化,在实际应用中,待检测图像中的左边界线和右边界线可能会同时出现,还可能仅出现左边界线。具体视实际情况而定。
下面方案中以检测板材的目标边界线为右边界线为例进行说明。
①对经均衡化处理后的待检测图像进行降采样处理。比如,将图像中横向、纵向的像素点数量都缩小到原图像的0.5倍,像素点数量从2048*4096变成了1024*2048,以此来提升检测速度。可以理解,降采样处理为优选步骤,以提高检测效率,加快检测时间。
②从待检测图像的右侧向左进行水平或者横向扫描,从第三指定像素点(width-1,0)开始,沿着平面坐标系的X方向,从右向左进行横向扫描。通过索贝尔(Sobel)算法,可获取到沿着扫描方向而得到的梯度最大值的像素点。
以待检测图像的第三指定像素点为基准进行一次横向扫描的步骤完成的情况下,取第一个第四指定像素点,该第四指定像素点为待检测图像中和第三指定像素点的横坐标相同、和第三指定像素点的纵坐标相差1倍的第一预定长度如第一步长的像素点。从该第四指定像素点开始,沿着平面坐标系的X轴的负方向、即从右向左进行横向扫描,获得梯度值最大的像素点。
然后,取第二个第四指定像素点,该第四指定像素点为待检测图像中和第三指定像素点的横坐标相同、和第三指定像素点的纵坐标相差2倍的第一步长的像素点。从该第四指定像素点开始,沿着平面坐标系的X方向,从右向左进行横向扫描,获得梯度值最大的像素点。以此类推,取第三个、第四个或后续所有其他指定的第四指定像素点,并从相应的第四指定像素点开始,从右向左进行横向扫描。
可以理解,第三和第四指定像素点之间的横坐标相同。相邻两个第四指定像素点之间的纵坐标相差第一步长。即,沿着图像从右到左的横向方向,每隔第一步长这样的纵向距离对待检测图像进行一次行扫描。对每行扫描得到的该行最大梯度值的像素点,围绕该点的右方一定区域(该点的第一预定区域)和左方一定区域(第二预定区域)的平均灰度值变化较为明显,如平均灰度值大于第五阈值(平均灰度值大于第五阈值可视为满足第五预设条件)。左方一定区域、右方一定区域可以是长方形或正方形。以长方形且长方形基于上边线、下边线、左边线和右边线而构成为例。右方一定区域指的是将该像素点作为长方形左边线上的中心点、以该长方形的在平面坐标系中水平方向的长度为长、垂直方向的长度为宽而作出的区域。左方一定区域指的是将该像素点作为长方形右边线上的中心点、以该长方形的在平面坐标系中水平方向的长度为长、垂直方向的长度为宽而作出的区域。
每次扫描得到的梯度最大的像素点即为本方案中的第五目标点。可以理解,这样的像素点通常位于从X轴方向上来看在待检测图像的背景部分和板材部分之间的交界位置上。
③将多个第五目标点进行直线或线段的拟合,拟合出一条粗定位直线。
本步骤中存在有两种方式,方式一是将③中拟合出的粗定位直线作为板材的右边界线。在不采用方式一的情况下,还可以采用方式二,继续执行以下步骤。
④假定待绘制区域为长方形,③中拟合出的粗定位直线的上端点、下端点作为长方形的一宽边的中心点、与宽边平行的边的中心点,以预设宽度和长度进行长方形的绘制,绘制出一区域。预设宽度如在图像的横向上占用50个像素点的宽度。可以理解,前述的数值50是一个举例值,任何合理的数值均覆盖在本申请的保护范围内。
通俗来讲,前述方案可视为:将第一次横向扫描得到的最大梯度值的像素点作为该长方形的上边线的中心点,将最后一个横向扫描得到的最大梯度值的像素点作为该方形的下边线的中心点,以预设宽度和长度进行长方形的绘制,得到一区域。其中,长方形的宽度可以为以第一次横向扫描得到的最大梯度值的像素点以起点、向左方向数一定数量如50/2=25个的像素点以及向右方向数一定数量如50/2=25个的像素点构成的长度。长方形的长度以第一次横向扫描得到的最大梯度值的像素点与最后一次横向扫描得到的最大梯度值的像素点的纵坐标之差。通过绘制而得到的区域即可视为待检测图像中的感兴趣(ROI)区域。
⑤在ROI区域中,从区域的右上角的像素点开始,沿着X轴的负方向,即从右向左进行第一次扫描,基于Sobel算法,得到梯度值最大的像素点。
在ROI区域中,如果将区域右上角的像素点视为第五指定像素点,那么以第五指定像素点为基准进行一次横向扫描的步骤完成的情况下,取第一个第六指定像素点,该第六指定像素点为ROI区域中和第五指定像素点的横坐标相同、和第五指定像素点的纵坐标相差1倍的第二预定长度如第二步长的像素点。从该第六指定像素点开始,沿着平面坐标系的X方向,从右向左进行横向扫描,基于Sobel算法,获得梯度值最大的像素点。
然后,取第二个第六指定像素点,该第六指定像素点为ROI区域中和第五指定像素点的横坐标相同、和第五指定像素点的纵坐标相差2倍的第二步长的像素点。从该第六指定像素点开始,沿着平面坐标系的X方向,从右向左进行横向扫描,基于Sobel算法,获得梯度值最大的像素点。以此类推,取第三个、第四个或后续所有其他指定的第六指定像素点,并从相应的第六指定像素点开始,沿着平面坐标系的X方向,从右向左进行横向扫描。
可以理解,第五和第六指定像素点之间的横坐标相同。相邻两个第六指定像素点之间的纵坐标相差第二步长。即,沿着图像从右到左的横向方向,每隔第二步长这样的纵向距离对ROI区域进行一次行扫描。对每行扫描,采用Sobel算法均得到该行最大梯度值的像素点。
前述方案中,第一步长和第二步长均为预先设置的步长值。考虑到采用第一步长为针对左边界线的粗检测方案,采用第二步长的方案为针对左边界线的细检测方案,所以,取第二步长小于第一步长。其中,采用大的步长如第一步长可加快检测时间。采用小的步长如第二步长可保证检测或识别精准性。
⑥将从各次横向扫描中得到的具有相应行最大梯度值的各像素点中,考虑到背景部分可能存在灰度突变,所以按照围绕各像素点的第一预定区域和第二预定区域之间的平均灰度值的变化,能够挑选出构成板材的左边界线的第六目标点。
如果一个像素点、其右方一定区域的平均灰度值和左方一定区域的平均灰度值的变化较为明显,如两个区域的平均灰度值的倍数大于2或绝对差值位于预设差值内,则围绕该点的第一预定区域和第二预定区域之间的灰度变化满足第六预设条件,将该像素点保留,作为第六目标点。否则,将像素点删除。
利用加权最小二乘法,将保留下的所有第六目标点进行直线或线段的拟合,得到待检测图像中的板材右边界线,如图6所示。或者,利用随机一致性采样方法从保留下的第六目标点中选择出权重较大的目标点,再利用加权最小二乘法拟合直线,得到板材右边界线。
与将③中拟合出的粗定位直线作为板材的右边界线的方案相比,本方案中经过④、⑤和⑥的细定位或细识别方案得到的右边界线更加精准,进而可为后续的准确检测或识别提供了有力的保障。
前述方案中,在已知板材的上、下边界线以及右边界线的情况下,即可获知待检测图像中的板材区域。作为一种可选的实现方式,在所述板材边界信息包括板材上边界线、下边界线和目标边界线的情况下,所述目标边界线为板材的左边界线和右边界线中的至少之一;S103所述基于板材边界信息,得到封边所处的位置可由如下方案来实现:将目标边界线与上边界线进行相交处理,得到参考起始点;将目标边界线与下边界线进行相交处理,得到参考结束点;基于参考起始点和参考结束点,得到待检测图像中的参考线;基于参考线,得到所述待检测图像中的封边以及封边在待检测图像中所处的位置。
基于相交处理可简单、准确地得到参考起始点和结束点,进而得到准确的参考线,基于待检测图像中准确的参考线,可保证准确得获得到封边、以及封边在待检测图像中的位置,提高了检测准确性和效率。
S103的具体实现过程可以是:以目标边界线为板材的右边界线为例,将板材上边界线和右边界线的交点作为参考起始点,将板材下边界线和右边界线的交点作为参考结束点。从参考起始点垂直向下指向参考结束点的方向进行直线的绘制,得到参考线。
在已知待检测图像中的板材上边界线、下边界线以及右边界线、且已知板材厚度(如图6所示)的情况下,根据经验值将参考线沿着X轴的负方向进行线的平移。
其中,经验值是根据大量不同厚度的板材在线阵相机下的成像宽度而定的。经验值的设定可保证平移后的线与板材的封边直线的误差在可控范围内如10个像素以内。按照经验值将参考线沿着待检测图像的从左到右的方向进行平移,可移动到板材的封边处。由此可得到待检测图像中的封边。
可以理解,封边可视为一条直线或线段,该直线或线段与板材上边界线的交点可作为板材封边的起始点。该直线或线段与板材下边界线的交点可作为板材封边的结束点。封边的起始点位置和结束点位置如图7所示。在已知板材封边的起始点和结束点位置的情况,可获知在待检测图像中封边所处的位置。如此,实现了对封边位置的准确识别。
作为一个可选实施例,S104依据封边所处的位置,得到封边的实际灰度信息的方案可通过如下方式来实现:所述封边包括多个封边点;基于封边所处的位置,沿着封边法线方向确定与各封边点匹配的边缘点;将各封边点和与各封边点匹配的边缘点的实际平均灰度作为各封边点的实际灰度;基于所述各封边点的实际灰度,得到封边的实际灰度信息。其中,所述多个封边点为所述封边的所有封边点、或者为从所述所有封边点中挑选出的第一目标封边点。
以上封边实际灰度信息的获得方案,在工程上易于实施,可行性高。且考虑到了与各封边点匹配的边缘点对封边是否存在异常的影响,考虑因素较为全面,可利于实现对封边是否存在缺陷的准确识别或检测。
S104的具体实现过程是:如图6或图7所示,封边为一条直线或线段。在图像上,可将封边视为由多个像素点构成,构成封边的多个像素点可视为各封边点。封边法线方向为图像中垂直于封边的方向,如图7所示。
在如图7所示的图像中,在已知封边起始点位置和结束点位置的情况下,从封边起始点位置开始垂直向下到达结束点位置时所经历过的所有像素点均可视为构成封边的封边点。当然,封边点除了前述的像素点之外,还包括封边起始点和封边结束点。已知封边起始点和结束点、以及预先设置的第三步长。沿着从封边的一端到另一端的方向如沿着从起始点到结束点的方向,每隔第三步长,从所有封边点中挑选出多个封边点,挑选出的封边点可视为第一目标封边点。
针对各个第一目标封边点,在该封边点上沿着封边法线方向、在封边左侧和右侧各取相同数量的像素点,如取图8中目标线覆盖的像素点,这样的像素点即可视为沿着封边法线方向与封边点匹配的边缘点。读取在待检测图像中第一目标封边点的灰度信息、以及与第一目标封边点匹配的各个边缘点的灰度信息,将这些点的灰度信息进行加和、并平均,得到第一目标封边点和与第一目标封边点匹配的各个边缘点之间的实际平均灰度。将该实际平均灰度作为该第一目标封边点的实际灰度。在得到所有第一目标封边点及其实际灰度的情况下,将这些信息进行记录,记录下的信息即可视为封边的实际灰度信息。
在具体实现上,可采用坐标点(x,y)的形式对封边中每个第一目标封边点的实际灰度信息进行记录。其中,x表示第一目标封边点的位置如距离封边起始点的垂直距离,y表示该第一目标封边点的实际灰度。示例性地,坐标点(x=10,y=100),表示与封边起始点的(垂直)距离为10的第一目标封边点、其实际灰度为100。坐标点(x=20,y=120),表示与封边起始点的(垂直)距离为20的第一目标封边点、其实际灰度为120。将表示各第一目标封边点的位置及其实际灰度的如上信息进行集合,得到了一个用于表示封边实际灰度信息的坐标点集。基于坐标点集中的各坐标点,得到的封边实际灰度曲线如图9所示。其中,封边实际灰度曲线中的X轴表示第一目标封边点与封边起始点的垂直距离,Y轴表示第一目标封边点的实际灰度。图9所示可视为封边的原始(灰度)数据。
如上方案是基于封边的所有封边点中的第一目标封边点而得到的封边的实际灰度信息。此外,还可以基于封边的所有封边点得到封边的实际灰度信息。相关过程参见理解,只不过无需基于第三步长从所有封边点中挑选出第一目标封边点的步骤。可以理解,无论是基于所有封边点还是挑选出的部分封边点,均可得到准确的封边实际灰度信息。其中,基于部分封边点,得到封边实际灰度信息能加快待检测图像中是否存在封边缺陷的识别或检测流程,提高效率。
作为一个可选实施例,S105所述基于封边的实际灰度信息,得到封边的理想灰度信息,包括:所述封边包括多个封边点,所述封边的实际灰度信息基于所述各封边点的实际灰度而得到,所述各封边的实际灰度为所述各封边点和与各封边点匹配的边缘点之间的实际平均灰度;依据各封边点的实际灰度,从各封边点中筛选出第二目标封边点;基于第二目标封边点中的第一封边点的实际灰度,对所述第一封边点的理想灰度进行拟合;基于第二目标封边点中的第一封边点的理想灰度,得到第二目标封边点中的第二封边点的理想灰度;基于第一封边点的理想灰度和第二封边点的理想灰度,得到所述封边的理想灰度信息。
如上方案可视为基于封边的实际灰度信息对封边的理想灰度信息进行构建的进一步阐述方案。基于实际灰度信息对理想灰度信息进行构建,一方面,可保证理想灰度信息的准确性。进而可提高对待检测图像中是否存在封边缺陷的识别或检测准确性。另一方面,考虑到不同板材的封边可能存在不同,基于不同板材的封边,封边的实际灰度对该封边的理想灰度进行构建,与实际使用情况相符合,适用性更强,方案的可用性更佳。
S105的具体实现过程是:
①基于S104中的坐标点集中的各封边点的实际灰度,对坐标点集中的封边点进行高斯滤波,删除坐标点集中存在的异常封边点及其实际灰度。其中,坐标点集中的异常封边点为与封边点的实际灰度与其相邻的封边点的实际灰度之间的差异较大。
②再对①中得到的坐标点集进行均值滤波,得到目标坐标点集。
其中,均值滤波是为了平滑灰度曲线。目标坐标点集中的封边点即为第二目标封边点。
将目标坐标点集中的所有第二目标封边点划分为两大部分:第一部分为目标坐标点集中表示封边首部、尾部的封边点,这部分封边点视为第二封边点。第二部分为目标坐标点集中表示封边中除了首部、尾部的封边点之外的其他封边点,即表示封边中部的封边点,这部分封边点视为第一封边点。
③针对目标坐标点集中表示的所有第二目标封边点,删除表示板材首、尾段部的一定数量的封边点及其实际灰度值、如删除表示板材首、尾段部的各500个封边点及其实际灰度,利用目标坐标点集中、表示封边中部的封边点的实际灰度,进行B样条曲线拟合,拟合出第一封边点的理想灰度曲线,如图10所示的拟合出的标准轮廓曲线。可以理解,前述的数值500可用任何合理的其他数值进行替代,如600、800等。任何合理的数值均在本发明的覆盖范围内。
④基于第一封边点的理想灰度曲线,通过最邻近插值法及约束法,插值出被删除掉的表示板材首、尾段部的各500个封边点的理想灰度,以拟合出第二封边点的理想灰度曲线;
⑤将第一封边点的理想灰度曲线和第二封边点的理想灰度曲线进行融合,得到封边的理想灰度曲线,如图11所示的板材首、尾部经插值的曲线。
在图11所示的方案中,横坐标X轴表示一封边点与封边起始点的垂直距离,纵坐标Y轴表示该封边点的理想灰度。图10请参见图11而理解,不同的是:为了更好的模拟出整条曲线,图10中将表示板材首、尾段部的各500个封边点按照封边点的实际灰度而出现,表示封边中间部分的封边点按照其理想灰度而出现。
前述方案中,目标坐标点集中的封边点为更为精准的封边点,利用这些封边点可保证理想灰度曲线的构建准确性。另外,将目标坐标点集中的第二目标封边点划分为两大部分,并基于这两大部分进行第一、第二封边点的理想灰度曲线的构建,可保证对封边的理想灰度曲线的构建准确性。进而可提高识别是否存在灰度异常区域的准确性。
作为可选的实现方式,S106、所述基于封边的实际灰度信息和理想灰度信息,识别待检测图像中是否存在灰度异常区域,包括:所述封边包括多个封边点,从所述多个封边点中获得多个期望封边点;针对各个期望封边点中的任意一个期望封边点,从封边的实际灰度信息中,获得所述期望封边点的实际灰度;其中,所述期望封边点的实际灰度为所述期望封边点和所述封边中沿着封边法线方向与所述期望封边点匹配的多个边缘点之间的实际平均灰度;从封边的理想灰度信息中,获得所述期望封边点的理想灰度;其中,所述期望封边点的理想灰度为所述期望封边点和所述封边中沿着封边法线方向与所述期望封边点匹配的多个边缘点之间的理想平均灰度;基于所述期望封边点的实际灰度和理想灰度,确定所述待检测图像中是否存在灰度异常区域。前述方案中,基于期望封边点的实际灰度和理想灰度,确定所述待检测图像中是否存在灰度异常区域,可保证识别或检测准确性。
作为可选的实现方式,S106、所述基于所述期望封边点的实际灰度和理想灰度,确定所述待检测图像中是否存在灰度异常区域,包括:在所述期望封边点的实际灰度和理想灰度之间的差异满足预设的差异条件的情况下,确定所述待检测图像中存在灰度异常区域;其中,所述灰度异常区域由所述期望封边点和封边中沿着封边法线方向与所述期望封边点匹配的边缘点构成。此处,不仅识别出了是否存在灰度异常,还识别出了灰度异常区域,识别较为全面。
S106的具体实现过程是:从S104的方案可看出,图9所示的曲线表示的是与封边起始点的垂直距离为相应长度的多个(第一目标)封边点的实际灰度信息。从S105的方案可看出,图11所示的曲线表示的是与封边起始点的垂直距离为相应长度的封边的(第二目标)封边点的实际灰度信息。
从图9和图11所示的封边点中筛选出同一封边点,将筛选出的同一封边点作为期望封边点。或者,沿着从封边的一端到另一端的方向如沿着从起始点到结束点的方向,每隔第四步长,从所有封边点中挑选出多个封边点,挑选出的封边点可视为期望封边点。
以每隔第四步长从所有封边点中挑选出期望封边点为例,针对各个期望封边点中的任意一个期望封边点,从图9所示的封边的实际灰度信息中读取出该期望封边点的实际灰度;从图11所示的理想灰度信息中读取出该期望封边点的实际灰度。其中,读取出该期望封边点的实际灰度可以为该期望封边点以及沿着封边法线方向位于封边的两侧(Xwidth/2)内的期望封边点的边缘点之间的实际灰度。其中,Xwidth为预先设置值。沿着封边法线方向位于封边的两侧(Xwidth/2)内的期望封边点的边缘点为与该期望封边点匹配的边缘点。示例性地,如果设置Xwidth/2为20,则与期望封边点匹配的边缘点为在该期望封边点上沿着封边法线方向、在封边左侧和右侧各取10个像素点。此处的内容还请参见图8中目标线覆盖的像素点的内容而理解。
计算期望封边点的实际灰度与理想灰度的差值,如果差值大于设定的阈值,认为满足预设的差异条件,确定存在灰度异常区域。
可以理解,读取出的期望封边点的实际灰度是由该期望封边点以及与其匹配的边缘点之间的实际平均灰度而得到的。读取出的期望封边点的理想灰度是由该期望封边点以及与其匹配的边缘点之间的理想平均灰度而得到的。期望封边点的实际灰度与理想灰度的差值实际上是:该期望封边点以及与其匹配的边缘点之间的实际平均灰度与理想平均灰度之间的差值。如果差值大于设定的阈值,说明由该期望封边点以及与其匹配的边缘点构成的区域的灰度存在异常,由该期望封边点以及与其匹配的边缘点构成的区域即可视为灰度异常区域。
在实际应用中,每筛选出一个期望封边点就对筛选出的期望封边点进行如上处理,可能会得到多个可连通的灰度异常区域,将这些灰度异常区域进行连通,形成异常区间。其中,在基于某个期望封边点,得到存在灰度异常区域的情况下,至少对得到灰度异常区域时使用的期望封边点的位置进行记录。如,记录期望封边点与封边起始点的垂直距离。
从记录信息中,读取构成异常区间的第一个灰度异常区域被得到时的期望封边点的横坐标,读取构成异常区间的最后一个灰度异常区域被得到时的期望封边点的横坐标,二者之差即可作为异常区间的长度。将异常区间的长度视为异常长度,如图8所示。
前述方案中,基于期望封边点以及与其匹配的边缘点之间的实际平均灰度与理想平均灰度的差值是否大于设定的阈值的判断,实现对是否存在灰度异常进行识别,可大大保证识别准确性。在识别出存在灰度异常的情况下,还识别出了将由期望封边点以及与其匹配的边缘点构成的区域作为灰度存在异常。识别得较为全面,也为后续方案提供了有利的支持。
S107的具体实现过程是:
如果识别待检测图像中未存在灰度异常区域,确定待检测图像中未存在封边缺陷,输出待检测图像中未存在封边缺陷的结果。示例性地,针对采集到的上封边板材图像,如果识别为未存在封边缺陷,则输出该上封边板材图像未存在封边缺陷的结果。
如果识别待检测图像中存在灰度异常区域,确定待检测图像中存在封边缺陷,输出待检测图像中存在封边缺陷的结果。示例性地,针对采集到的下封边板材图像,如果识别为存在封边缺陷,则输出该下封边板材图像存在封边缺陷的结果。还可以继续执行S108,在执行S108之后,再输出。
作为可选的实现方式,S108,所述基于所述灰度异常区域,确定所述待检测图像中的封边缺陷区域可通过以下其中之一的方案来实现:第一种方案,将所述灰度异常区域作为所述封边缺陷区域。在识别出存在灰度异常的情况下,将由期望封边点以及与其匹配的边缘点构成的区域即灰度存在异常作为封边缺陷区域。这种方案适用于经对整个待检测图像进行检测仅存在单个灰度异常区域的情形,或者、适用于检测出两个及以上灰度异常区域且灰度异常区域之间均不连同的情形。第二种方案,对由所述灰度异常区域构成的异常区间进行处理,得到封边缺陷区域。第一种方案可视为一种粗方案。第二种方案可视为一种细方案。利用粗方案可实现对封边缺陷区域位置的粗识别,可加快识别效率,缩短识别时间。利用细方案可使得封边缺陷区域的识别更加精准。
S108的具体实现过程是:对由灰度异常区域构成的异常区间进行处理,得到封边缺陷区域为例进行说明。
具体的,采用前述得到的异常长度以及设置的异常宽度(如图8所示),在前述的异常区间中进行图像的裁剪,对裁剪图像进行高斯滤波以除噪声。再进行自适应二值化,将经自适应二值化的裁剪图像进行腐蚀操作,并进行连通域的提取,得到封边缺陷区域,如图12所示的亮区域即可视为封边缺陷区域。其中,图像裁剪、高斯滤波、自适应二值化、以及腐蚀操作、连通域的提取等一系列操作可视为对由灰度异常区域构成的异常区间进行处理的过程。此外,在待检测图像中,还可以基于对封边缺陷区域的外接矩形的绘制,得到在图像中封边缺陷区域的长度和宽度。其中,缺陷区域的长度与外接矩形的长度相同,封边缺陷区域的宽度与外接矩形的宽度相同。
作为可选的实现方式,在确定所述待检测图像中的封边缺陷区域之后,所述方法还包括:基于由所述灰度异常区域构成的异常区间在所述待检测图像中所处的位置,获得在真实板材中的封边缺陷位置。其中,在待检测图像和异常区间均已知的情况下,可计算出异常区间在待检测图像中的位置。
具体的,可基于像素当量实现异常区间在待检测图像中所处位置到真实板材中的位置的转换,得到真实板材中的封边缺陷位置。由此,可实现对真实板材中封边缺陷位置的识别,实用性强。
作为可选的实现方式,可基于像素当量实现图像中封边缺陷区域的长度和宽度到真实板材中的封边缺陷区域的长度和宽度的转换,得到真实板材中的封边缺陷区域的长度和宽度。由此,实现了对封边缺陷区域的长度和宽度的识别,实用性强,可行性佳。
作为可选的实现方式,在确定所述待检测图像中的封边缺陷区域之后,所述方法还包括:基于所述封边缺陷区域在所述待检测图像中所处的位置,获得封边缺陷类型。其中,在待检测图像和封边缺陷区域均已知的情况下,可计算出封边缺陷区域在待检测图像中的位置。
示例性地,如果封边缺陷区域在待检测图像中所处的位置表明封边缺陷区域出现在板材的首部或尾部,则封边缺陷类型为短带或开胶。如果封边缺陷区域在待检测图像中所处的位置表明封边缺陷区域出现在板材的中间,则封边缺陷类型为鼓胶、或崩缺。由此,可实现对封边缺陷类型的识别,实用性强,可行性佳。
在实际应用中,在输出该下封边板材图像存在封边缺陷的结果的情况下,还可以对前述的在待检测图像中的封边缺陷位置、真实板材中的封边缺陷位置、在待检测图像中的封边缺陷区域的长度和宽度、真实板材中的封边缺陷区域的长度和宽度、封边缺陷类型等信息中的至少之一进行输出。或者,不输出存在封边缺陷的结果,直接对前述的至少之一信息进行输出,以说明存在封边缺陷。
从前述对S101~S108所示的内容来看,本发明技术方案基于对待检测图像的图像处理、如检测板材边界、得到封边所处位置、得到封边的实际灰度和理想灰度、识别是否存在灰度异常区域、识别是否存在封边缺陷等,实现了对待检测图像中是否存在封边异常的自动检测或识别,为一种机器识别方案。与人工识别封边是否存在异常的方案相比,可有效提高识别或检测准确性以及准确率,有效降低人工成本和出错概率。
本申请实施例还提供一种基于图像检测板材封边缺陷的设备(为前述的检测设备)。如图13所示,所述设备包括:
获取单元1301,用于获取待检测图像,所述待检测图像为包括有封边的板材图像;检测单元1302,用于检测待检测图像中的板材边界信息;第一获得单元1303,用于基于板材边界信息,得到封边所处的位置;第二获得单元1304,用于依据封边所处的位置,得到封边的实际灰度信息;第三获得单元1305,用于基于封边的实际灰度信息,得到封边的理想灰度信息;识别单元1306,用于基于封边的实际灰度信息和理想灰度信息,识别待检测图像中是否存在灰度异常区域;确定单元1307,用于基于待检测图像中是否存在灰度异常区域的识别结果,确定待检测图像中是否存在封边缺陷;
其中,所述待检测图像中存在有针对板材的背景图像;
所述检测单元用于检测待检测图像中的板材边界信息,包括:
获取目标图像中指定区域的灰度信息,所述目标图像为所述待检测图像中除所述背景图像之外的图像;
在所述指定区域的灰度信息满足预设灰度条件的情况下,对待检测图像进行自适应直方图均衡化处理;
对自适应直方图均衡化处理后的待检测图像中的板材边界信息进行识别;
其中,所述检测单元用于对待检测图像进行自适应直方图均衡化处理,包括:
将待检测图像划分为多个具有相同大小的子图像;
采用直方图均衡化算法对各子图像进行均衡化;以及对待检测图像中处于相邻位置的任意两个子图像的边缘进行双线性插值;
其中,所述检测单元用于对自适应直方图均衡化处理后的待检测图像中的板材边界信息进行识别,包括:
检测待检测目标图像中的板材上边界线和下边界线;其中,所述待检测目标图像为对所述待检测图像进行自适应直方图均衡化处理后而得到的图像;检测待检测目标图像中的板材目标边界线,所述目标边界线为板材的左边界线和右边界线中的至少之一;
将所述上边界线、下边界线以及目标边界线作为所述板材边界信息。
在一个可选的方案中,所述确定单元1307,还用于:基于待检测图像中存在灰度异常区域的识别结果,确定待检测图像中存在封边缺陷;基于待检测图像中未存在灰度异常区域的识别结果,确定待检测图像中未存在封边缺陷。
在一个可选的方案中,所述确定单元1307,还用于:确定待检测图像中存在封边缺陷之后,基于所述灰度异常区域,确定所述待检测图像中的封边缺陷区域。
在一个可选的方案中,检测单元1302,还用于:检测待检测目标图像中的板材上边界线和下边界线;检测待检测目标图像中的板材目标边界线,所述目标边界线为板材的左边界线和右边界线中的至少之一;将所述上边界线、下边界线以及目标边界线作为所述板材边界信息。
在一个可选的方案中,检测单元1302,还用于:对待检测目标图像中的板材上边界区域和下边界区域进行识别;从上边界区域中检测出第一目标点,所述第一目标点为所述上边界区域中围绕其的第一预定区域和第二预定区域之间的灰度变化满足第一预设条件的像素点;从下边界区域中检测出第二目标点,所述第二目标点为所述下边界区域中围绕其的第一预定区域和第二预定区域之间的灰度变化满足第二预设条件的像素点;基于所述第一目标点,得到板材上边界线;基于所述第二目标点,得到板材下边界线。
在一个可选的方案中,检测单元1302,还用于从待检测目标图像的第一指定像素点开始,向下进行逐个像素点的扫描,得到第三目标点,所述第三目标点为在扫描中得到的第一个、围绕其的第一预定区域和第二预定区域之间的灰度变化满足第三预设条件的像素点;在待检测目标图像中围绕着第三目标点,以第一目标宽度、第一目标长度进行区域的绘制,得到板材上边界区域;其中,第一目标宽度为待检测目标图像或待检测图像的宽度,第一目标长度由位于第三目标点上方的指定数量的像素点和位于第三目标点下方的指定数量的像素点构成。
在一个可选的方案中,检测单元1302,还用于:从待检测目标图像的第二指定像素点开始,向上进行像素点的逐个扫描,得到第四目标点,所述第四目标点为在被扫描中得到的、第一个围绕其的第一预定区域和第二预定区域之间的灰度变化满足第四预设条件的像素点;在待检测图像中围绕着第四目标点,以第二目标宽度、第二目标长度进行区域的绘制,得到板材下边界区域;其中,第二目标宽度为待检测目标图像或待检测图像的宽度,第二目标长度由位于第四目标点上方的指定数量的像素点和位于第四目标点下方的指定数量的像素点构成。
在一个可选的方案中,检测单元1302,还用于:以待检测目标图像的第三指定像素点为基准进行一次横向扫描以及以多个第四指定像素点中各个像素点为基准进行一次横向扫描,其中所述第四指定像素点为待检测目标图像中与第三指定像素点的横坐标相同、与第三指定像素点的纵坐标相差相应整数倍的第一预定长度的像素点;获得扫描过程中的多个第五目标点,所述第五目标点为被扫描中得到的、围绕其的第一预定区域和第二预定区域之间的灰度变化满足第五预设条件的像素点;基于所述多个第五目标点,得到所述目标边界线。
在一个可选的方案中,检测单元1302,还用于:基于所述多个第五目标点,构建直线;基于所述直线,得到待检测目标图像中的感兴趣ROI区域;
对ROI区域进行扫描,得到多个第六目标点,所述第六目标点为被扫描中得到的、围绕其的第一预定区域和第二预定区域之间的灰度变化满足第六预设条件的像素点;基于所述多个第六目标点,得到所述目标边界线。
在一个可选的方案中,检测单元1302,还用于:对所述待检测目标图像进行降采样;检测经降采样的待检测目标图像中的板材目标边界线。
在一个可选的方案中,在所述板材边界信息包括板材上边界线、下边界线和目标边界线的情况下,所述目标边界线为板材的左边界线和右边界线中的至少之一;第一获得单元1303,还用于:将目标边界线与上边界线进行相交处理,得到参考起始点;将目标边界线与下边界线进行相交处理,得到参考结束点;基于参考起始点和参考结束点,得到待检测图像中的参考线;基于参考线,得到所述待检测图像中的封边以及封边在待检测图像中所处的位置。
在一个可选的方案中,第二获得单元1304,还用于:所述封边包括多个封边点;基于封边所处的位置,沿着封边法线方向确定与各封边点匹配的边缘点;将各封边点和与各封边点匹配的边缘点之间的实际平均灰度作为各封边点的实际灰度;基于所述各封边点的实际灰度,得到封边的实际灰度信息。
在一个可选的方案中,第二获得单元1304,还用于:所述多个封边点为所述封边的所有封边点、或者为从所述所有封边点中挑选出的第一目标封边点。
在一个可选的方案中,第三获得单元1305,还用于:
所述封边包括多个封边点,所述封边的实际灰度信息基于所述各封边点的实际灰度而得到,所述各封边的实际灰度为所述各封边点和与各封边点匹配的边缘点之间的实际平均灰度;依据各封边点的实际灰度,从各封边点中筛选出第二目标封边点;基于第二目标封边点中的第一封边点的实际灰度,对所述第一封边点的理想灰度进行拟合;基于第二目标封边点中的第一封边点的理想灰度,对第二目标封边点中的第二封边点的理想灰度进行拟合;基于第一封边点的理想灰度和第二封边点的理想灰度,得到所述封边的理想灰度信息。
在一个可选的方案中,识别单元1306,还用于:所述封边包括多个封边点,从所述多个封边点中获得多个期望封边点;针对各个期望封边点中的任意一个期望封边点,从封边的实际灰度信息中,获得所述期望封边点的实际灰度;其中,所述期望封边点的实际灰度为所述期望封边点和所述封边中沿着封边法线方向与所述期望封边点匹配的多个边缘点之间的实际平均灰度;从封边的理想灰度信息中,获得所述期望封边点的理想灰度;其中,所述期望封边点的理想灰度为所述期望封边点和所述封边中沿着封边法线方向与所述期望封边点匹配的多个边缘点之间的理想平均灰度;基于所述期望封边点的实际灰度和理想灰度,确定所述待检测图像中是否存在灰度异常区域。
在一个可选的方案中,识别单元1306,还用于:在所述期望封边点的实际灰度和理想灰度之间的差异满足预设的差异条件的情况下,确定所述待检测图像中存在灰度异常区域;其中,所述灰度异常区域由所述期望封边点和封边中沿着封边法线方向与所述期望封边点匹配的边缘点构成。
在一个可选的方案中,确定单元1307,还用于:将所述灰度异常区域作为所述封边缺陷区域;或者,对由所述灰度异常区域构成的异常区间进行处理,得到封边缺陷区域。
在一个可选的方案中,确定单元1307,还用于:基于由所述灰度异常区域构成的异常区间在所述待检测图像中所处的位置,获得在真实板材中的封边缺陷位置。
需要说明的是,本申请实施例的基于图像检测板材封边缺陷的设备,由于该基于图像检测板材封边缺陷的设备解决问题的原理与前述的基于图像检测板材封边缺陷的方法相似,因此,基于图像检测板材封边缺陷的设备的实施过程及实施原理均可以参见前述方法的实施过程及实施原理描述,重复之处不再赘述。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
图14示出了可以用来实施本发明的实施例的示例电子设备1400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图14所示,设备1400包括计算单元1401,其可以根据存储在只读存储器(ROM)1402中的计算机程序或者从存储单元1408加载到随机访问存储器(RAM)1403中的计算机程序,来执行各种适当的动作和处理。在RAM 1403中,还可存储设备1400操作所需的各种程序和数据。计算单元1401、ROM 1402以及RAM 1403通过总线1404彼此相连。输入/输出(I/O)接口1405也连接至总线1404。
设备1400中的多个部件连接至I/O接口1405,包括:输入单元1406,例如键盘、鼠标等;输出单元1407,例如各种类型的显示器、扬声器等;存储单元1408,例如磁盘、光盘等;以及通信单元1409,例如网卡、调制解调器、无线通信收发机等。通信单元1409允许设备1400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1401执行上文所描述的各个方法和处理,例如基于图像检测板材封边缺陷的方法。例如,在一些实施例中,基于图像检测板材封边缺陷的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1402和/或通信单元1409而被载入和/或安装到设备1400上。当计算机程序加载到RAM 1403并由计算单元1401执行时,可以执行上文描述的基于图像检测板材封边缺陷的方法的一个或多个步骤。备选地,在其他实施例中,计算单元1401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于图像检测板材封边缺陷的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。