本发明涉及使用通过拍摄装置对被检查物的表面进行拍摄而得到的拍摄图像来选出应对被检查物的表面进行缺陷检查的检查对象区域的图像处理方法以及使用了该图像处理方法的缺陷检查方法,尤其涉及对于具有线对称性的被检查物无论缺陷的种类如何均能够高精度且容易地选出检查对象区域的图像处理方法以及使用其的缺陷检查方法。
背景技术:
使用通过拍摄装置对被检查物的表面进行拍摄而得到的拍摄图像对被检查物的表面检查有无缺陷的缺陷检查正在广泛地进行。申请人已经提出了对称为裂纹(crack)的线状缺陷进行检测的缺陷检查方法(专利文献1)。
在被检查物的表面,除了上述裂纹以外还存在龟裂、缺口、印痕、标记错误等多方面的缺陷。在检测上述缺陷时,使用了对数字化的拍摄图像进行数字处理的图像处理算法(图像处理方法)。
作为对被检查物进行拍摄的拍摄装置,使用搭载有如ccd(charged-coupleddevices,电荷耦合器件)或者cmos(complementarymetal-oxide-semiconductor,互补性金属氧化半导体)那样的拍摄元件的摄像头。当在拍摄时从被检查物发出的光输入至上述拍摄元件时,光的强弱被变换成电信号的强弱并被进行数字化、被记录为数字图像。
(1)数字图像
在此,对数字图像进行说明。将构成图像的最小要素称为像素,数字图像由二维地排列的像素构成。各像素作为颜色信息,独立地具有组合了0和1的以二进制表示的数值,该数值表示从被检查物发出的光的强度和/或被检查物的表面的颜色。将各像素所具有的数值称为像素值,图像例如分为彩色图像、灰度等级图像等种类。
在彩色图像中,1个像素的颜色由作为构成该像素的分量的r(红)、g(绿)、b(蓝)三原色的分量比率来决定。因而,在彩色图像中表示1个像素的像素值时,多使用将rgb要素分别用8位来表示的24位(=8位×3色)。
相对于彩色图像,将由白黑的浓淡来表现的图像称为灰度等级图像。灰度等级图像用8位表示1个像素的像素值,不包括颜色信息而仅包括亮度信息。暗像素具有低(小)的像素值,亮像素具有高(大)的像素值。将这样的明暗的等级的数称为灰阶。灰阶根据分配给1个像素的信息量而发生变化。在此,将信息量的单位称为位数,位数越大则灰阶会越大。具体而言,使位数为n时的灰阶数成为2n。例如由于上述灰度等级图像的位数为8位,因此灰阶数成为28=256。并且,由于灰阶数为256,因此,灰度等级图像中的像素值的最小值为与漆黑对应的0,最大值为与纯白对应的255。
另外,在彩色图像中,多将颜色分解为上述r(红)、g(绿)、b(蓝)的三原色,对各颜色用相同的灰阶数来表现亮度。这与从彩色图像生成3个灰度等级图像即单色图像是等效的。在将上述的灰度等级图像的灰阶数256(8位)适用于rgb各色时,如上所述,彩色图像的位数成为8位×3色=24位。该情况下的灰阶数成为224=16777216,能够通过该灰阶数用数字图像表现所有的颜色。以24位表现彩色图像的颜色,在用人的眼睛观察时,会感觉到极为自然的颜色。因此,将以24位表现的彩色图像称为全彩色图像。
从彩色图像生成单色图像的方法,不限定于如上述那样将彩色图像分解为r(红)、g(绿)、b(蓝)三原色而生成3个单色图像。此外也有从彩色图像生成1个单色图像的方法。作为该一例,有使用作为电视的播放标准而为人所知的ntsc信号的方法。作为在得到ntsc信号的前阶段所使用的分量信号,有yiq信号,该yiq信号的y分量为辉度值。现在,考虑将彩色图像的信号即r信号、g信号、b信号各自的像素值即er、eg、eb与系数相乘并进行求和,生成作为新的像素值的辉度值y。此时,已知适用使用了ntsc系数的加权平均,以使得最接近人的眼睛所能看到的辉度。具体而言,进行y=0.299er+0.687eg+0.114eb的运算,来生成辉度值y。
但是,在上述那样检测图像的缺陷时,使用了对数字化了的拍摄图像进行数字处理的图像处理算法。采用该图像处理算法,无非就是对上述像素值进行运算。并且,通过对运算方法下功夫,能够基于运算结果选出图像中存在的成为缺陷检查的对象的区域。对运算方法下了工夫以便具有这样的选出作用的图像处理算法,作为现有技术被广泛地使用。
(2)现有技术的图像处理算法
使用图32至图37对现有技术的图像处理算法进行说明。此外,在以下的说明中,将成为进行表面的缺陷检查的对象的被检查物主要记载为工件。另外,将上述图像中存在的成为缺陷检查的对象的区域记载为检查对象区域。同时,将不成为缺陷检查的对象的区域即检查对象区域以外的区域记载为排除区域。
在进行工件表面的缺陷检查时,使用拍摄装置对工件进行拍摄而得到拍摄图像,并对该拍摄图像适用图像处理算法。在此,使所得到的拍摄图像为灰度等级图像。关于拍摄方法,在工件为例如6面体那样的立体形状的情况下,将工件载置于水平地设置的台上,使用在与工件的各面相对向的位置配置的拍摄装置对各面进行拍摄。另外,在工件为由纸或者形成为薄板状的木材和/树脂制成的平面形状的情况下,将工件载置于水平地设置的台上,使用配置于台的上侧的拍摄装置对工件的上表面进行拍摄。
此外,在以下的说明中,为了简单,附图中的工件的形状、被标记于工件表面的记号、工件表面所存在的缺陷的形状等,使用圆、椭圆、长方形、正方形等单纯的图形作为示意图来表示。
图32(a)是使用拍摄装置对作为合格品的工件(合格品工件)wg1的1个面进行拍摄而得到的合格品图像pg1,对背景b1和工件wg1进行了拍摄。工件wg1具有长方形的外形,在其表面标记有圆形的记号mg1。工件wg1的对角线的交点与记号mg1的中心位置大致一致。
图33(a)是使用拍摄装置对在表面具有缺陷的工件、即作为不合格品的工件(不合格品工件)wd1的1个面进行拍摄而得到的不合格品图像pd1。合格品图像pg1与不合格品图像pd1的差异在于,不合格品图像pd1的工件wd1内存在缺陷d1、而且记号md1内存在缺陷d2这点。
在此,图32(a)的合格品图像pg1和图33(a)的不合格品图像pd1均为灰度等级的数字图像。并且,在合格品图像pg1和不合格品图像pd1中通过目视对各区域的颜色进行比较,成为如下。合格品图像pg1和不合格品图像pd1均是背景b1为黑色、工件wg1和wd1为浓灰度、记号mg1和md1为白色。另外,在不合格品图像pd1中,工件wd1的缺陷d1为淡灰度,记号md1上的缺陷d2也是淡灰度。不过,即便同样为淡灰度,缺陷d2与缺陷d1相比略浓。
上述的比较是作业人员目视观察图33(a)的不合格品图像pd1所得的结果,实际的不合格品图像pd1如上述那样作为数字图像记录于拍摄装置内。关于该所记录的数字图像,当使用区域的名称用不等式来表示上述各区域的像素值的大小关系时,成为
背景b1<工件wd1<缺陷d2<缺陷d1<记号md1(1)。
在此,上述各区域均由多个像素构成。并且,构成同一区域的多个像素所具有的像素值独立地具有不同的值。但是,在以下的说明中为了简单,使构成同一区域的多个像素为全部具有相同的像素值。
该(1)所示的像素值的大小关系意味着:在目视观察图33(a)所示的不合格品图像pd1时,与工件wd1的正常部分相比,该缺陷d1看起来明亮(带白色)。同样地意味着:与工件wd1上的记号md1的正常部分相比,该缺陷d2看起来暗(带黑色)。另外,关于图32(a)的合格品图像pg1的情况下的该区域的像素值的大小关系,从(1)中排除了与2种类的缺陷相关的像素值,成为
背景b1<工件wg1<记号mg1(2)。
作为上述(1)(2)的具体例,使图32(a)的合格品图像pg1和图33(a)的不合格品图像pd1中的对各区域赋予的标号与各区域的像素值对应,分别在图32(b)和图33(b)以表的形式示出。以下,为了简单,将说明的对象限定为图33(a)的不合格品图像pd1。
接着,对使用图33(a)所示的不合格品图像pd1进行工件表面的缺陷检查时使用的图像处理算法进行说明。图33(a)的不合格品图像pd1中拍摄到了背景b1和工件wd1,成为进行缺陷检查的对象的是工件wd1。在此,拍摄图像中的工件的位置在每次拍摄时变化为各种各样。作为一例,图34(a)中与图33(a)同样地示出对与上述不合格品工件wd1不同的不合格品工件wd2进行拍摄而得到的不合格品图像pd2。而且,与图33中的同样地,使图34(a)所示的不合格品图像pd2中的对各区域被赋予的标号与各区域的像素值对应,并在图34(b)中以表的形式示出。
图34(a)的不合格品图像pd2中的工件wd2的位置与图33(a)的不合格品图像pd1中的工件wd1的位置不同。因此,需要按各拍摄图像无论工件的位置如何均正确地提取工件。将该步骤命名为工件提取步骤。作为工件提取步骤中使用的图像处理算法,已知有从调查对象图像中提取特定的图像图案的模板匹配法(tm法)。它是按以下顺序执行的算法。
[顺序1]作为所述特定的图像图案
准备预先规定的图像图案(模板)。
[顺序2]将调查对象图像与模板进行比对(匹配)
搜索最一致的部位。
[顺序3]提取一致的部位作为所述特定的图像图案。
例如在将图33(a)的不合格品图像pd1设为调查对象图像的情况下,将图32(a)的合格品图像pg1中拍摄到的工件wg1的形状设为模板即可。并且,如果将不合格品图像pd1与模板进行比对,则即使工件wd1的位置在不合格品图像pd1中变化为各种各样,例如图33(a)所示wd1位于大致中央的情况、或者如图35(a)所示的不合格品图像pd1a那样工件wd1位于右下的情况下,也能够提取具有图35(b)那样的形状的工件wd1。
接着,关于该提取出的工件wd1,分选检查对象区域和排除区域。将该步骤命名为检查区域分选步骤。作为检查区域分选步骤中使用的现有技术的图像处理算法,通过以下的[条件1]来分选检查对象区域和排除区域。
[条件1]检查对象区域的像素值,
与同该区域相邻的排除区域的像素值相比大还是小。
在此,需要注意[条件1]所记载的“同该区域相邻的排除区域”存在2种情况。具体而言,存在排除区域在检查对象区域的外部相邻的情况和在检查对象区域的内部以作为其部分集合而被内包的方式相邻的情况。并且在后者的情况下,在将内包排除区域的检查对象区域设为第1检查对象区域时,可能存在将该被内包的排除区域作为与第1检查对象区域独立的第2检查对象区域而进行层化的情况。结果,会在使多个检查对象区域组合并内包同时构成检查对象区域。关于包括这样的检查对象区域的层化的检查区域分选步骤,使用图35和图36进行说明。
首先,对图35(a)的不合格品图像pd1a执行利用了模板匹配法的工件提取步骤来提取工件wd1。明确了提取出的工件wd1的位置为不合格品图像的右下、以及最外缘为长方形的情况。在这样提取了工件wd1后,执行检查区域分选步骤。
检查区域分选步骤的第1阶段,在工件wd1的外侧配置比所述最外缘的尺寸规格的最大值大α的尺寸的围框f1,来包围工件wd1的最外缘。将执行了该第1阶段后的情形示于图36(a)。在此,工件wd1因制造误差而最外缘的尺寸产生偏差。该尺寸有通过最大值和最小值规定的规格,满足该规格的工件wd1被判定为尺寸方面的合格品。并且,在对该尺寸方面的合格品即工件wd1进行拍摄之后,使用上述的模板匹配法执行工件提取步骤。因此,作为工件提取步骤的结果得到的工件wd1的最外缘的尺寸,有可能取从上述尺寸规格的最大值到最小值的所有数值。因而,如果配置比尺寸规格的最大值大α的尺寸的围框f1,则能够对所有的工件wd1在比最外缘的更靠外侧配置围框f1。
检查区域分选步骤的第2阶段,着眼于构成图36(a)的各区域的像素的像素值而进行检查对象区域的分选。明确了在图36(a)中构成在第1阶段中配置的围框f1与工件wd1的最外缘之间的区域(以下称为工件周围区域)wds1的像素的像素值与构成背景b的像素的像素值相等。在此,着眼于工件周围区域wds1与工件wd1的像素值的大小关系。从图33(b)和式(1),工件周围区域wds1的像素值为与背景b1的像素值相等的10,工件wd1的像素值为100。于是,在图36(a)中的围框f1内部,例如将像素值50设定为工件分选阈值twd1。并且,能够通过分选工件分选阈值twd1以上的区域,来分选像素值为100的工件wd1的内部,作为成为检查对象区域的候选的对象候选区域。
接着,在检查区域分选步骤的第3阶段以后,从上述对象候选区域中分选检查对象区域。以下对该分选为必需的原因进行说明。当在图36(a)中将工件wd1的内部的正常区域与缺陷各自的像素值进行比较时,如图33(b)所示,工件wd1(正常区域)的像素值为100,工件的缺陷d1的像素值为200。根据这一情况,可以认为,例如如果在工件wd1内的区域中将像素值140设定为工件缺陷阈值td1并分选工件缺陷阈值td1以上的区域,则能够检测到缺陷d1。但是,在工件wd1内的区域存在工件上的记号m1(正常区域),该记号m1的像素值为250。因而,在工件wd1内的区域中分选了作为工件缺陷阈值td1的像素值140以上的区域的情况下,会将作为正常区域的具有像素值250的工件上的记号md1也与具有像素值200的缺陷d1一起被分选为缺陷。显然这作为缺陷检查的结果而言并不正确。为了防止这种情况,将从作为对象候选区域的工件wd1内的区域中排除了工件上的记号md1内的区域后的区域作为检查对象区域即可。这是检查区域分选步骤的第3阶段以后的步骤。
在此,将在上述检查区域分选步骤的第2阶段中分选出的工件wd1内的区域命名为第1对象候选区域。并且,将应从该第1对象候选区域排除的工件上的记号md1内的区域命名为第1排除区域。最后,将从第1对象候选区域排除了第1排除区域后的区域命名为第1检查对象区域。具体而言,在检查区域分选步骤的第3阶段中,使用与上述工件提取步骤同样的模板匹配法来仅分选工件上的记号md1。
接着在第4阶段中,与上述第1阶段同样地,如图36(b)所示在工件上的记号md1的外侧配置比该记号md1的最外缘的尺寸规格的最大值大β的尺寸的围框f2,来包围工件上的记号md1的最外缘。
并且,在第5阶段中,与上述第2阶段同样地,着眼于构成围框f2和工件上的记号md1的最外缘之前的区域(以下称为记号周围区域)m1s1的像素的像素值,与构成工件wd1的像素的像素值相等。根据图36(b),记号周围区域m1s1的像素值为与工件wd1的像素值相等的100,工件上的记号md1的像素值为250。于是,在图36(b)中的围框f2内部,例如将像素值200设定为记号分选阈值tm1。并且,能够通过分选记号分选阈值tm1以上的区域,来将像素值为250的工件上的记号m1的内部分选为应从第1对象候选区域排除的第1排除区域。
接着作为第6阶段,从第1对象候选区域中排除第1排除区域来作为第1检查对象区域。接着,着眼于被分选为上述第1排除区域的工件上的记号md1。如图36(b)所示,有时在该工件上的记号md1内存在缺陷d2。因而,将工件上的记号md1认为是应检测缺陷d2的第2对象候选区域是合适的。即,在第7阶段以后,在将工件上的记号md1分选为第2对象候选区域之后,根据需要在第2对象候选区域内分选第2排除区域,将从第2对象候选区域中排除了第2排除区域后的区域分选为第2检查对象区域。但是,根据图36(b),在将工件上的记号md1作为第2对象候选区域时,在该区域内不存在第2排除区域。因此,第2检查对象区域成为工件上的记号md1内的整个区域。作为对图35(a)所示的不合格品图像pd1a执行了以上的步骤的结果所得到的检查对象区域,成为在上述第6阶段中分选出的第1检查对象区域和在上述第7阶段中分选出的第2检查对象区域这2个区域。至此,结束检查区域分选步骤。
当在检查区域分选步骤中分选出第1检查对象区域和第2检查对象区域时,接着向设定能够在各检查对象区域中检查出缺陷的缺陷阈值的缺陷阈值设定步骤转移。在该缺陷阈值设定步骤中,将能够将各检查对象区域分选成不是缺陷的正常区域和缺陷的、特定的1个像素值设定为缺陷阈值。此时通过以下的[条件2]来分选检查对象区域内的正常区域和缺陷。
[条件2]处于检查对象区域内的缺陷的像素值,
与该区域内的正常部分的像素值相比大还是小。
首先在缺陷阈值设定步骤的第1阶段中,将第1缺陷阈值设定为第1检查对象区域中的缺陷阈值。如上所述,第1检查对象区域为工件wd1内的工件上的记号md1以外的区域。并且,根据图33(b),第1检查对象区域的像素值为100,工件的缺陷d1的像素值为200。根据这一情况,能够通过在第1检查对象区域中例如将像素值150设定为第1缺陷阈值td1、并分选第1缺陷阈值td1以上的区域,来仅分选缺陷d1。即将第1缺陷阈值td1设定为150。
接着在缺陷阈值设定步骤的第2阶段中,将第2缺陷阈值设定为第2检查对象区域中的缺陷阈值。第2的检查对象区域为工件上的记号md1内的区域。并且,根据图33(b),第2检查对象区域的像素值为250,工件上的记号md1中的缺陷d2的像素值为180。根据这一情况,能够通过在第2检查对象区域中例如将像素值210设定为第2缺陷阈值td2、并分选第2缺陷阈值td2以下的区域,来分选缺陷d2。即、将第2缺陷阈值td2设定为210。至此,结束缺陷阈值设定步骤。
如上所述,在检查区域分选步骤的第2阶段中,将像素值50设定为工件分选阈值twd1。其目的在于,在图36(a)中的围框f1内部从背景b1中分选工件wd1的内部,并将其分选为成为缺陷检查的对象区域的第1对象候选区域。另外,在第5阶段中,将像素值200设定为记号分选阈值tm1。其目的在于,从图36(b)中的围框f2内部分选工件上的记号md1的内部作为应从第1对象候选区域排除的第1排除区域。
同样地,在缺陷阈值设定步骤的第1阶段中将像素值150设定为第1缺陷阈值td1。其目的在于,分选第1检查对象区域中的缺陷。另外,在第2阶段中将像素值210设定为第2缺陷阈值td2。其目的在于,分选第2检查对象区域中的缺陷。
上述各种阈值为最适合图33(a)的不合格品图像pd1和图35(a)的不合格品图像pd1a中的工件表面的缺陷检查的阈值。其原因在于,上述不合格品图像的各区域中的像素值成为图33(b)所示的值。在此,考虑图33(a)的不合格品图像pd1以外的不合格品图像、即拍摄其他不合格品工件而得到的图像中的各区域的像素值。料想按各工件,各区域的像素值遍及某一范围而具有偏差。只要目视不合格品图像,各区域的相对亮度或者暗度关于对任何工件进行拍摄而得到的拍摄图像也是同等的。
但是,若作为数字图像来考虑,则像素值的差异成为问题。例如在目视了不同的2个工件的拍摄图像时,两者中的同一区域的目视结果均为白色。但是,当将这2个拍摄图像作为数字图像来记录时,可能存在一方的白色的像素值为240、而另一方的白色的像素值为220这一情况。同样地,即使两者中的同一区域的目视结果均为浓灰度,也可能存在数字图像中的一方的浓灰度的像素值为100、而另一方的浓灰度的像素值为80这一情况。这样,按各工件、各区域的像素值具有某一程度的偏差。因而,如果使用如上述那样利用图33(a)的不合格品图像pd1在检查区域分选步骤或者缺陷阈值设定步骤中设定出的各种阈值,则无法保证:对于所有的不合格品图像均能够可靠地进行检查对象区域的分选、并且能够进行该区域内的缺陷的分选。因此,需要执行确认所述各种阈值为合适的阈值确认步骤。以下对阈值确认步骤的顺序进行说明。
首先在第1阶段中,准备对b个(b为自然数)不合格品工件进行拍摄而得到的b个不合格品图像。对于上述不合格品图像中的每一个,使用基于图33(a)的不合格品图像pd1而设定出的各种阈值,执行检查对象区域的分选和缺陷的分选。并且,确认:对于所有的不合格品图像能够分选同一检查对象区域,并且分别可靠地分选按每个不合格品图像而不同的缺陷。如果在发现了无法正确地分选检查对象区域或者缺陷的不合格品图像的情况下,将该不合格品图像与当初的阈值设定所使用的图33(a)的不合格品图像pd1的各区域中的像素值(图33(b))进行比较,来修正阈值。并且,使用修正后的阈值再次对于b个不合格品图像来分选检查对象区域和缺陷。反复进行该分选的确认和阈值的修正,直至对于所有不合格品图像均能够分选同一检查对象区域、并且能够可靠地分选缺陷。
上述第1阶段结束后,接着作为第2阶段,在将通过使用b个不合格品图像进行确认而修正后的各种阈值应用于合格品图像时,确认能够对所有合格品图像分选同一检查对象区域、并且缺陷不被分选出。该情况下,准备a个(a为自然数)合格品图像,与上述的对于b个不合格品图像的确认同样地进行。在假如发现了检查对象区域未被正确地分选的合格品图像或者缺陷被分选的合格品图像的情况下,仍然与同上述的使用了b个不合格品图像的确认对应的修正同样地,进行阈值的修正。即、将该合格品图像与最初的阈值设定中使用的图33(a)的不合格品图像pd1的各区域中的像素值(图33(b))进行比较,对阈值进行修正。并且,反复进行确认和修正,直至能够对a个合格品图像的全部分选同一检查对象区域、并且缺陷不被分选出为止。在此b和a的具体值,例如考虑量产时每一天成为缺陷检查的对象的工件的个数、工件的制造偏差等,使用统计学的手法来决定即可。
这样一来,在各种阈值为合适的情况的确认完成后,结束阈值确认步骤。并且,向使用这些合适的阈值对作为被检查物的工件的拍摄图像进行缺陷检查的检查执行步骤转移。检查执行步骤,对被检查物的拍摄图像执行上述的检查区域分选步骤,分选出检查对象区域。接着,使用缺陷阈值,对检查对象区域检查缺陷的有无。如果没有缺陷则判断为合格品,如果有缺陷则判断为不合格品。
在此,关于与图33(a)的不合格品图像pd1的情况不同的拍摄图像的像素值的例子,使用图37(a)所示的不合格品图像pd11来进行说明。当在图37(a)的不合格品图像pd11中通过目视对各区域的颜色进行比较时,则成为如下。背景b11为白色、工件wd11为淡灰度、记号md11为黑色。另外,工件wd11的缺陷d11为浓灰度,记号md11上的缺陷d21为淡灰度。不过,即使同样是淡灰度,缺陷d21与工件wd11相比略淡。在将该不合格品图像pd11记录为数字图像的情况下,上述各区域的像素值的大小关系成为,
记号md11<缺陷d11<工件wd11<缺陷d21<背景b11(3)。
该(3)所示的像素值的大小关系意味着:在目视观察图37(a)的不合格品图像pd11时,与工件wd11的正常部分相比,该工件wd11的缺陷d11看起来暗(带黑色)。同样地,意味着:与工件wd11上的记号md11的正常部分相比,该工件wd11的缺陷d21看起来明亮(带白色)。将上述像素值以表的形式在图37(b)中示出。
对图37(a)的不合格品图像pd11执行上述的检查区域分选步骤和缺陷阈值设定步骤时的各种阈值和应分选的区域的像素值与阈值的大小关系,如下。
首先,在检查区域分选步骤的第2阶段中设定工件分选阈值twd11。其目的在于,从背景b11中分选出工件wd11的内部并将其分选为成为缺陷检查的对象区域的第1对象候选区域。在此,根据图37(b)工件wd11的像素值为130、背景b11的像素值为250。可知:当将上述像素值进行比较时,如果将工件分选阈值twd11设定为例如180,并分选具有工件分选阈值twd11以下的像素值的区域,则能够分选出第1对象候选区域。
接着在第5阶段中,设定记号分选阈值tm11。其目的是为了分选出工件上的记号md11的内部并将其作为应从第1对象候选区域排除的第1排除区域。在此,根据图37(b),工件wd11的像素值为130、记号md11的像素值为40。可知:当将上述像素值进行比较时,如果将记号分选阈值tm11设定为例如90,并分选具有记号分选阈值tm11以下的像素值的区域,则能够分选出第1排除区域。
同样地,在缺陷阈值设定步骤的第1阶段中设定第1缺陷阈值。其目的在于,分选第1检查对象区域中的缺陷。在此,根据图37(b),工件wd11的像素值为130、缺陷d11的像素值为80。可知:当将上述像素值进行比较时,如果将第1缺陷阈值td11设定为例如100,并分选具有第1缺陷阈值以下的像素值的区域,则能够分选出缺陷d11。
进而,在第2阶段中设定第2缺陷阈值。其目的是为了分选第2检查对象区域中的缺陷。在此,根据图37(b),记号md11的像素值为40、缺陷d21的像素值为170。可知:当将上述像素值进行比较时,如果将第2缺陷阈值td21设定为例如100,并分选具有第2缺陷阈值以上的像素值的区域,则能够分选出缺陷d21。
如以上那样,作为现有技术的图像处理算法中的各种阈值的设定和应分选的区域的像素值与阈值的大小关系,基于拍摄图像中的2个信息而被决定。第1个信息为将拍摄图像作为数字图像记录时的该区域的像素值。并且,第2个信息为作业人员目视拍摄图像而得到的各区域的亮度(带白色的程度)与暗度(带黑色的程度)的比较结果、即各区域之间的亮度信息的比较结果。第2个信息中尤其重要的是检查对象区域中的正常部分与缺陷的亮度信息的比较。
在此前的说明中,设为作为不合格品图像和合格品图像的拍摄图像为灰度等级图像。在假如拍摄图像为彩色图像的情况下,将彩色图像的颜色分解为r(红)、g(绿)、b(蓝)这三原色,关于各颜色生成灰度等级图像。并且,作业人员目视从不合格品图像生成的3种类的灰度等级图像,通过将各区域之间的亮度信息进行比较,来选择判断为最能够清楚地识别缺陷的1个灰度等级图像。对该选择出的灰度等级图像应用上述图像处理算法即可。
(3)现有技术的图像处理算法的问题点
以上那样的作为现有技术的图像处理算法,存在以下的问题点。该问题点是,在对拍摄图像应用图像处理算法时作业人员的目视作业变多。如上所述,在检查区域分选步骤中设定各种阈值时,作业人员目视拍摄图像,将各区域间的亮度信息进行比较。并且,基于该比较结果,来判断在应分选的检查对象区域的内部是否存在作为应被识别为缺陷的正常的区域的排除区域。
例如在上述的与使用了图33(a)所示的不合格品图像pd1的检查区域分选步骤有关的说明中,如图33(b)所示,工件wd1的像素值为100、工件wd1上的缺陷d1的像素值为200。并且,工件wd1内的记号md1的像素值为250。因此,为了在工件wd1上正确地分选缺陷d1,从作为第1对象候选区域的工件wd1内将记号md1作为第1排除区域而排除,由此分选出第1检查对象区域。在上述的作业中,作业人员的目视所起到的作用非常大,要求作业人员熟练。作为例子在上述说明中使用的图33(a)所示的不合格品图像pd1的情况下,排除区域为1个、检查对象区域为2个。但是,排除区域和检查对象区域的数量并不限定于此。
根据构成工件表面的零件的数量、发生缺陷的零件及其配置和各零件及与其对应的缺陷的像素值等,也可以考虑使排除区域和检查对象区域的数量进一步增加。而且,在如上述那样,拍摄图像为彩色图像的情况下,追加如下作业:将彩色图像的颜色分解为r(红)、g(绿)、b(蓝)这三原色,对各颜色生成灰度等级图像后,作业人员目视这3种类的灰度等级图像并进行比较。在上述那样排除区域和检查对象区域增加的情况下、或者对彩色拍摄图像的处理成为必要的情况下,用于分选区域的阈值的数量增加等、作业人员的目视所需要的时间进一步增加。另外,与此同时作业人员的判断项目增加、作业人员的负担增加。由于这样的作业人员的目视所需要的时间的增加和负担的增加,检查速度和检查精度下降。
现有技术文献
专利文献
专利文献1:日本特开2015-4538号公报
技术实现要素:
发明要解决的技术问题
本发明的目的在于提供:通过在从具有线对称性的被检查物的拍摄图像分选检查对象区域时减少作业人员的目视作业而能够减轻产生要求作业人员熟练的判断等负担的情况、并且能够简单地设定阈值而容易地选出检查对象区域的、有助于检查速度的提高并且不易受到作业人员的熟练度的差异的的影响的图像处理方法、和使用了该图像处理方法的缺陷检查方法。
用于解决问题的技术方案
作为本发明的一个技术方案的图像处理方法,其特征在于,包括:差分算出步骤,将具有相对于基准直线为线对称的第1区域及第2区域的单色的原图像,通过所述基准直线划分为所述第1区域及所述第2区域,关于在所述第1区域及所述第2区域内配置于相对于所述基准直线为线对称的位置的两个原像素的各对,算出成为所述两个原像素的像素值的差分的差分像素值;和差分图像生成步骤,是配置具有所述差分像素值的差分像素来生成差分图像的差分图像生成步骤,将具有使用所述第1区域内的第1位置的原像素和所述第2区域内的第2位置的原像素的对所算出的所述差分像素值的差分像素配置于所述差分图像的所述第1位置及所述第2位置来生成所述差分图像。
另外,在所述图像处理方法中,其特征在于,所述基准直线是将所述原图像划分为包含相等数量的原像素的上半部分的所述第1区域和下半部分的所述第2区域的第1直线。
另外,在所述图像处理方法中,其特征在于,所述基准直线是将所述原图像划分为包含相等数量的原像素的左半部分的所述第1区域和右半部分的所述第2区域的第2直线。
另外,在所述图像处理方法中,其特征在于,在所述差分图像生成步骤中,从同一所述原图像生成第1差分图像和与所述第1差分图像不同的第2差分图像来作为所述差分图像,所述图像处理方法还包括:检查区域选出步骤,使用所述第1差分图像和所述第2差分图像,选出所述原图像中的检查对象区域。
作为本发明的一个技术方案的缺陷检查方法,是使用所述图像处理方法对被检查物进行缺陷检查的缺陷检查方法,其特征在于,具备:阈值设定模式和检查执行模式,所述阈值设定模式包括:第1步骤,使从拍摄已知是合格品的多个被检查物而得到的拍摄图像生成的单色图像为第1原图像,从所生成的多个第1原图像使用所述图像处理方法来生成多个合格品差分图像;和第2步骤,使从拍摄已知是不合格品的多个被检查物而得到的拍摄图像生成的单色图像为第2原图像,从所生成的多个第2原图像使用所述图像处理方法来生成多个不合格品差分图像,在所述阈值设定模式下,设定1个检查区域阈值,该1个检查区域阈值能够从所述多个不合格品差分图像的差分像素中,选出差分像素值相对于其它差分像素值离开预定值以上并且在各不合格品差分图像中配置于同一位置的离开像素,并且能够不从所述多个合格品差分图像的差分像素中选出配置于与所述离开像素同一位置的差分像素作为所述离开像素,在所述检查执行模式下,使从拍摄缺陷检查对象的被检查物而得到的拍摄图像生成的单色图像为第3原图像,从所生成的第3原图像使用所述图像处理方法来生成差分图像,使用所述差分图像和所述检查区域阈值来选出所述第3原图像中的检查对象区域,对所述检查对象区域执行缺陷检查。
另外,在所述缺陷检查方法中,其特征在于,所述拍摄图像是非彩色图像,从各拍摄图像生成的单色图像为1个。
另外,在所述缺陷检查方法中,其特征在于,所述拍摄图像是彩色图像,从各拍摄图像生成的单色图像为2个以上,在所述阈值设定模式的所述第1步骤中,使各单色图像为所述第1原图像,从所生成的多个第1原图像生成所述多个合格品差分图像,在所述阈值设定模式的所述第2步骤中,使各单色图像为所述第2原图像,从所生成的多个第2原图像生成所述多个不合格品差分图像,在所述阈值设定模式下,选出所述检查区域阈值的可设定范围最大的1个单色图像,对所选出的单色图像设定所述检查区域阈值,在所述检查执行模式下,从由拍摄所述缺陷检查对象的被检查物而得到的所述拍摄图像生成的2个以上的单色图像中选出与在所述阈值设定模式下所选出的单色图像相同种类的单色图像来作为所述第3原图像,从所生成的所述第3原图像生成所述差分图像,使用所述差分图像和所述检查区域阈值来选出所述检查对象区域,对所述检查对象区域执行缺陷检查。
另外,所述缺陷检查方法,其特征在于,还包括从所述第3原图像中使用模板匹配法提取所述缺陷检查对象的被检查物的被检查物提取步骤。
发明的效果
在将本发明的图像处理方法用于检查对象工件(缺陷检查对象的被检查物)的图像关于特定的直线为线对称的情况时,能够几乎不存在作业人员目视工件的图像进行任何判断的步骤地利用单纯的图像处理的运算来设定1个阈值,容易地选出检查对象工件的图像中的检查对象区域。因此,没有如现有技术那样要求作业人员熟练,作业人员的负担变少。而且,能够通过软件使图像处理方法自动化、容易地执行对检查对象工件的图像的缺陷检查。因此,与现有技术的缺陷检查相比,使检查速度格外地提高,并且不易受到作业人员的熟练度的差异的影响。
附图说明
图1(a)(b)是本发明的图像处理算法的说明图。
图2是本发明的图像处理算法的说明图。
图3(a)(b)(c)(d)(e)是本发明的图像处理算法的说明图。
图4(a)(b)(c)是本发明的图像处理算法的说明图。
图5(a)(b)(c)(d)(e)是本发明的图像处理算法的说明图。
图6(a)(b)(c)是本发明的图像处理算法的说明图。
图7(a)(b)是本发明的图像处理算法的说明图。
图8(a)(b)(c)(d)(e)是本发明的图像处理算法的说明图。
图9(a)(b)(c)是本发明的图像处理算法的说明图。
图10(a)(b)(c)(d)(e)是本发明的图像处理算法的说明图。
图11(a)(b)(c)是本发明的图像处理算法的说明图。
图12是本发明的图像处理算法的说明图。
图13(a)(b)是本发明的图像处理算法的说明图。
图14(a)(b)是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图15是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图16是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图17是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图18是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图19是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图20是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图21是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图22是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图23是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图24是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图25是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图26是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图27是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图28是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图29是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图30是使用了本发明的图像处理算法的缺陷检查方法的说明图。
图31是使用了本发明的图像处理算法的缺陷检查方法的说明图。图32(a)(b)是现有技术的图像处理算法的说明图。
图33(a)(b)是现有技术的图像处理算法的说明图。
图34(a)(b)是现有技术的图像处理算法的说明图。
图35(a)(b)是现有技术的图像处理算法的说明图。
图36(a)(b)是现有技术的图像处理算法的说明图。
图37(a)(b)是现有技术的图像处理算法的说明图。
标号说明
wd1、wd2不合格品工件
md1、md2记号
d1、d2、da、db缺陷
wg1合格品工件
mg1记号
b1背景
f1、f2围框
l1第1直线
l2第2直线
l3第3直线
具体实施方式
以下,参照附图对本发明的实施方式进行说明。
(1)本发明的图像处理算法
使用图1到图6对成为本发明的基本的图像处理算法进行说明。图1(a)是作为使图33(a)的不合格品图像pd1中拍摄到的不合格品工件wd1为原图像即图像处理的对象的数字图像,用于对该原图像适用本发明的图像处理算法的说明图。在此,图1(a)的不合格品工件wd1是利用模板匹配法从上述不合格品图像pd1中提取出的。已经使用图33(a)对不合格品工件wd1的表面的各区域进行了说明,因此在此省略说明。另外,图1(b)中以表的形式示出图1(a)所示的原图像中的各区域的像素值。上述像素值与图33(b)的对应的区域的像素值相同。即图1(a)的原图像也是与图33(a)相同的灰度等级图像。
首先在图1(a)中,关注工件wd1和记号md1的区域。在上述区域分别存在缺陷d1和d2。并且,若观察除去缺陷d1和d2之外区域、即与图32(a)的合格品图像pg1内的合格品工件wg1相同的区域,则可知该区域为具有线对称性的区域。该与合格品工件wg1相同的区域由不合格品工件wd1和标记于该不合格品工件wd1的表面的记号md1构成。而且,如上所述,不合格品工件wd1具有长方形的外形,记号md1为圆形。另外,工件wd1的对角线的交点与记号md1的中心位置大致一致。据此可知,由不合格品工件wd1和记号md1构成的区域,关于图1(a)所示的2条直线l1及l2为线对称。具体而言,以作为基准直线的第1直线l1为对称轴,为上下对称,第1直线l1将原图像划分为在上半部分和下半部分具有相等数量的像素。同样地,以作为基准直线的第2直线l2为对称轴,为左右对称,第2直线l2将原图像划分为在左半部分和右半部分具有相等数量的像素。
本发明的图像处理算法,对于这样具有关于1个以上的对称轴成为线对称的区域的图像,能够容易地选出应进行缺陷检查的检查对象区域。在对本发明的图像处理算法的原理进行说明时,为了简单而设为使用如图2所示那样的配置成纵4个、横4个的正方形形状的16个像素。在图2中各像素为正方形的形状,在该正方形中记载有表示各像素的位置的固有的地址。该地址以通过组合成为图2的横向方向的x和成为纵向方向的y而得到的二维显示,赋予给各像素。以下对具体的地址的赋予方法进行说明。
首先为了确定x方向和y方向上的地址值的增加方向,将成为x=0及y=0的原点取在左上。并且,使二维地址(x,y)的x和y分别向图2的箭头x方向及y方向增加。即,位于左上角的像素的地址成为(0,0),位于其右侧的像素的地址通过从(0,0)使x地址的值增加1而成为(1,0)。同样地,位于左上角的像素的下侧的像素的地址通过从(0,0)使y地址的值增加1而成为(0,1)。如此地使x地址和y地址的值变化,位于最远离原点的右下角的像素的地址通过从(0,0)使x地址的值增加3并且使y地址的值增加3而成为(3,3)。在以下的说明中,通过该方法来表现像素的地址。
图3至图6是对本发明的图像处理算法的原理进行说明的图。图3(a)为利用如图2所示那样的配置成纵4个、横4个的正方形形状的16个像素,将图32(a)的合格品图像pg1内的合格品工件wg1作为原图像而模型化后的图。在各像素记载有如与图32(b)的表对应那样的像素值。此外,图32(a)中的合格品工件wg1的形状为长方形,在图3(a)中为了简单而按正方形使其模型化。另外图32(a)中的记号mg1为圆形,在图3(a)中用由全部16个构成的像素中位于中央部的地址(1,1)、(2,1)、(1,2)、(2,2)这4个像素进行模型化。该情况下,包围上述中央部的4个像素的12个像素成为使图32(a)中的合格品工件wg1模型化而得到的像素。
在此,图32(b)中的合格品工件wg1的像素值为100,记号mg1的像素值为250。但是在图3(a)中,将作为合格品工件wg1的像素值的100附近的几个存在偏差的值分配给上述12个像素中的各像素,并且将作为记号mg1的像素值的250附近的几个存在偏差的值分配给上述4个像素中的各像素。这样的像素值的偏差为在实际的图像中例如因噪声而产生的偏差。
此外在图3(a)中,与16个像素各自的像素值对应地,以视觉方式并且相对地表现出该像素的亮度(带白色的程度)与暗度(带黑色的程度)。例如,如上所述,与图32(a)中的记号mg1对应的图3(a)的像素为中央部的地址(1,1)、(2,1)、(1,2)、(2,2)这4个像素。上述像素的像素值为250左右,目视为白色。因而,上述中央部的4个像素为在基底没有图案的涂白的正方形。另一方面,如上所述,与图32(a)中的合格品工件wg1对应的图3(a)的像素为包围上述中央部的4个像素的12个像素。上述像素的像素值为100左右,目视为浓的灰度。因而,上述12个像素为在基底的除了表示像素值的数字以外的部分配置有由许多极短的水平线段形成的图案的正方形。目视表示上述16个像素的图3(a),能够以视觉的方式理解与图1(a)同样地中央部分为白色且其周围为浓的灰度。以后,在本发明的图像处理算法的说明中,对于除了图3(a)以外的由16个像素构成的模型,也利用同样的方法以视觉的方式表现各像素的相对的亮度和/或暗度。
此外,在以下的说明中以文章的简洁化为目的,将配置于地址(a,b)的像素表记为(a,b)的像素。同样地,将配置于地址(a,b)的像素的像素值表记为(a,b)的像素值。在此,在图3(a)中与图1同样地重叠地记载作为对称轴的第1直线l1和第2直线l2。利用该图3(a),以下按次序对本发明的图像处理算法进行说明。
本发明的图像处理算法,适用于如上述那样具有关于作为基准直线的对称轴即图3(a)中的第1直线l1或者第2直线l2成为线对称的区域的图像(将一方的区域称为第1区域、将另一方的区域称为第2区域)。在此,对于在图3(a)中以第1直线l1为对称轴的情况,关注各像素的像素值的对称性。例如位于(0,0)的像素值100的像素和位于(0,3)的像素值103的像素,配置于对称位置。同样地,例如位于(2,1)的像素值255的像素和位于(2,2)的像素值253的像素也配置于对称位置。以后将构成原图像的像素命名为原像素。
此时若将图3(a)的16个原像素的集合看做正方形的折纸,则能够通过将第1直线l1作为折线来对该折纸进行折叠,由此,能够使处于所述对称位置的原像素彼此互相重叠。将该处理称为上下对折。本发明的图像处理算法,首先对于通过该上下对折而重合了的两个原像素即配置于关于第1直线l1线对称的位置的两个原像素的像素值,针对所有原像素算出成为差分的差分像素值。换言之,将通过上下对折而重合了的两个原像素作为1对,对所有对的各对算出差分像素值。将该步骤命名为差分算出步骤。在差分算出步骤之后,将具有所算出的差分像素值的差分像素配置于与该差分像素值的算出中使用了的两个原像素相同的位置而生成差分图像(第1差分图像)。例如,在使用第1区域内的第1位置的原像素与第2区域内的第2位置的原像素的对算出了差分像素值的情况下,将具有该差分像素值的差分像素配置于差分图像的第1位置和第2位置而生成差分图像。将该步骤命名为差分图像生成步骤。
将对图3(a)的原图像执行差分算出步骤和差分图像生成步骤而生成的第1差分图像示于图3(b)。例如,当在图3(a)的原图像中使用上述(0,0)的原像素与(0,3)的原像素执行差分算出步骤时,所得到的差分像素值成为103-100=3。因而,当使用具有该差分像素值3的差分像素执行差分图像生成步骤时,在图3(b)的第1差分图像中(0,0)和(0,3)的像素值成为3。同样地,当在原图像中使用上述(2,1)的原像素和(2,2)的原像素执行差分算出步骤时,所得到的差分像素值成为255-253=2。因而,当使用具有该差分像素值2的差分像素执行差分图像生成步骤时,在图3(b)的第1差分图像中(2,1)和(2,2)的像素值成为2。
在此,在图3(b)所示的第1差分图像中,16个像素的像素值全部为极接近最小的像素值即0的小的值。之所以产生这样小的像素值,是因为:如上所述将图3(a)中以第1直线l1为对称轴配置于对称位置的两个原像素的差分像素配置于与上述两个原像素相同的位置而生成图3(b)。由于上述两个原像素配置于对称位置,因此各自的像素值极为接近。因而,上述2个像素的差分像素值成为极接近0的值。目视具有这样的像素值的图3(b)的16个像素,为黑色。与此对应地,图3(b)中的16个像素全部成为在基底的除了表示像素值的数字以外的部分配置有由许多向右上方的斜线形成的图案的正方形。
接下来,本发明的图像处理算法关注图3(a)中左右对称的对称轴即第2直线l2。该第2直线l2将原图像划分为左半部分和右半部分具有相等的8个像素。位于第2直线l2的左侧的8个原像素和位于第2直线l2的右侧的8个原像素相互配置于对称位置。例如位于(0,0)的像素值100的原像素和位于(3,0)的像素值110的原像素配置于对称位置。同样地,例如位于(1,1)的像素值254的原像素和位于(2,1)的像素值255的原像素也配置于对称位置。
此时与上述的关于第1直线l1为线对称的情况同样地,若将图3(a)的16个原像素的集合看做正方形的折纸,则能够通过将第2直线l2作为折线来对该折纸进行折叠,由此能够使处于所述对称位置的原像素彼此互相重合。将该处理称为左右对折。对于通过该左右对折而重合了的两个原像素即配置于关于第2直线l2为线对称的位置的两个原像素的像素值,执行对所有原像素算出成为差分的差分像素值的差分算出步骤。在差分算出步骤之后,执行将具有所算出的差分像素值的差分像素配置于与该差分像素值的算出中使用了的两个原像素相同的位置而生成差分图像(第2差分图像)的差分图像生成步骤。
将对图3(a)的原图像执行差分算出步骤和差分图像生成步骤而生成的第2差分图像示于图3(c)。例如,当在图3(a)的原图像中使用上述(0,0)的原像素和(3,0)的原像素来执行差分算出步骤时,所得到的差分像素值成为110-100=10。因此,当使用具有该差分像素值10的差分像素执行差分图像生成步骤时,在图3(c)的第2差分图像中(0,0)和(3,0)的像素值成为10。同样地,当在原图像中使用上述(1,1)的原像素和(2,1)的原像素来执行差分算出步骤时,所得到的差分像素值成为255-254=1。因此,当使用具有该差分像素值1的差分像素执行差分图像生成步骤时,在图3(c)的第2差分图像中(1,1)和(2,1)的像素值成为1。
在此,在图3(c)所示的第2差分图像中,16个像素的像素值全部为极接近最小的像素值即0的小的值。之所以产生这样小的像素值,与上述的对图3(b)的说明同样地,是因为将图3(a)中以第2直线l2为对称轴配置于对称位置的两个原像素的差分像素配置于与这两个原像素相同的位置而生成图3(c)。由于这两个原像素配置于对称位置,因此各自的像素值极为接近。因此,这2个像素的差分像素值成为极接近0的值。目视具有这样的像素值的图3(c)的16个像素为黑色。与此对应地,在图3(c)中与图3(b)同样地,16个像素全部为在基底的除了表示像素值的数字以外的部分配置有由许多向右上方的斜线形成的图案的正方形。
在此,对利用软件来执行上述差分算出步骤中的上下对折和左右对折的具体的算法,进行补充说明。图3(a)中的16个像素分别如图2那样被赋予了地址。
因此,在执行上下对折时,在基于图2决定了图3(a)中的第1直线l1的一端的地址和另一端的地址之后,将上述地址作为输入发送给执行差分算出步骤的软件(以下称为差分算出软件)。由此,差分算出软件能够识别对称轴,并根据该一端及另一端的地址来判断是否是上下对折。
同样地,在执行左右对折时,在基于图2决定了图3(a)中的第2直线l2的一端的地址和另一端的地址之后,将上述地址作为输入发送给差分算出软件。由此,差分算出软件能够识别对称轴,并根据该一端及另一端的地址来判断是否是左右对折。
图3(a)中的第1直线l1的一端的地址与被(0,1)与(0,2)这2个像素所夹的位置对应。因而,该地址成为(0,1.5),这无非就是图2中以箭头y表示的方向上的(0,0)与(0,3)的像素的地址的中央值。
同样地,图3(a)中的第1直线l1的另一端的地址与被(3,1)与(3,2)这2个像素所夹的位置对应。因而,该地址成为(3,1.5),这无非就是图2中以箭头y表示的方向上的(3,0)与(3,3)的像素的地址的中央值。
当将这样决定出的(0,1.5)及(3,1.5)这样的2个地址作为输入发送给差分算出软件时,差分算出软件以表的方式持有图2的地址,因此能够参照该表生成作为对称轴的第1直线l1。并且,因为对称轴为水平,所以差分算出软件判断为要执行上下对折,例如关于上述的图3(a)中的(0,0)的像素值和(0,3)的像素值算出差分,同样地关于(2,1)的像素值和(2,2)的像素值算出差分。
关于图3(a)中的第2直线l2也同样地,将作为一端的地址的(0,0)与(3,0)的中央值即(1.5,0)作为输入发送给差分算出软件,并且将作为另一端的地址的(0,3)与(3,3)的中央值即(1.5,3)作为输入发送给差分算出软件即可。接收了上述地址的差分算出软件,与上述第1直线l1的情况同样地,能够参照图2的地址的表而生成作为对称轴的第2直线l2。并且,因为对称轴为垂直,所以差分算出软件判断为要执行左右对折,例如关于上述的图3(a)中的(0,0)的像素值与(3,0)的像素值算出差分,同样地关于(1,1)的像素值与(2,1)的像素值算出差分。
通过以上的步骤,从图3(a)的原图像生成图3(b)所示的第1差分图像和图3(c)所示的第2差分图像后,接下来关注构成各差分图像的16个像素的像素值。具体而言,选出上述16个像素中、具有成为对于大多数像素值较大地离开了的值的像素值(以下称为离开像素值)的像素(以下称为离开像素)。使用图3(d)至图4(c),以下对该顺序进行说明。
首先,将图3(b)所示的16个差分像素的像素值按降序排列。其结果在图3(b)的正下作为图3(d)来表示。图3(d)由上下配置的3层构成。在各层记载有数值,在各层的左端作为标题而记有该层的数值的含义。在各层的数值间记载有向下的箭头,由此有助于理解对从箭头的上侧的层的数值生成箭头的下侧的层的数值的步骤的说明。
图3(d)的上层的标题为差分像素值降序,是将上述图3(b)所示的16个差分像素的像素值按降序排列所得的结果。像素值为7、3、2、1这4个种类,在左端配置有成为最大值的7、自此向右按次序配置有小的像素值。右端配置有成为最小值的1。
接着,算出上层中相邻的差分像素值间的差分并在中层排列。中层的标题为相邻差分像素值的差分值,记有上述差分值。左端的数值为4,该4这一值为上层的左端的7与在其右相邻的3的差分。为了表示这一点,差分值4的算出中使用了的上层的像素值7和3与中层的差分值4分别通过向下的箭头而相关联。关于中层中的其他的数值也是同样。
结束以上的步骤后,接下来选出中层的数值中的最大值。该选出为用于选出上述的离开像素的步骤。在图3(d)的情况下,中层中的左端的数值4为最大值。并且,生成了该成为最大值的差分值的上层的2个像素值为左端的7和与其相邻的3。该7与3的区间为中层的差分值成为最大的区间,如果在该区间中将7与3的中央值设定为阈值,则能够选出上述的离开像素。实际上,观察图3(d)的上层所记的4个数值,相对于左端的数值7而言剩余的3个数值为3、2、1,这3个数值间的差分比较小。相对于此,仅左端的7较大地离开,可将其看做离开像素。
在这样选出了中层的差分值成为最大的区间后,算出该区间的两端的差分像素值的中央值并将其设为用于选出离开像素的阈值。将该阈值算出结果示出图3(d)的下层。下层的标题为差分值的最大区间中的阈值,作为阈值记载有作为算出了从中层的数值选出的最大的差分值4的上层的像素值即7与3的中央值的5(小数点以下进位)。
经过以上的步骤设定了阈值后,从上层的像素值中选出成为比该阈值大的值的像素值。该被选出的像素值为离开像素值,具有离开像素值的像素为离开像素。被选出的像素值为7,这从上述的说明中可以明确。
结果,离开像素的像素值“7”与其他的像素值“3、2、1”离开预定值以上。预定值的例子为最大的差分值4。该情况下,离开像素的像素值“7”与像素值“3”离开4、与像素值“2”离开5、与像素值“1”离开6,与其他像素值离开预定值以上(即4以上)。
与以上的相对于图3(b)所示的第1差分图像的图3(d)的步骤同样地,对于图3(c)所示的第2差分图像也通过图3(e)的步骤来设定阈值,从图3(c)的像素中选出离开像素值10。图3(c)和图3(e)的关系与上述的图3(b)和图3(d)的关系相同。另外,图3(e)的上层、中层、下层的数值和各层之间的箭头的含义也与图3(d)相同。因而,省略对图3(e)的详细说明。
将经过以上的步骤选出的图3(b)和图3(c)中的离开像素,分别在图4(a)和图4(b)中通过以双重围框包围像素值来进行显示。在这样在2个差分图像中选出了离开像素之后,作为下一步骤,选出2个差分图像中的离开像素的共同部分。并且,该选出的共同部分成为原图像中有可能存在缺陷的区域、即应进行缺陷检查的检查对象区域。
在此,图4(a)和图4(b)中不存在离开像素的共同部分。其原因是:图3(a)的原图像是对图32(a)所示的合格品工件wg1、即没有缺陷的工件进行模型化而得到的,相对于2条作为对称轴的第1直线l1和第2直线l2成为线对称。因而,在图3(a)的原图像中不存在应进行缺陷检查的检查对象区域。
在图4(c)中示出在图3(a)的原图像中对配置于与图4(a)和图4(b)中通过用双重框包围像素值的方式表示的离开像素的共同部分相同的位置的原像素,通过用双重框包围像素值的方式表示的图像。如上所述在图4(a)和图4(b)中上述用双重框表示的2个差分图像中的离开像素,不具有共同部分。因此,图4(c)中不存在以双重框包围像素值的像素,成为与图3(a)相同的图像。
根据以上那样的利用了图3(a)的模型的说明,可知:在对图32(a)的合格品图像pg1所示那样的具有线对称的区域的合格品工件wg1的原图像适用了本发明的图像处理算法的情况下,不会选出应进行缺陷检查的检查对象区域。
(2)本发明的图像处理算法的适用例
接着,对在图33(a)的不合格品图像pd1所示那样具有线对称的区域的不合格品工件wd1的图像适用了本发明的图像处理算法的情况进行说明。图5(a)是与上述的图3(a)同样地使用16个像素将图33(a)的不合格品图像pd1内的不合格品工件wd1作为原图像进行模型化而得到的图。各像素中记载有与图33(b)的表对应的那样的像素值。
在此,对图5(a)与图3(a)的不同点、即图5(a)中的缺陷的表现进行说明。图5(a)与图3(a)的不同点在于,配置于地址(0,0)和(2,2)的像素的像素值。图3(a)中的地址(0,0)的像素值为100,该像素值与图32(b)所示的合格品工件wg1的像素值对应。相对于此,图5(a)中的(0,0)的像素值为200,该像素值与图33(b)所示的不合格品工件wd1上的缺陷d1的像素值对应。同样地,图3(a)中的地址(2,2)的像素值为100,该像素值与图32(b)所示的记号mg1的像素值对应。相对于此,图5(a)中的地址(2,2)的像素值为180,该像素值与图33(b)所示的记号md1上的缺陷d2的像素值对应。
并且,在图5(a)中,与图3(a)同样地,包围处于中央部的地址(1,1)、(2,1)、(1,2)、(2,2)的4个像素的12个像素成为不合格品工件wd1。另外,图5(a)中的不合格品工件wd1的像素值除了表示缺陷的上述(0,0)之外成为与图3(a)相同的值。同样地记号md1的像素值除了表示缺陷的上述(2,2)之外成为与图3(a)相同的值。此外,图5所示的各像素的像素值与表示该像素的正方形的基底的图案的关系,与图3相同。
在此,如上所述,当将图5(a)的像素值与图3(a)的像素值进行比较时,图5(a)中的(0,0)和(2,2)的像素值分别为与图3(a)不同的200和180。目视上述像素值,如图33(b)所示那样均为淡灰度。通过该目视看起来为淡灰度的像素不存在于表示作为合格品图像的图32(a)与各区域的对应的图32(b),结果也不存在于使图32(a)模型化而得到的图3(a)。因此,为了与该淡灰度对应,图5(a)中的(0,0)和(2,2)的像素成为在基底的除了表示像素值的数字以外的部分配置有由许多点构成的图案的正方形。
将对图5(a)的原图像执行上述的差分算出步骤和差分图像生成步骤而生成的第1差分图像示于图5(b)。另外,将执行同样的步骤而生成的第2差分图像示于图5(c)。在此,将图5(b)和图5(c)分别与图3(b)和图3(c)进行比较。首先,若将图5(b)与图3(b)进行比较,则可知两者存在差异。图3(b)中的16个像素的像素值全部如上所述极接近0。相对于此,在图5(b)中的16个像素值中的、(0,0)和(0,3)的像素值为97,(2,2)和(2,1)的像素值为65。相对于其他像素的像素值极接近0,上述像素值为与0相比相当地大的像素值即与0离开的像素值。
以下对这4个像素的像素值与0离开的原因进行说明。在图5(a)的原图像中,与缺陷对应的(0,0)的像素值为200。并且,配置于以第1直线l1为对称轴与(0,0)的像素对称的对称位置的像素为不与缺陷对应的(0,3),其像素值为103。将这2个像素值的差分像素值配置于原图像的(0,0)和(0,3)的位置得到的是图5(b)的第1差分图像。因此,因为在原图像中与缺陷对应的(0,0)的像素值和不与缺陷对应的(0,3)的像素值的差分大,所以图5(b)的(0,0)和(0,3)的像素值变大,与0离开。另外,在图5(a)的原图像中,与缺陷对应的(2,2)的像素值为180。并且,配置于以第1直线l1为对称轴与(2,2)的像素对称的对称位置的像素为不与缺陷对应的(2,1),其像素值为255。将这2个像素值的差分像素值配置于原图像的(2,2)和(2,1)的位置得到的是图5(b)的第1差分图像。因此,因为在原图像中与缺陷对应的(2,2)的像素值和不与缺陷对应的(2,1)的像素值的差分大,所以图5(b)的(2,2)和(2,1)的像素值变大,与0离开。
接着,将图5(c)与图3(c)进行比较,可知两者仍有差异。如上所述,图3(c)中的16个像素的像素值全部极接近0。相对于此,图5(c)中的16个像素值中的、(0,0)和(3,0)的像素值为90,(1,2)和(2,2)的像素值为71。相对于其他像素的像素值极接近0的情况,上述像素值为与0相比相当大的像素值即与0离开的像素值。
以下对这4个像素的像素值与0离开的原因进行说明。在图5(a)的原图像中,与缺陷对应的(0,0)的像素值为200。并且,配置于以第2直线l2为对称轴与(0,0)的像素对称的对称位置的像素为不与缺陷对应的(3,0),其像素值为110。将这2个像素值的差分像素值配置于原图像的(0,0)和(3,0)的位置得到的是图5(c)的第2差分图像。因此,因为在原图像中与缺陷对应的(0,0)的像素值和不与缺陷对应的(3,0)的像素值的差分大,所以图5(c)的(0,0)和(3,0)的像素值变大,与0离开。另外,在图5(a)的原图像中,与缺陷对应的(2,2)的像素值为180。并且,配置于以第2直线l2为对称轴与(2,2)的像素对称的对称位置的像素为不与缺陷对应的(1,2),其像素值为251。将这2个像素值的差分像素值配置于原图像的(2,2)和(1,2)的位置得到的是图5(c)的第2差分图像。因此,因为在原图像中与缺陷对应的(2,2)的像素值和不与缺陷对应的(1,2)的像素值的差分大,所以图5(c)的(2,2)和(1,2)的像素值变大,与0离开。
根据以上的事实,可知:若执行差分算出步骤和差分图像生成步骤,则从有可能存在缺陷的区域的像素值生成的差分像素值,相对于从不存在缺陷的区域的像素值生成的差分像素值,会较大地离开。如果利用这一点,在图5(b)和图5(c)的差分图像中选出具有离开像素值的离开像素,则能够判断为在原图像中生成了离开像素的原像素所配置的位置处有可能存在缺陷。该选出离开像素值的步骤与上述使用了图3(d)和图3(e)的说明中的、在相邻差分像素值的差分值成为最大的区间设定阈值的步骤相当。
在此,将对图5(b)和图5(c)实施与图3(d)和图3(e)相同的步骤的情况下的结果示于图5(d)和图5(e)。图5(d)和图5(e)的记载方法分别与图3(d)和图3(e)相同。因而,省略关于图5(d)和图5(e)的详细的说明。使用图5(d)的下层所记载的阈值从图5(b)的像素中选出离开像素值,为65和97。同样地使用图5(e)的下层所记载的阈值从图5(c)的像素中选出离开像素值,为71和90。
通过用双重框包围像素值的方式将经过以上的步骤选出的图5(b)和图5(c)中的离开像素分别在图6(a)和图6(b)中显示。这样一来,在2个差分图像中选出离开像素之后,作为下一步骤选出2个差分图像中的离开像素的共同部分。图6(a)和图6(b)中的离开像素的共同部分为(0,0)和(2,2)。
将通过用双重框包围像素值的方式表示在图5(a)的原图像中配置于与该共同部分相同的位置的原像素而得到的图像,示于图6(c)。该双重框的像素与在图5(a)中与缺陷对应的像素相同。即,可知:对如图33(a)的不合格品图像pd1所示那样的、除了缺陷d1和d2以外的区域为线对称的不合格品工件wd1的原图像适用了本发明的图像处理算法的情况下,能够容易地选出应进行缺陷检查的检查对象区域。若将该步骤与上述的现有技术中对检查对象区域进行分选的步骤进行比较,则可知步骤数大大地减少了。另外,可知:作业人员目视原图像进行判断的步骤被大幅度地削减了。这是在原图像具有关于对称轴成为线对称的区域的情况下、通过使用本发明的图像处理算法而产生的效果。
在以上的说明中,作为原图像,采用了如图3(a)那样在正方形的中心具有小一圈的正方形记号的、具有上下对称且左右对称的形状的工件的模型为例子。在该情况下,如上所述具有2条对称轴,从原图像生成的差分图像成为与对称轴的数量对应的2个。但是,在本发明中对称轴的数量不限定于2条。在使c为自然数时,如果对称轴的数量为c条,则经过上述差分算出步骤和差分图像生成步骤生成的差分图像的数量成为c个。在该情况下对c个差分图像选出离开像素,将离开像素的共同部分设为在原图像中应进行缺陷检查的检查对象区域。
(3)本发明的工件输送和图像处理:使用第1直线l1和第2直线l2
但是,为了得到多个工件的拍摄图像,需要通过输送单元顺次输送工件至拍摄装置能够对工件进行拍摄的位置。此时,即使在工件具有上述对称轴的情况下,根据工件的外形和其表面上的零件的配置,因输送单元中的工件的输送方法,导致有时多个拍摄图像中的工件的对称轴的方向不固定为1个。使用图7对其一例进行说明。在该说明中为了简单,采用对称轴为1个的合格品工件为例。
图7(a)是示出在对合格品工件wg2(以下称为工件wg2)进行了拍摄之后、通过使用上述的模板匹配法提取工件wg2而生成的原图像的形状和尺寸的图。工件wg2呈一边为a的正方形,在其一边的中点p0与该边相接触地标记有圆形的记号mg2。在成为该边的一端的工件wg2的角到中点p0为止的长度a/2与记号mg2的直径d之间存在d<a/2的关系。与图1(a)同样地,重叠于该原图像地记载有第1直线l1和第2直线l2。在图7(a)中,原图像明显并不关于第1直线l1为线对称,而是关于第2直线l2为线对称。即对称轴为第2直线l2。
在此,使用图7(b)对输送工件wg2直至能够通过拍摄单元进行拍摄的位置的输送单元进行说明。图7(b)示出从输送单元t1的上侧观察由输送单元t1输送的工件wg2的情形。输送单元t1水平地设置,具备以载置着工件wg2的状态进行输送的、在两侧具有互相大致平行的边缘e1和e2的细长直线状的供料器f1。也有时在边缘e1和e2附加有防止载置着的工件wg2向供料器f1的外侧伸出的机构。工件wg2,以图7(a)所示的面成为上侧、且该面的相对向的2边变为与边缘e1和e2大致平行的方式被载置于供料器f1的上表面。并且,通过未图示的驱动机构的作用,使供料器f1向图7(b)所示的箭头x1的方向移动,由此,工件wg2以直线路径被输送。未图示的拍摄单元设置于输送单元t1的上侧,在工件wg2被输送至该拍摄单元的正下位置时,能够对工件wg2的上表面进行拍摄以便得到图7(a)所示的拍摄图像。
此外,在图7(b)中,关于w1~w4这4个朝向对被载置于输送单元t1的工件wg2进行了图示。如上所述,工件wg2为正方形。并且,在输送单元t1载置工件wg2时,以如上所述图7(a)所示的面成为上侧且该面的相对向的2边变为与边缘e1和e2大致平行的方式进行了定位。即,在工件wg2由输送单元t1进行输送时,记号mg2相对于输送方向(箭头x1)产生4个位置关系。将这4个位置关系在图7(b)中作为输送的开头的工件w1、从开头起第2个工件w2、第3个工件w3、最末尾的工件w4来表示。
在图7(b)中进一步将拍摄图像中的可能成为对称轴的上述的第1直线l1和第2直线l2以重叠于各工件w1~w4的方式进行显示。根据工件w1~w4中的第1直线l1和第2直线l2可知:w1与w3的拍摄图像以第2直线l2为对称轴,w2与w4的拍摄图像以第1直线l1为对称轴。即,取决于工件wg2被载置于输送单元的方向,从拍摄图像提取工件而生成的原图像的对称轴的方向不固定为1个方向。
在这样的情况下,作业人员单个地目视原图像,每次决定第1直线l1和第2直线l2中的哪个成为对称轴,是极其烦杂的。但是,本发明的图像处理算法,即使需要这样对各个原图像选择2条对称轴中的某一条,也能够与上述的使用图3和图4或者图5和图6的说明同样地,通过关于2条对称轴双方生成差分图像,来正确地选出检查对象区域。关于其步骤,使用图8到图11来验证并进行说明。
图8(a)是将图7(a)所示的合格品工件wg2与图3(a)同样地通过16个像素而模型化后的原图像。图7(a)中的记号mg2,在图8(a)中利用(1,0)和(2,0)这2个像素进行模型化。它们的像素值为与图3(a)中配置于中央部的(1,1)、(2,1)、(1,2)、(2,2)这4个像素相类似的值。另外,在图8(a)中,除了(1,0)和(2,0)这2个像素以外的14个像素为将图7(a)中除了记号mg2之外的合格品工件wg2模型化而得到的像素。上述像素值是与图3(a)中包围配置于中央部的(1,1)、(2,1)、(1,2)、(2,2)的12个像素相类似的值。另外,在图8(a)中与图3(a)同样地重叠地记载有第1直线l1和第2直线l2。
此外,在以下的说明中使用的图8(b)、图8(c)、图9(a)~图9(c)中表示各像素的16个正方形中,除了表示各自的像素值的数字以外的正方形内部的图案与图3的该图案相同。另外,图8(d)和图8(e)的表记方法也与图3(d)和图3(e)相同。因而,省略与它们相关的详细说明。
将对图8(a)的原图像执行差分算出步骤和差分图像生成步骤而生成的第1差分图像示于图8(b)。另外,将同样地生成的第2差分图像示于图8(c)。在此,图8(a)所示的原图像相对于第1直线l1不具有对称性。具体而言,配置于与(1,0)和(2,0)的像素关于第1直线l1对称的对称位置的(1,3)和(2,3)的像素,像素值差异较大。这可以根据图8(a)是使图7(a)的合格品工件wg2模型后而得到的图像明确得知。图8(a)中的(1,0)和(2,0)的像素与图7(a)中的记号mg2对应。相对于此,图8(a)中的(1,3)和(2,3)的像素与图7(a)中的合格品工件wg2对应。
目视图7(a),可以明确得知关于第1直线l1不具有对称性。因此,在对原图像执行上下对折而生成的图8(b)的第1差分图像中,配置于原图像不具备上述对称性的位置的(1,0)和(1,3)的像素值为145。并且,同样配置于原图像不具备上述对称性的位置的(2,0)和(2,3)的像素值为142。上述像素值相对于其他12个像素值成为离开像素值。但是,上述150附近的像素值在该图8(b)中首次出现。为了以视觉的方式与此对应,这4个像素全部成为在基底的除了表示像素值的数字以外的部分配置有由许多朝向右下的斜线形成的图案的正方形。
另一方面,图8(a)的原图像关于第2直线l2具有对称性。因此,对原图像执行左右对折而生成的图8(c)的第2差分图像的所有的像素均为极接近0的像素值。接下来,将对图8(b)和图8(c)实施了与上述的图3(d)和图3(e)相同的步骤的情况下的结果示于图8(d)和图8(e)。若使用在图8(d)的下层记载的阈值,从图8(b)的像素中选出离开像素值,则成为142和145。若同样地使用在图8(e)的下层记载的阈值,从图8(c)的像素中选出离开像素值,则成为9和10。
通过以双重框包围像素值的方式将经过以上的步骤所选出的图8(b)和图8(c)中的离开像素分别显示于图9(a)和图9(b)。在这样在2个差分图像中选出了离开像素后,作为下一步骤,选出2个差分图像中的离开像素的共同部分。图9(a)和图9(b)中的离开像素的共同部分不存在。其原因与上述的图4(a)和图4(b)中在离开像素不存在共同部分的原因相同。因此,若生成通过以双重框包围图8(a)的原图像中配置于与该共同部分相同的位置的原像素的像素值的方式进行显示的图像,则成为图9(c)所示,不存在以双重框包围的像素值。这样,发明的图像处理算法,对仅关于2个对称轴中的某1个具有对称性的合格品工件的原图像,也能够与对于具有2条对称轴的原图像的情况同样地进行适用。
接着,如图8(a)所示将对图7(a)的合格品工件wg2附加了缺陷后的不合格品工件进行模型化,执行与图8(b)~图9(c)同样的步骤。图10(a)为对图8(a)所示的原图像附加了2处缺陷而得到的不合格品工件wd2的原图像。表示缺陷的像素为(0,1)和(2,3)。
在此,若观察图8(a)即与图7(a)的合格品工件wg2对应的原图像,则可知如下内容。若在图8(a)中去除(1,0)和(2,0)的像素以及配置于关于第1直线l1与这2个像素对称的对称位置的(1,3)和(2,3)的像素,则原图像成为与字母h类似的形状。并且,从构成该h形状的原图像的12个像素值观察,h形状的原像素关于第1直线l1和第2直线l2中的任一方均具有对称性。并且,由去除了的4个像素构成的区域仅对于第2直线l2具有对称性。
并且,在图10(a)中作为具有缺陷的像素附加了的(0,1)的像素,属于关于上述的h形状的原像素即第1直线l1和第2直线l2中的任一方均具有对称性的区域。另外,在图10(a)作为具有缺陷的像素附加了的(2,3)的像素,属于上述的去除了的原像素即仅对于第2直线l2具有对称性的区域。将这样表示缺陷的像素配置于在原图像中从对称性的观点来看具有不同性质的2处而得到的模型为图10(a)。此外,上述(0,1)和(2,3)的像素均配置于与图7(a)所示的合格品工件wg2中的记号mg2以外的工件上的缺陷对应的位置。并且,在图10(a)中,(0,1)的像素值为22,相对于记号mg2以外的工件上的像素值为100左右而言相当小,为目视时比正常部分看起来黑的缺陷。另外,在图10(a)中,(2,3)的像素值为170,相对于记号mg2以外的工件上的像素值为100左右而言相当大,为目视时比正常部分看起来白的缺陷。
将对该图10(a)所示的不合格品工件的原图像执行上述的差分算出步骤和差分图像生成步骤而生成的第1差分图像示于图10(b)。另外,将执行同样的步骤而生成的第2差分图像示于图10(c)。并且,将对图10(b)和图10(c)执行与图8(d)和图8(e)相同的步骤的情况下的结果示于图10(d)和图10(e)。若使用在图10(d)的下层记载的阈值来从图10(b)的像素中选出离开像素值,则为73、83、142、145。若同样地使用在图10(e)的下层记载的阈值,从图10(c)的像素中选出离开像素值,则为64和87。
通过以双重框包围像素值的方式将经过以上的步骤所选出的图10(b)和图10(c)中的离开像素分别显示于图11(a)和图11(b)。在这样一来在2个差分图像中选出了离开像素之后,作为下一步骤而选出2个差分图像中的离开像素的共同部分。图11(a)和图11(b)中的离开像素的共同部分为(0,1)、(1,3)、(2,3)。将通过以双重框包围图10(a)的原图像中配置于与图11(a)和图11(b)所示的离开像素的共同部分相同的位置的原像素的像素值而表示的图像,示于图11(c)。图11(c)中的双重框的像素为应进行缺陷检查的检查对象区域,包括在图10(a)中与缺陷对应的像素。这样本发明的图像处理算法,即使对于仅关于2个对称轴中的某1个具有对称性的不合格品工件的原图像,也能够与对于具有2条对称轴的原图像的情况同样地进行适用,能够容易地选出检查对象区域。
(4)本发明的工件输送和图像处理:使用第3直线l3
在上述的使用了图3到图6等的本发明的图像处理算法的说明中,成为原图像的对称轴的第1直线或者第2直线为水平或者垂直。但是,本发明的算法中的对称轴并不限定于此。作为其他的对称轴的例子,使用图12和图13对倾斜的对称轴进行说明。
图12是示出在对合格品工件wg3(以下称为工件wg3)进行了拍摄之后、通过使用上述的模板匹配法来提取工件wg3而生成的原图像的形状和尺寸的图。工件wg3是一边为a的正方形,在其一边的一点p30和与该边相邻的边的一点p31与每条边相切地标记有直径d的圆形的记号mg31。在此,a和d的值为7(a)所示的工件wg2相同。在工件wg3,以在圆形的记号mg31不相切的剩余的二边的各自的一点p32和p33相切的方式,还标记有具有与记号mg31相同尺寸的圆形的记号mg32。在从成为各边的一端的工件wg3的角到中点p0为止的长度a/2与记号mg31及mg32直径d之间,存在d<a/2的关系。图12的工件wg3关于连结其左上角和右下角的成为向右下倾斜的第3直线l3为线对称。
将对该图12所示的工件wg3与图8(a)同样地进行模型化而得到的原图像示于图13(a)。在图13(a)中,(2,0)(3,0)(3,1)这3个像素与图12中的记号mg31对应。同样地,在图13(a)中(0,2)(0,3)(1,3)这3个像素与图12中的记号mg32对应。这6个像素值为与图8(a)中的(1,0)和(2,0)的像素类似的值。并且,图13(a)中的除了上述6个以外的10个像素为与图8(a)中的除了(1,0)和(2,0)之外的14个像素类似的值。在此,可知:图13(a)的像素的配置为以连结原像素的左上与右下的成为向右下倾斜的第3直线l3为对称轴的线对称。即,该情况下的对折,若进行与图3中的上下对折或者左右对折同样的表记,则为右上左下对折。
在对于该图13(a)的原像素与图3同样地执行差分算出步骤和差分图像生成步骤时,仍如上所述将成为对称轴的第3直线l3的一端和另一端的地址发送给差分算出软件。但是,在该第3直线l3的情况下,例如与图3(a)中的第1直线l1的情况不同,一端和另一端的地址与配置于原像素的像素的地址重复。具体而言,图13(a)中的第3直线l3的一端的地址为(0,0),另一端的地址为(3,3)。而且,根据图13(a),第3直线l3不仅在上述一端和另一端而且在除此之外的通过路径中也与(1,1)和(2,2)的像素重复。以下对这样对称轴所通过的地址与像素的地址重复的情况下的差分算出步骤和差分图像生成步骤,进行说明。
首先,考虑在图13(a)中以第3直线l3为对称轴时,原图像通过第3直线怎样在右上和左下划分为相等数量的像素。如上所述,(0,0)、(1,1)、(2,2)、(3,3)的像素位于第3直线l3上。因此,这4个像素无法通过作为对称轴的第3直线而划分为右上和左下。因而,这4个像素在差分算出步骤中不作为对象。在具体的算法中,使这4个像素的差分像素值为0。该差分像素值0的含义理解为是将像素从差分算出的对象中排除和算出与该像素自身的差分中的任一结果即可。
在图13(a)中,关于上述与第3直线l3重复的4个像素以外的12个像素,关于在第3直线的右上和左下对称配置的像素算出像素值的差分。例如(2,0)的像素值与(0,2)的像素值算出差分,(2,1)的像素值与(1,2)的像素值算出差分即可。将这样一来生成的差分图像示于图13(b)。在图13(b)中,如上所述(0,0)、(1,1)、(2,2)、(3,3)的像素值全部为0,其他的12个像素值关于第3直线l3为对称配置,因此像素值成为极接近0的值。
(5)本发明的缺陷检查方法
使用图14到图31,以下关于使用了至此说明了的本发明的图像处理算法的工件的缺陷检查方法进行说明。
图14是使用了本发明的图像处理算法的工件的缺陷检查方法的概略流程图。该概略流程图由2个模式构成。图14(a)为阈值设定模式,为使用本发明的图像处理算法从多个不合格品工件的原图像生成差分图像,并设定用于使用所生成的差分图像来选出工件的检查对象区域的阈值的步骤。另外图14(b)为检查执行模式,为在使用在阈值设定模式下设定出的阈值从成为检查对象的工件的原图像选出检查对象区域之后、对该区域执行缺陷检查的步骤。阈值设定模式和检查执行模式,通过图14(a)的最下部和图14(b)的最上部所示的编号101的连接符来连接。
图15到图31为使用了本发明的图像处理算法的工件的缺陷检查方法的详细流程图。具体而言,为记有图14所示的步骤编号s1到s14的已定义处理的详细的步骤的图。图15到图31均将图14所记载的已定义处理的步骤名和步骤编号记于最上部,在该步骤名和步骤编号之下配置有表示该已定义处理的入口的记为in(输入)的起止符。接下来,接着该起止符示出该已定义处理的详细步骤。并且,在最下部配置有记为out(输出)的起止符,该out表示用于当结束所有步骤时从该已定义处理出来并进入图14所示的下一已定义处理的出口。
此外,图15到图31中的步骤编号,为了表示与图14的对应而将图14中的步骤编号分配为高1位或者高2位,将该详细流程图内的步骤编号从01起按升序分配给接下来的低2位。
另外,如后面叙述的那样,在使用了本发明的图像处理算法的工件的缺陷检查方法中,使在图14所示的几个已定义处理中执行的共同的处理进行子例程化。子例程包括子例程1(sub1)和子例程2(sub2),图20中示出sub1的详细流程图并且图23中示出sub2的详细流程图。上述详细流程图中的步骤编号,关于图20的sub1将高2位设为21,关于图23的sub2将高2位设为22。关于步骤编号的低2位,在图20和图23中赋予方法不同。在图20的sub1中,将倒数第2位设为作为表示该步骤与图14(a)所示的步骤s5和s6的对应的数字的5或者6。并且,将最后一位作为在上述步骤s5或者s6的内部的步骤编号,从1开始按升序分配数字。相对于此,在图23的sub2中,sub2仅与图14(a)所示的步骤s7对应,因此倒数第2位固定为数字0。并且,将最低的位作为步骤s7的内部的步骤编号,从1开始按升序分配数字。
此外,在以后的图15到图31所示的步骤以及对应的说明中,数次使用在寄存器中储存图像这一表记。该储存图像这一表记意味着:使通过图2定义的像素的x地址、y地址以及该像素的像素值对应而集合成1个排列(例如三维排列),构成包括与构成图像的像素数一致的排列数的排列群并储存于寄存器。
首先使用图14(a)和图15到图26,对阈值设定模式进行说明。
(5.1)步骤s1
在图14(a)中接着起止符start的步骤s1是已知工件拍摄步骤。这是准备多个已知是合格品或是不合格品的工件、分别对这些工件进行拍摄的步骤。将已知工件拍摄步骤(s1)的详细流程图示于图15。
在图15的步骤s101中对a个合格品工件进行拍摄而得到合格品图像。已知这a个工件是合格品。接着向步骤s102前进,对在步骤s101中拍摄到的合格品图像赋予从1到a的编号。接着在步骤s103中对b个不合格品工件进行拍摄而得到不合格品图像。已知这b个工件是不合格品。接着向步骤s104前进,对在步骤s103中拍摄到的不合格品图像赋予从1到b为止的编号。通过以上的步骤s101到s104,得到了分别赋予了固有的编号的a个合格品图像和b个不合格品图像。
步骤s105以后为用于对b个不合格品图像执行图14(a)的接着步骤s1的步骤s2到步骤s7的准备。首先,在步骤s105中,将0保存于存储上述步骤s2到步骤s7中执行处理期间的不合格品图像的编号的寄存器j,使寄存器j初始化。接着,在步骤s106中对j的值加上1。并且在步骤s107中,从赋予了从1到b为止的编号的不合格品图像之中取出以j的值指定的编号的图像。在此,j=1,所取出的图像成为不合格品图像1。并且,结束步骤s1向图14(a)所示的步骤s2前进。
(5.2)步骤s2
图14(a)中的步骤s2为检查对象工件提取步骤。这是使用上述的模板匹配法从拍摄图像提取工件的步骤。将检查对象工件提取步骤(s2)的详细流程图示于图16。
在图16的步骤s201中使用模板匹配法,搜索并确定工件的最外缘。接着,在步骤s202中使工件的最外缘内成为检查对象工件的图像。并且,结束步骤s2向图14(a)所示的步骤s3前进。
(5.3)步骤s3
图14(a)中的步骤s3为单色图像生成步骤,为关于在步骤s2中提取出的检查对象工件生成单色图像的步骤。将单色图像生成步骤(s3)的详细流程图示于图17。
在图17的步骤s301中,关于检查对象工件的图像是否为彩色进行判断。在判断结果为“是(yes)”的情况下即是彩色图像的情况下,向步骤s302前进。在步骤s302中,从作为彩色图像的检查对象工件的图像生成k个单色图像。在此k为自然数。例如,如果如上所述将彩色图像分解为r(红)、g(绿)、b(蓝)的三原色并生成3个单色图像,则为k=3。另外,如果如上所述生成在得到ntsc信号的前阶段使用的分量信号即yiq信号的y分量,则为k=1。在步骤s302中从彩色图像生成了k个单色图像之后,向下一步骤s303前进。
在步骤s303中,基于重新规定的基准,对在步骤s302中生成的k个单色图像赋予从1到k为止的编号。在此,作为重新规定的基准的一例,对将彩色图像分解成r(红)、g(绿)、b(蓝)的三原色并生成了3个单色图像的情况进行说明。在该情况下,可考虑如下基准,即对基于r(红)生成的单色图像赋予1,对基于g(绿)生成的单色图像赋予2,对基于b(蓝)生成的单色图像赋予3。在步骤s303中对单色图像赋予了编号之后,向步骤s304前进。
步骤s304以后为用于对不合格品图像1执行图14(a)的接着步骤s3的步骤s4到步骤s7的准备。首先,在步骤s304中,将0保存于存储上述步骤s4到步骤s7中执行处理期间的单色图像的编号的寄存器n,使寄存器n初始化。接着,在步骤s305中对n的值加上1。并且在步骤s306中,将赋予了从1到k为止的编号的单色图像之中以n的值指定的编号的单色图像(该情况下为第1单色图像),保存于原图像这一名称的寄存器。接着,结束步骤s3,向图14(a)所示的步骤s4前进。
此前的步骤s302到步骤s306,当在上述步骤s301中判断为检查对象工件的图像为彩色图像的情况下执行。在假如检查对象工件的图像不是彩色图像、步骤s301中的判断为“否(no)”的情况下,接着步骤s301向步骤s307前进。在此,检查对象工件的图像不是彩色图像、即为单色图像,从检查对象工件生成的单色图像为检查对象工件的图像本身。这无非就是单色图像的数量k=1。于是,在步骤s307中,将检查对象工件的图像设为第1单色图像。并且,在步骤308中将1保存于表示单色图像的数量的寄存器k,向步骤s309前进。当前进到步骤s309时,将1保存于存储图14(a)中接着步骤s3的步骤s4到步骤s7中处理的单色图像的编号的寄存器n。并且,向步骤s306前进,将第n单色图像即第1单色图像保存于原图像这一名称的寄存器。并且结束步骤s3,并向图14(a)所示的步骤s4前进。
(5.4)步骤s4
在图14(a)中步骤s4为对称性判断步骤,对在步骤s3中生成的单色图像的对称性进行判断。将对称性判断步骤(s4)的详细流程图示于图18。
在图18的步骤s401中,取出在图17所示的单色图像生成步骤(s3)的步骤s306中被保存于原图像这一名称的寄存器的第n单色图像,并判断其有无对称轴。在假如没有对称轴的情况下,判断为“否”,并向起止符end前进、结束缺陷检查。以下对在原图像没有对称轴的情况下结束缺陷检查的原因进行说明。图14中示出概略流程图的缺陷检查方法,使用图1到图6所示的本发明的图像处理算法。并且,如上所述,本发明的图像处理算法以具有关于1条以上的对称轴为线对称的区域的原图像为对象。因此,无法对于没有对称轴的原图像使用本发明的图像处理算法,因此缺陷检查在该时刻会结束。
另一方面,在步骤s401中在第n单色图像具有对称轴的情况下,判断为“是”,并向步骤s402前进。在步骤s402中,将原图像所具有的对称轴的数量保存于寄存器c。
步骤s403以后为用于对不合格品图像1执行图14(a)的接着步骤s4的步骤s5到步骤s7的准备。首先,在步骤s403中,将0保存于存储上述步骤s5到步骤s7中执行处理期间的单色图像中的对称轴的编号的寄存器m,使寄存器m初始化。接着,在步骤s404中对m的值加上1。接着,在步骤s405中,将第m对称轴的一端的坐标保存于onem这一名称的寄存器。接着在步骤s406中,将第m对称轴的另一端的坐标保存于otem这一名称的寄存器。该onem和otem作为使用图3(a)、图5(a)以及图13(a)说明了的本发明的图像处理算法中的表示对称轴的一端和另一端的坐标的自变量,在后述的步骤s5中被发送给子例程sub1。至此结束步骤s4并向图14(a)所示的步骤s5前进。
(5.5)步骤s5和s6
在图14(a)中步骤s5为差分算出步骤。并且接着步骤s5的步骤s6为差分图像生成步骤。在这两个步骤中,使用图3到图6所示的本发明的图像处理算法。该图像处理算法在后续的步骤中也时常使用,所以在详细流程图中通过将这2个步骤合并为1个的子例程sub1来进行定义。
图19中示出差分算出步骤(s5)和差分图像生成步骤(s6)。如上所述,这2个步骤由作为步骤s21而被定义的子例程sub1构成。如步骤s21所示那样,子例程sub1的自变量是原图像、第m对称轴的一端的坐标(onem)、以及第m对称轴的另一端的坐标(otem)。
作为在第1个示出的自变量的原图像,为在主程序中的图14(a)的步骤s3中、详细而言在图17所示的步骤s306中设定的原图像即第n单色图像。相对于该在步骤s306中设定的原图像即第n单色图像,如上所述在图14(a)的步骤s4中、详细而言在图18所示的步骤s401中判断对称性。在判断为“是”的情况下如上所述执行步骤s402到步骤s406。作为在第2个示出的自变量的onem为如上所述在步骤s405中保存了第m对称轴的一端的坐标的寄存器。同样地,作为在第3个示出的自变量的otem如上所述为在步骤s406中保存了第m对称轴的另一端的坐标的寄存器。
从主程序被发送了作为这3个自变量的原图像、onem、以及otem的子例程sub1,如上所述执行图14(a)中的步骤s5(差分算出步骤)和接着该步骤5的步骤s6(差分图像生成步骤)。
将子例程sub1的详细流程图示于图20。在图20中接着起止符sub1(原图像、onem、otem)的步骤s2151到步骤s2153为图14(a)中的步骤s5(差分算出步骤)。
首先,在步骤s2151中,通过直线将onem与otem连接而生成对称轴。通过该步骤生成对称轴,已经在使用了图3(a)、图5(a)以及图13(a)的本发明的图像处理算法的说明中、作为利用直线将第1直线l1、第2直线l2、第3直线l3的一端及另一端的坐标进行连接的步骤进行了说明。在图20的步骤s2151中生成了对称轴之后,向步骤s2152前进。
在步骤s2152中将原图像在对称轴的两侧划分成两份相等的像素数。该步骤与例如将图5(a)所示的16个原像素划分成位于作为对称轴的第1直线l1的上侧的8个原像素和位于下侧的8个原像素对应。在图20的步骤s2152中,将原像素划分为两份之后,向步骤s2153前进。
在步骤s2153中,关于在对称轴的两侧配置于线对称的位置的原像素pa和pb,算出成为各自的像素值ba与bb的差分的差分像素值bab。该步骤例如与如下内容对应:将在图5(a)中位于(0,0)的原像素(像素值200)设为原像素pa并将位于(0,3)的原像素(像素值103)设为原像素pb时,以200-103=97的方式算出各自的像素值200与103的差分,并将该值97设为差分像素值bab。当在图20的步骤s2153中算出差分像素值时,结束步骤s5(差分算出步骤),在子例程sub1内向图14(a)中的步骤s6(差分图像生成步骤)前进。差分图像生成步骤如图20所示包括步骤s2161。
在步骤s2161中,将具有差分像素值bab的差分像素pab配置于原图像中的原像素pa和pb的位置而生成差分图像。该步骤例如与如下内容对应:当通过在图5(a)中位于所述(0,0)的原像素pa与所述位于(0,3)的原像素pb生成97这一差分像素值bab时,在图5(b)的(0,0)和(0,3)的位置配置具有97这一像素值的差分像素。当在图20中结束步骤s2161时,结束步骤s6(差分图像生成步骤)。并且同时,结束图19中的作为步骤s21的子例程sub1,返回到主程序。此时,将在图20的步骤s2161中生成的差分图像作为返回值发送给主程序。在图20中,将该内容作为return(差分图像)示于接着步骤s2161的起止符内。向主程序的返回目的地为在图14(a)中作为步骤s7所记载的阈值范围设定步骤的输入。
(5.6)步骤s7
在图14(a)中步骤s7为阈值范围设定步骤。这是对在步骤s6中生成的差分图像如上述的本发明的图像处理算法的说明中使用了的图3(d)(e)和/或图5(d)(e)那样、将差分图像中的差分像素值按降序排列并算出相邻差分像素彼此的差分值并选出差分值成为最大的区间的步骤。
将阈值范围设定步骤(s7)的详细流程图示于图21到图23。在图21中的最初的步骤s701中,将在图20所示的例程sub1中生成的差分图像储存于差分图像nj这一名称的寄存器。在此,对作为差分图像nj这一寄存器名称中所用的2个编号的j和n进行说明。
该名称中的j为与在图15所示的已知工件拍摄步骤(s1)的步骤s107中取出的不合格品图像j的j对应的编号。并且如上所述,首先在图16所示的检查对象工件提取步骤(s2)中使用模板匹配法从不合格品图像j中提取出了检查对象工件的图像之后,接着在图17所示的单色图像生成步骤(s3)中,从检查对象工件的图像生成1个以上的单色图像。对这些单色图像赋予从1到k(k为1以上)为止的编号(步骤s302和s307),在步骤s306中将第n单色图像储存于原图像这一名称的寄存器。在此,n为如上所述存储在图14(a)所示的步骤s4到步骤s7中执行处理期间的单色图像的编号的寄存器n的值。并且,该n与差分图像nj这一寄存器名称中的n一致。在上述步骤s306中储存了第n单色图像的原图像,如上所述,通过图18所示的对称性判断步骤(s4)和图19所示的差分算出步骤(s5)以及差分图像生成步骤(s6)被顺次处理,并生成差分图像。若对这些进行总结,则差分图像nj这一寄存器中储存有从基于不合格品图像j而生成的第n单色图像生成的差分图像。
在如以上那样在步骤s701中将差分图像储存于差分图像nj之后,向步骤s22前进。步骤s22,为如上所述在图14所示的数个步骤中所执行的共同的处理,因此作为子例程sub2进行定义。子例程sub2以差分图像为自变量。在此,在图20所示的子例程sub1中,将在步骤s2161中生成的差分图像作为返回值返回到主程序。子例程sub2从主程序作为自变量而接收该差分图像。并且,使用接收到的差分图像,执行如上述的本发明的图像处理算法的说明中使用了的图5(d)(e)那样的、将差分图像中的差分像素值按降序排列并算出相邻差分像素彼此的差分值,选出差分值成为最大的区间的步骤。将子例程sub2的详细流程图示于图23。
图23中的步骤s2201与在图5(d)(e)中在上层作为标题记为差分像素值降序的步骤对应。即、对在步骤s2201中首先对构成差分图像的x个像素赋予编号1到x。接着,将各编号的像素的像素值pv(1)到pv(x)从最大值到最小值按降序储存于x个排列ap(1)到ap(x)。从左向右顺次记载了保存于从该ap(1)到ap(x)为止的x个排列的x个像素值pv(1)到pv(x)所得到的就是图5(d)(e)中配置于上层的数字。在此如上所述,图5(d)的所述数字与在图5(a)中以第1直线l1为对称轴生成的差分图像即图5(b)对应,图5(e)的所述数字与在图5(a)中以第2直线l2为对称轴生成的差分图像即图5(c)对应。在这样执行了步骤s2201之后,向步骤s2202前进。
在步骤s2202中,将0保存于存储在后述的步骤s2204中处理的像素的编号的寄存器s,并进行初始化。接着,在步骤s2203中对寄存器s所保存的数值加上1。在该阶段寄存器s的数值成为1,表示要对在上述s2201中被赋予了1号的像素进行处理。如果寄存器s的值确定了,则接着向步骤s2204前进。
步骤s2204与在图5(d)(e)中在中层作为标题而记为相邻差分像素值的差分值的步骤对应。在步骤s2204中,使用从排列ap(1)所保存的最大的像素值到排列ap(x)所保存的最小的像素值,顺次算出成为2个相邻排列所保存的像素值间的差分的差分像素值np。即、如果使用在上述步骤s2203中确定了的寄存器s的值来表现,则运算ap(s+1)-ap(s),并将结果保存于np(s)这一名称的寄存器。在此,所有像素数为x,因此s的值以从1到(x-1)为止顺次逐个加上1的方式在步骤s2204中被处理。上述差分的运算和保存的处理,按照步骤s2204中软件的表记而记载为np(s)←ap(s+1)-ap(s)。将在步骤s2204中保存于寄存器np(s)的差分像素值以通过箭头与图5(d)(e)中配置于上层的数字对应的方式顺次显示而得到的就是配置于中层的数字。当结束步骤s2204时,向步骤s2205前进。
在步骤s2205中,关于在步骤s2204中处理了的像素的编号s是否等于比所有像素数小1的值即(x-1)进行判断。即、关于是否对构成差分图像的x个的所有像素完成了步骤s2204的处理进行判断。在判断结果为“否”的情况下返回到步骤s2203,对寄存器s的值加上1。由此,在步骤s2204中要处理的像素的编号变大1。并且再次在步骤s2204中对该编号变大了1的像素执行处理。反复进行该处理,当对x个所有像素完成步骤s2204中的处理时、即成为s=x-1时,步骤s2205的判断结果成为“是”。该情况下向步骤s2206前进。
步骤s2206与在图5(d)(e)中在下层作为标题而记为差分值的最大区间中的阈值的步骤中的、选出最大区间的步骤对应。阈值的设定,在结束了子例程sub2后将后述的高下限值和低上限值作为返回值返回到主程序之后,在主程序中进行执行。在步骤s2206中,从在步骤s2204中生成的从np(1)到np(x-1)为止的(x-1)个差分像素值之中选出最大差分值mxnp。这与如下情况对应:从在图5(b)中记于中层的相邻差分像素值的差分值之中选出最大值58、或者从在图5(c)中记于中层的相邻差分像素值的差分值之中选出最大值66。如果这样在步骤s2206中选出了最大差分值mxnp,则向步骤s2207前进。
步骤s2207为在图5(d)(e)中在下层作为标题而记为差分值的最大期间中的阈值的步骤中的、成为用于在主程序中执行阈值的设定的准备的步骤。在步骤s2207中,将在步骤s2206中选出的最大差分值mxnp的算出中使用了的2个相邻的排列ap(mx+1)和ap(mx)所保存的像素值pv(mx+1)和pv(mx),分别作为高下限值hbp和低上限值ltp来进行定义。具体而言,将pv(mx+1)保存于hbp这一名称的寄存器,同时将pv(mx)保存于ltp这一名称的寄存器。该保存的处理,在步骤s2207中按软件的表记而记载为hbp←pv(mx+1)和ltp←pv(mx)。
在此,对因原样使用如图5(d)(e)所示仅从1个差分图像生成的阈值所产生的问题、和用于解决该问题的步骤进行说明。
如上所述,在图5(d)(e)中在中层示出了相邻差分像素值的差分值。并且在下层示出了在该差分值的最大期间中算出的阈值。该下层的阈值为用于从上层所记载的差分像素值中选出离开像素值的值,算出所述最大区间的两端的差分像素值(上层)的中央值作为阈值。具体而言,在图5(d)的情况下作为在中层具有最大值的区间而选出58,因此在下层算出该区间的两端的差分像素值即65与7的中央值。该中央值为36,因此阈值成为36。关于图5(e),也同样地,在中层选出具有最大值的区间即66,在下层算出该区间的两端的差分像素值即71与5的中央值。该中央值为38,因此阈值成为38。
然而,该图5(d)(e)是本发明的图像处理算法的说明图,原图像仅为图5(a)所示的1个。但是,图23所示的子例程sub2所进行处理的差分图像,因为是经过以下的步骤所生成的,所以存在多个。在生成差分图像的步骤中,首先,如上所述,基于作为b个不合格品图像(图15的步骤s103)中的1个的不合格品图像j(图15的步骤s107),生成1个以上的单色图像(图17的步骤s302或者s307)。接着,从上述1个以上(k个)单色图像中将第n单色图像作为原图像(图17的步骤s306),从该原图像生成差分图像(图20的步骤s2151到s2161)。
这样生成的差分图像作为自变量而记载于位于图23所示的子例程sub2的详细流程图的最上部的起止符sub2。即,子例程sub2,在基于同一不合格品图像j而生成的单色图像为2个以上的情况下,对所有根据从第1单色图像到第k单色图像为止的多个单色图像的每个生成的差分图像进行处理。并且,用于生成上述k个单色图像的不合格品图像j的个数不是1个而是多个(b个)。
根据上述内容可以明确,子例程sub2对多个差分图像相继执行处理。上述多个差分图像,如上所述,全部基于b个不合格品图像而分别生成。因此,与b个不合格品图像中的像素值的偏差对应地,子例程sub2所处理的差分图像的像素值也会产生偏差。即,在图5(d)(e)中,示于上层的差分像素值按每个差分图像而产生偏差。因此,示于中层的相邻差分像素值的差分值也按每个差分图像而产生偏差。因此,会发生示于下层的阈值按每个差分图像而发生偏差、不固定为1个这一问题。这是“第1问题”。为了解决该第1问题,需要能够消除每个所述差分图像的差分值的偏差,并能够对从所有的(b个)不合格品图像生成的多个差分图像仅设定1个阈值。
另外,如上所述,子例程sub2所处理的差分图像是根据从1个不合格品图像j生成多个(k个)的单色图像的每个而生成的。例如在如上所述将作为彩色图像的不合格品图像j分解成r(红)、g(绿)、b(蓝)的三原色而生成了3个单色图像的情况下,全部生成3个(k=3)单色图像。并且,这3个单色图像,如上所述,为与彩色图像中的所述三原色各自的分量比率对应地以灰度等级来表现各分量的像素值而得到的图像。
并且,将从各个单色图像生成的所有3种差分图像在子例程sub2中相继进行处理。该情况下,图5(d)(e)的中层所示的相邻差分像素值的差分值的最大区间,与各个差分图像对应,无法保证所有都成为相同的。其原因在于:如上所述,不合格品图像j的各像素中的上述r(红)、g(绿)、b(蓝)的三原色的分量比率,关于所有像素并不相同。
因此,在k个差分图像中配置于同一位置的像素的像素值,取决于上述分量比率而各不相同。因而,关于从同一不合格品图像j生成的k个差分图像的每个,图5(d)(e)的上层所示的差分像素值不同。因此,在算出了中层所示的相邻差分像素值的差分值的情况下,该算出结果也会关于k个差分图像的每个而成为全部不同的值。即、与从多个单色图像的每个生成的差分图像对应的相邻差分像素值的差分值的最大区间也可能与单色图像对应地成为完全不同的区间。该情况下,会产生在使用差分值的最大区间来设定阈值时,会需要选出阈值设定用的单色图像的基准这一问题。这是“第2问题”。为了解决该第2问题,会需要使所述选出的基准明确化,并从基于1个不合格品图像而生成的多个单色图像之中选出对设定阈值最佳的单色图像。
在图21到图23所示的阈值范围设定步骤(s7)中,为了解决上述问题而通过以下步骤来进行差分图像的处理。首先,在图23所示的步骤s2207中,如上所述将像素值pv(mx+1)和pv(mx)分别定义为高下限值hbp和低上限值ltp。并且,如图23的最下部的起止符return所记载的那样,将上述高下限值hbp和低上限值ltp作为返回值发送给图21所示的阈值范围设定步骤(s7)的主程序。
在图21中,主程序从步骤s22的子例程sub2接收所述返回值,在后述的步骤s702以后执行处理。通过该方法,能够对从所有(b个)不合格品图像生成的多个差分图像仅设定1个阈值。并且,从与根据所有(b个)不合格品图像生成的所有的单色图像(按每个不合格品图像各为k个)的每个对应的k个差分图像之中,选出对于基于基准来设定上述阈值最佳的差分图像。该最佳的差分图像的选出无非就是最佳的单色图像的选出。
以下使用图21和图22,对能够对从所有不合格品图像生成的多个差分图像仅设定1个阈值的步骤、和从与根据所有不合格品图像生成的所有单色图像的每个对应的差分图像之中选出对设定上述阈值最佳的差分图像的步骤进行说明。
在图21所示的阈值范围设定步骤(s7)的步骤s702中,从步骤s22即图23所示的子例程sub2接收作为返回值的高下限值hbp和低上限值ltp(图23的步骤s2207和最下部的起止符return)。并且,将上述返回值中的高下限值(hbp)保存于高下限值hbpmnj这一名称的寄存器。同样地,将返回值中的低上限值(ltp)保存于低上限值ltpmnj这一名称的寄存器。该保存的处理,在步骤s702的中按软件的表记而记载为高下限值hbpmnj←高下限值和低上限值ltpmnj←低上限值。
在此,对作为高下限值hbpmnj和低上限值ltpmnj这一寄存器名称所使用的3个编号的j、n以及m进行说明。该名称中的第2个和第3个的编号n和j,与步骤s701所记载的差分图像nj这一寄存器名称的n和j相同。对于该n和j已经进行了说明,所以详细的说明省略。如果仅记载结论,则意味着从基于不合格品图像j生成的第n单色图像所生成的差分图像的高下限值hbp和低上限值ltp。
接着,以下对该寄存器名称中的第1个编号m进行说明。如上所述在图18所示的对称性判断步骤(s4)中的步骤s401中,对第n单色图像(原图像)是否具有对称轴进行判断。在该判断结果为“是”的情况下,在步骤s402中将原图像所具有的的对称轴的数保存于寄存器c。并且,在步骤s403中,将0保存于寄存器m并进行初始化。接着在步骤s404中,对寄存器m加上1。在此寄存器m为存储要通过成为后续步骤的图14(a)的步骤s5(差分算出步骤)到步骤s7(阈值范围设定步骤)来进行处理的原图像所具有的、上述对称轴的编号c的寄存器。并且,在步骤s405和s406中,将与所述寄存器m对应的第m对称轴的一端和另一端的坐标保存于寄存器onem和otem。
并且,从作为图14(a)所示的步骤s7(阈值范围设定步骤)的详细流程图的图21到图23可以明确,上述寄存器m表示图23所示的子例程sub2处理了的对称轴的编号。若总结以上描述,则高下限值hbpmnj和低上限值ltpmnj分别意味从基于不合格品图像j生成的第n单色图像且基于第m对称轴生成的差分图像所具有的高下限值hbp和低上限值ltp之意。
在如以上那样图21所示的步骤s702中设定了高下限值hbpmnj和低上限值ltpmnj的各寄存器的内容之后,向步骤s703前进。在步骤s703中,对于寄存器m所保存的对称轴的编号是否到达了对称轴的数量即c进行判断。寄存器m在图18所示的对称性判断步骤(s4)的步骤s404中被每次加上1。与该被加上1后的寄存器m的值对应的原图像,如上所述通过图19到图23来进行处理。并且,在图21的步骤s702中,设定高下限值hbpmnj和低上限值ltpmnj的各寄存器的内容。
图21的步骤s703中的判断无非就是是否与第n单色图像所具有的c个对称轴的所有对称轴对应地设定了高下限值hbpmnj和低上限值ltpmnj的各寄存器的内容的判断。在该判断结果为“否”的情况下,与所有的对称轴对应的上述寄存器的内容未被设定,所以经由记载了跳转目的地编号204的连接符而跳转到图18(对称性判断步骤(s4))的步骤s404。在该步骤s404中,对保存对称轴的数量的寄存器m的值加上1。并且,与此前的说明同样地,在m的值仅变大了1的状态下再次执行图18的步骤s405及s406和图19到图23所记载的步骤。若反复执行对m的值加上1,则图21(阈值范围设定步骤(s7))的步骤s703的判断结果成为“是”。该情况下向步骤s704前进。
在步骤s704中,对寄存器n所保存的单色图像的编号是否达到了单色图像的数量即k进行判断。寄存器n在图17所示的单色图像生成步骤(s3)的步骤s305中被每次加上1。与该被加上1后的寄存器n的值对应的原图像,如上所述通过图18到图23而被处理。并且在图21的步骤s702中,设定高下限值hbpmnj和低上限值ltpmnj的各寄存器的内容。图21的步骤s704中的判断无非就是是否与基于第j个不合格品图像生成的全部k个单色图像的所有单色图像对应地设定了高下限值hbpmnj和低上限值ltpmnj的各寄存器的内容的判断。在该判断结果为“否”的情况下,与所有单色图像对应的上述寄存器的内容未被设定,所以经由记载了跳转目的地编号203的连接符而跳转到图17(单色图像生成步骤(s3))的步骤s305。在该步骤s305中,对保存单色图像的数量的寄存器n的值加上1。并且,与此前的说明同样地,在n的值变大了1的状态下再次执行图17的步骤s306及图18到图23所记载的步骤。若反复执行对n的值加上1,则图21(阈值范围设定步骤(s7))的步骤s704的判断结果成为“是”。该情况下向步骤s705前进。
在步骤s705中,对寄存器j所保存的不合格品图像的编号是否达到了不合格品图像的数量即b进行判断。寄存器j在图15所示的已知工件拍摄步骤(s1)的步骤s106中被每次加上1。与该被加上1后的寄存器j的值对应的不合格品图像,如上所述通过图16到图23而被处理。并且在图21的步骤s702中,设定高下限值hbpmnj和低上限值ltpmnj的各寄存器的内容。图21的步骤s705中的判断无非就是是否与b个不合格品图像的所有对应地设定了高下限值hbpmnj和低上限值ltpmnj的各寄存器的内容的判断。在该判断结果为“否”的情况下,与所有不合格品图像对应的上述寄存器的内容未被设定,所以经由记载了跳转目的地编号202的连接符而跳转到图15(已知工件拍摄步骤(s1))的步骤s106。在该步骤s106中,对保存不合格品图像的数量的寄存器j的值加上1。并且,与此前的说明同样地在j的值变大了1的状态下再次执行图15的步骤s107和图16到图23所记载的步骤。若反复执行对j的值加上1,则图21(阈值范围设定步骤(s7))的步骤s705的判断结果成为“是”。该情况下向步骤s706前进。
根据以上的说明可以明确,图21中的步骤s703到s705的3种判断为以下的3个判断。首先在步骤s703中,判断作为来自子例程sub2的返回值的高下限值hbp和低上限值ltp是否关于单色图像所具有的所有对称轴已生成。接着在步骤s704中,判断来自子例程sub2的所述返回值是否关于基于不合格品图像生成的所有单色图像已生成。并且在步骤s705中,判断来自子例程sub2的所述返回值是否关于所有的不合格品图像已生成。
这3个判断的结果全部成为“是”,由此关于作为上述寄存器高下限值hbpmnj和低上限值ltpmnj的名称所使用的3个编号的j、n以及m,完成了所有编号所涉及的处理。即、通过此前的步骤在寄存器高下限值hbpmnj和低上限值ltpmnj中,关于基于不合格品图像所生成的所有单色图像,对于所有的不合格品图像生成并保存该单色图像所具有的所有对称轴涉及的差分图像的高下限值(hbp)和低上限值(ltp)。
接着在图21的步骤s706和s707中,在再次使保存对称轴的编号的寄存器m初始化之后,对该值加上1。并且,经由记载了跳转目的地编号206的连接符而跳转到图22(阈值范围设定步骤(s7))的步骤s708。
图22所示的阈值范围设定步骤(s7)为执行对于在上述的图21中的步骤s702中保存于寄存器高下限值hbpmnj和低上限值ltpmnj的多个高下限值和低上限值的处理的步骤。该步骤,如上所述,具有2个目的。第1目的为能够对从所有(b个)不合格品图像生成的多个差分图像仅设定1个阈值。第2目的为从与根据所有(b个)不合格品图像生成的所有单色图像(按每个不合格品图像各为k个)的每个对应的k个差分图像之中、选出对设定上述阈值最佳的差分图像。
在图22中的最初的步骤s708中,从根据与从不合格品图像1到不合格品图像b为止的各不合格品图像对应的k个单色图像中的每个单色图像、使用基于第m对称轴生成的差分图像所算出的(b×c)个高下限值hbpmnj(关于成为1≤n≤k的n的每个为1≤m≤c、1≤j≤b)之中,选出成为最小值的最小下限值mnbmn。
接着向步骤s709前进,从根据与从不合格品图像1到不合格品图像b为止的各不合格品图像对应的k个单色图像中的每个单色图像、使用基于第m对称轴生成的差分图像所算出的b个低上限值ltpmnj(关于成为1≤n≤k的n的每个为1≤m≤c、1≤j≤b)之中,选出成为最大值的最大上限值mxtmn。
这样,以下对在步骤s708中从(b×c)个高下限值hbpmnj(关于成为1≤n≤k的n的每个为1≤m≤c、1≤j≤b)之中选出最小值,在步骤s709中从b个低上限值ltpmnj(关于成为1≤n≤k的n的每个为1≤m≤c、1≤j≤b)之中选出最大值的含义进行说明。
高下限值hbp是在图23所示的子例程sub2的步骤s2206和s2207中生成的。并且,如上所述,步骤s2206与在图5(d)(e)中在下层作为标题而记为差分值的最大区间中的阈值的步骤中的选出最大区间的步骤对应。该最大区间为例如在图5(d)的情况下在中层生成作为最大差分值的58的区间、即在上层以差分像素值65和7为相邻差分像素值的区间。并且在图23中的步骤s2207中,将最大差分值mxnp的算出中使用了的2个相邻的排列ap(mx+1)和ap(mx)所储存的像素值pv(mx+1)和pv(mx)分别设为高下限值hbp和低上限值ltp。当使图5(d)与该步骤s2207的处理对应时,在图5(d)的上层所记载的差分像素值中65为高下限值hbp、7为低上限值ltp。
在此如上所述,b个不合格品图像的各自的像素值存在偏差。因此,从各不合格品图像生成的k个单色图像的像素值也与不合格品图像对应地存在偏差。因此,当从各单色图像生成差分图像时,与成为各差分图像的基础的不合格品图像所具有的像素值的偏差对应地,差分图像的像素值也存在偏差。当通过图23的子例程sub2对上述产生了偏差的多个差分图像进行处理时,从各差分图像所生成的高下限值hbp和低上限值ltp产生偏差。即、当图5(a)所示的原图像即第n单色图像(图17的步骤s306)与b个不合格品图像对应地变化时,图5(d)(e)的各层的数值产生偏差。结果,在图23的步骤s2207中所生成的高下限值hbp和低上限值ltp,与b个不合格品图像的像素值的偏差对应地产生偏差。
这样按每个差分图像、高下限值hbp和低上限值ltp产生偏差,因此,当如图5(d)(e)的下层所记载的那样设定阈值时,则该阈值按每个差分图像而产生偏差。
因此,需要即使是从由所有b个构成的不合格品图像中的某个不合格品图像生成的第n单色图像、也能够用于对从该第n单色图像生成的差分图像设定同一阈值的步骤。作为该步骤,实施图22中的步骤s708和s709的步骤。
在步骤s708的步骤中被处理的高下限值hbpmnj与图5(d)的中层所记载的相邻差分像素值的差分值的最大区间所对应的上层的差分像素值中的、位于左侧的大的像素值对应。以后将该像素值命名为最大区间大像素值。
同样地在步骤s709的步骤中被处理的低上限值ltpmnj与图5(d)的中层所记载的相邻差分像素值的差分值的最大区间所对应的上层的差分像素值中的、位于右侧的小的像素值对应。以后将该像素值命名为最大区间小像素值。
即,在步骤s708中,从最大区间大像素值之中选出成为最小值的最小下限值mnbmn。该最小下限值mnbmn成为在从与b个不合格品图像对应的k个单色图像的每个使用基于第m对称轴生成的差分图像所算出的(b×c)个最大区间大像素值之中、最接近对应的最大区间小像素值的值。
一并在步骤s709中从最大区间小像素值之中选出成为最大值的最大上限值mxtmn。该最大上限值mxtmn成为在从与b个不合格品图像对应的k个单色图像的每个使用基于第m对称轴生成的差分图像所算出的(b×c)个最大区间小像素值之中、最接近对应的最大区间大像素值的值。
即,最小下限值mnbmn和最大上限值mxtmn的组合无非就是使在图5(d)(e)中在中层所示的相邻差分像素值的差分值的最大区间中的差分值成为最小值的组合。这样差分值成为最小值的含义为:进行了最小化,以使得相对于从第n单色图像所生成的所有差分图像,按每个第n单色图像来设定阈值的范围成为共同的。因而,通过最小下限值mnbmn和最大上限值mxtmn的组合构成的区间为能够对上述所有的(b×c)个差分图像可靠地设定阈值的区间。在这样选出了最小下限值mnbmn和最大上限值mxtmn之后,向步骤s710前进。
在步骤s710中,关于与k个单色图像分别对应的最小下限值mnbmn和最大上限值mxtmn,算出成为差分的范围rn=最小下限值mnbmn-最大上限值mxtmn。该范围rn为如上所述,关于从与b个不合格品图像对应的k个单色图像的每个使用基于第m对称轴生成的差分图像所算出的所有的(b×c)个差分图像,能够在相邻差分像素值的差分值的最大区间(例如在图5(d)的中层具有差分值58的区间)可靠地设定阈值的区间的差分值。若在步骤s710中算出范围rn,则结束步骤s7并向图14(a)所示的步骤s8前进。
(5.7)步骤s8
在图14(a)中步骤s8为阈值图像生成步骤,选出相对于设定用于选出检查对象区域的阈值而言最佳的阈值图像并设定阈值。将阈值图像生成步骤(s8)的详细流程图示于图24。
在图24的步骤s801中,关于从不合格品图像生成的单色图像的数即k是否为2以上进行判断。这是与在图17(单色图像生成步骤(s3))所示的步骤s301中进行检查对象工件的图像是否为彩色图像的判断相同的内容。即,在图24的步骤s801中,如果检查对象工件的图像为彩色图像则单色图像的数k为2以上,如果检查对象工件的图像不是彩色图像则单色图像的数k为1、k小于2。在步骤s801的判断结果为“是”、即根据不合格品图像生成的单色图像的数为2以上的情况下,向步骤s802前进。
在步骤s802中,从根据所有单色图像所算出的k个范围rn(1≤n≤k)之中选出最大值,选出具有成为该最大值的范围rn的差分图像来作为第m阈值图像。该第m阈值图像的编号m为如上所述原图像即第n单色图像所具有的第m对称轴的编号m。即、选出了与对称轴的编号对应的阈值图像。
在此,对选出具有成为最大值的范围rn的差分图像来作为第m阈值图像的含义进行说明。范围rn为如上所述能够对从根据b个不合格品图像生成的第n单色图像所生成的所有差分图像((b×c)个)可靠地设定阈值的区间的差分值。这与用于解决上述的第1问题即阈值按每个差分图像而发生偏差并不确定为1个阈值的这一问题的方法相符。另外,从这样算出的范围rn之中选出最大值无非就是将作为最小的差分值的范围rn进行比较并从中选出能够最容易地设定阈值的最大值。该具有成为最大值的范围rn的差分图像的选出与用于解决上述的第2问题即需要选出阈值设定用的单色图像的基准的问题的、基准的设定相符。
若对以上描述进行总结,则为了解决图5(d)(e)的下层所示的阈值按每个差分图像而产生偏差、不确定为1个阈值的这一上述的第1问题,在图22的步骤s710中算出范围rn。由此,能够消除每个所述差分图像的差分值的偏差,能够对根据从b个不合格品图像生成的第n单色图像所生成的所有((b×c)个)差分图像设定仅1个阈值。另外,为了解决需要选出阈值设定用的单色图像的基准的这一上述的第2问题,在图24的步骤s802中从与单色图像的数即k对应的k个范围rn之中选出最大值,并选出具有成为该最大值的范围rn的差分图像来作为第m阈值图像。由此,能够使所述选出的基准明确化,能够在后续的步骤s803中,从根据1个不合格品图像生成的多个单色图像之中选出相对于设定阈值而言最佳的单色图像。
另一方面,在步骤s801的判断结果为“否”、即基于不合格品图像生成的单色图像的数为1的情况下,向步骤s804前进。在步骤s804中,将从1个单色图像生成的差分图像设为第m阈值图像。在这样选出了第m阈值图像之后,向步骤s803前进。
在步骤s803中,选出生成了第m阈值图像的单色图像而作为第m阈值用单色图像。该第m阈值用单色图像是为了相对于原图像所具有的第m对称轴而算出图5(d)(e)的下层所示的离开像素值选出用的阈值所用的单色图像。在选出了第m阈值用单色图像之后,向步骤s805前进。
在步骤s805中在第m阈值图像中,算出范围rn的中央值=(最小下限值mnbmn+最大上限值mxtmn)/2,将该值设为作为检查对象区域选出用阈值的第m检查阈值。在该步骤s805中算出的第m检查阈值与在图5(d)(e)的下层所示的差分值的最大区间中的阈值对应。在这样设定了第m检查阈值之后,向步骤s806前进。
在步骤s806中,关于寄存器m所储存的对称轴的编号是否达到了对称轴的数即c进行判断。寄存器m在图21所示的阈值范围设定步骤(s7)的步骤s707中被每次加上1。与该被加上1后的寄存器m的值对应的原图像,如上所述通过图22和图24而被处理。并且,在图24的步骤s805中,设定第m检查阈值。图24的步骤s806中的判断无非就是是否与第n单色图像所具有的全部c个对称轴对应地设定了第m检查阈值的判断。在该判断结果为否的情况下,与所有对称轴对应的第m检查阈值没有被设定,所以经由被记载了跳转目的地编号205的连接符而跳转到图21(阈值范围设定步骤(s7))的步骤s707。在该步骤s707中,对储存对称轴的数的寄存器m的值加上1。并且,与此前的说明同样地,在m的值变大了1的状态下再次执行图22和图24的处理。若反复对m的值加上1,则图24(阈值图像生成步骤(s8))的步骤s806的判断结果成为“是”。该情况下结束步骤s8并向图14(a)所示的步骤s9前进。
(5.8)步骤s9
在图14(a)中的步骤s9是阈值确认步骤。这是如下的步骤:确认从合格品图像生成的差分图像的所有像素的像素值比上述第m检查阈值小,即、确认即使对合格品图像适用第m检查阈值,也无法选出图6(c)中以双重框来表示的那样的应进行缺陷检查的检查对象区域。将阈值确认步骤(s9)的详细流程图示于图25和图26。
在图25中步骤s901和s902是用于对在图15所示的已知工件拍摄步骤(s1)所示的步骤s101中所得到的a个合格品图像执行阈值确认步骤的准备。首先在步骤s901中,将0储存于存储在阈值确认步骤中执行处理期间的合格品图像的编号的寄存器i,使寄存器i初始化。接着在步骤s902中,对i的值加上1。
并且在步骤s903中,从赋予了从1到a的编号的合格品图像之中取出用i的值所指定的编号的图像。在此为i=1。并且向步骤s904前进。
步骤s904和s905分别与图16所示的检查对象工件提取步骤(s2)的步骤s201和s202相同。即,在步骤s904和s905中,使用模板匹配法从合格品图像1生成检查对象工件的图像。在这样生成了检查对象工件的图像之后,向步骤s906前进。
步骤s906和s907为用于对从基于合格品图像1生成的单色图像所生成的差分图像执行阈值确认步骤中的后续的步骤的准备。首先在步骤s906中,将0储存于存储在阈值确认步骤中的后续步骤中执行处理期间的单色图像中的对称轴的编号的寄存器m,使寄存器m初始化。接着在步骤s907中,对m的值加上1。
接着向步骤s908前进,关于检查对象工件的图像是否为彩色进行判断。在判断为“是”的情况即彩色图像的情况下,向步骤s909前进。在步骤s909中,从作为彩色图像的检查对象工件的图像生成k个单色图像。该步骤s909与图17所示的单色图像生成步骤(s3)中的步骤s302相同。在生成了k个单色图像之后,向步骤s910前进。
在步骤s910中,从生成的单色图像之中选出与生成了第m阈值图像的单色图像对应的单色图像来作为第m阈值用单色图像。在此如上所述、选出生成了第m阈值图像的单色图像来作为第m阈值用单色图像的是图24所示的阈值图像生成步骤(s8)的步骤s803。即、使在步骤s803中选出的第m阈值用单色图像与在步骤s910中选出的第m阈值用单色图像对应。这样对应的目的是为了确认:即使对合格品图像适用使用第m阈值用单色图像设定的第m检查阈值,也无法选出如上所述在图6(c)中由双重框所示的那样的检查对象区域。
另一方面,在步骤s908中的判断为“否”的情况即检查对象工件的图像为单色图像的情况下,向步骤s911前进。在步骤911中,将所述单色图像即检查对象工件的图像设为第m阈值用单色图像。如果这样在步骤s910或者s911中选出了第m阈值用图像,则经由被记录了跳转目的地编号209的连接符而跳转到图26的步骤s912。
在图26的步骤s912中,将第m阈值用单色图像储存于原图像这一名称的寄存器。接着向步骤s913前进,将第m对称轴的一端的坐标储存于onem这一名称的寄存器。该步骤s913为与图18所示的对称性判断步骤(s4)的步骤s405相同的步骤。接着向步骤s914前进,将第m对称轴的另一端的坐标储存于otem这一名称的寄存器。该步骤s914为与图18所示的对称性判断步骤(s4)的步骤s406相同的步骤。并且,向步骤s21前进,并执行图20所示的子例程sub1。关于子例程sub1已进行了说明,所以在此省略详细的说明。
通过在该图26中执行步骤s912到步骤s21(子例程sub1),从而将在图25的步骤s910或者s911中选出的第m阈值用图像、该第m阈值用图像的对称轴的一端及另一端的坐标从主程序作为自变量发送给子例程sub1,作为返回值,主程序接收子例程sub1从第m阈值用图像生成的差分图像。
在执行了步骤s21之后,对作为返回值的差分图像执行步骤s915。在步骤s915中,判断差分图像的所有像素的像素值是否比第m检查阈值小。在该判断结果为“是”的情况下,确认:对该差分图像无法如上所述选出如图6(c)中用双重框所示那样的检查对象区域。该情况下,向步骤s916前进。
在步骤s916中,对寄存器m所储存的对称轴的编号是否达到了对称轴的数即c进行判断。寄存器m在图25的步骤s907中被每次加上1。与该被加上1后的寄存器m的值对应的原图像,如上所述通过步骤s912到步骤s21被处理而生成差分图像。并且在步骤s915中,判断差分图像的所有像素的像素值是否比第m检查阈值小。步骤s916中的判断无非就是是否与检查对象工件的图像所具有的所有c个对称轴对应地进行了上述步骤s915的判断的判断。在该步骤s916的判断结果为“否”的情况下,因为未对与所有对称轴对应的差分图像均进行了步骤s915的判断,所以经由被记载了跳转目的地编号208的连接符而跳转到图25的步骤s907。在该步骤s907中,对储存对称轴的数的寄存器m的值加上1。并且,与此前的说明同样地,在m的值变大了1的状态下再次执行图25的步骤s908到图26的步骤s915。若反复对m的值加上1,则步骤s916的判断结果成为“是”。该情况下向步骤s917前进。
在步骤s917中,对寄存器i所储存的合格品图像的编号是否达到了合格品图像的数即a进行判断。寄存器i在图25的步骤s902中被每次加上1。与该被加上1后的寄存器i的值对应的合格品图像,如上所述通过图25的步骤s903到图26的步骤s916被处理。并且,判断了该合格品图像的与所有对称轴对应的差分图像的所有像素的像素值是否比第m检查阈值小。步骤s917中的判断无非就是对于所有a个合格品图像、是否确认了与所有对称轴对应的差分图像的所有像素的像素值比第m检查阈值小的判断。在该步骤s917的判断结果为“否”的情况下,对于所有a个合格品图像、没有确认与所有对称轴对应的差分图像的所有像素的像素值比第m检查阈值小。因此,经由被记载了跳转目的地编号207的连接符而跳转到图25的步骤s902。在该步骤s902中,对储存合格品图像的数的寄存器i的值加上1。
并且,与此前的说明同样地在i的值变大了1的状态下,再次执行图25的步骤s903到图26的步骤s916的步骤。若反复对i的值加上1,则图26的步骤s917的判断结果成为“是”。该情况下结束步骤s9,经由图14(a)的最下部所示的被记载了跳转目的地编号101的连接符而跳转到图14(b)的步骤s10。但是,如上所述图14(a)为阈值设定模式,图14(b)为检查执行模式。因而,在结束了步骤s9的阶段将阈值设定模式结束,并开始检查执行模式。
另一方面,在图26中步骤s915的判断结果为“否”的情况意味着:若对合格品图像应用第m检查阈值,则检查对象区域被选出。于是向步骤s918前进,调查检查对象区域被选出的原因并进行将该原因去除的应对。在进行了应对之后,经由被记载了跳转目的地编号201的连接符而跳转到图15的已知工件拍摄步骤(s1)的步骤s103。并且再次执行图14(a)所示的阈值设定模式。在该再次的执行中,在图24的阈值图像生成步骤(s8)中的步骤s802到s805中选出第m阈值图像和第m阈值用单色图像,并设定第m检查阈值。并且再次在图26的步骤s915中,判断差分图像的所有像素的像素值是否比第m检查阈值小。到该判断结果成为“是”为止,反复进行步骤s918的原因调查及应对、和阈值设定模式的再次执行。如果判断结果成为“是”,则如上所述到步骤s916的判断和步骤s917的判断均成为“是”为止,执行阈值确认步骤(s9)。当s917的判断结果成为“是”时,如上所述结束步骤s9并结束阈值设定模式。并且跳转到图14(b)所示的检查执行模式的步骤s10。
接着利用图14(b)和图27到图31对检查执行模式进行说明。
(5.9)步骤s10
在图14(b)中步骤s10为被检查工件拍摄步骤,对被检查工件进行拍摄。将被检查工件拍摄步骤(s10)的详细流程图示于图27。
在图27所示的步骤s1001中,对被检查工件进行拍摄。当步骤s1001结束时将步骤s10结束、并向图14(b)所示的步骤s2前进。在图14(b)中步骤s2为检查对象工件提取步骤,与图14(a)所示的步骤s2为同一步骤。即、利用模板匹配法从被检查工件的图像中搜索并确定工件的最外缘,并生成检查对象工件的图像。若步骤s2结束,则向图14(b)所示的步骤s11前进。
(5.10)步骤s11
在图14(b)中步骤s11为被检查单色图像生成步骤,从在步骤s2生成的检查对象工件的图像生成单色图像。将被检查单色图像生成步骤(s11)的详细流程图示于图28。
在图28所示的步骤s1101中,在寄存器m储存0,并使寄存器m初始化。在此,寄存器m为存储在后续的步骤s1102以后的被检查单色图像生成步骤和图14(b)所示的后续的步骤s12和s13中执行处理期间的单色图像中的对称轴的编号的寄存器。该对称轴的编号例如在作为前步骤的图14(a)的阈值设定模式中的步骤s4(对称性判断步骤)中设定。具体而言,在图18所示的对称性判断步骤(s4)的步骤s402中,寄存器c储存有对称轴的数。该寄存器c的值,在该步骤s402中被设定了之后,维持该值。
接着在步骤s1102中,将对于检查对象工件的图像的所有像素、把像素值置换成最大像素值后的图像,储存于前图像这一名称的寄存器。以下对该寄存器前图像的作用进行说明。
已经利用图5对本发明的图像处理算法进行了说明。在该说明中,定义了图5(a)所示的作为2个对称轴的第1直线l1和第2直线l2。与上述对称轴对应的差分图像为图5(b)和图5(c)。并且,将从每个差分图像即图5(b)和图5(c)的所有像素之中选出的离开像素,通过以双重框包围像素值的方式显示于图6(a)和图6(b)。在选出了上述离开像素之后,选出图6(a)和图6(b)所示的离开像素的共同部分,并将该共同部分设为检查对象区域。该图6中的离开像素的共同部分的选出为如下概念:同时生成与多个对称轴对应的差分图像,在从各差分图像选出了离开像素之后,选出每个离开像素的共同部分。但是,在利用软件来进行与多个对称轴对应的处理的同时即并行地执行并不现实。其原因是因为:为了进行这样的并行处理,需要确保用于存储多个差分图像的所有像素值的巨大的存储区域,而且需要进行向该存储区域的像素值的写入和读出的步骤。因此,在利用了本发明的图像处理算法的缺陷检查方法中,为了通过软件执行图5(b)到图6(c)的步骤,决定采用以下的方法。
首先从主程序作为自变量将原图像(从检查对象工件的图像生成的单色图像)和第1对称轴的一端(onem)及另一端(otem)的坐标发送给图20所示的子例程sub1。子例程sub1基于原图像生成与第1对称轴对应的差分图像,将差分图像作为返回值返回给该主程序。主程序对于接收到的差分图像利用在阈值设定模式下设定的第m检查阈值来选出离开像素。该离开像素的配置位置成为与第1的对称轴对应的检查对象区域。
接着,通过对储存有对称轴的编号的寄存器m加上1,从而成为m=2。由此,接着,从主程序发送给子例程sub1的自变量成为与第2对称轴有关的量。并且同样地在子例程sub1中,基于原图像来进行与第2对称轴对应的差分图像的生成。并且同样地在主程序中,进行与第2对称轴对应的检查对象区域的选出。
并且,将与第2对称轴对应的检查对象区域和刚刚选出的与第1的对称轴对应的检查对象区域的共同部分设为新的检查对象区域。即、将与第(m+1)对称轴和第m对称轴对应的2个检查对象区域的共同部分设为新的检查对象区域。当考虑这样的步骤时,需要在到选出与第(m+1)对称轴对应的检查对象区域为止的期间,预先将与第m对称轴对应的检查对象区域储存于寄存器。预先以前图像这一名称确保该寄存器并在该寄存器中作为初始值而储存有检查对象工件的图像的步骤是上述的步骤s1102。在此,在步骤s1102储存有对于检查对象工件的图像的所有像素将像素值置换成最大像素值后的图像。以下对其原因进行叙述。
如上所述,所谓检查对象区域是在检查对象工件的图像中有可能存在缺陷的区域即应进行缺陷检查的区域。因此,作为对检查对象工件的图像进行缺陷检查时的参照用图像,需要生成能够明确识别检查对象区域和该检查对象区域以外的区域的图像。因此在本发明中,作为所述参照用图像而生成检查用图像。检查用图像作为在检查对象区域配置具有最大像素值的像素、在检查对象区域以外的区域配置具有最小像素值的像素的图像而生成。为了与此对应,首先生成检查对象工件的图像中所有的区域成为检查对象区域的图像来作为前图像的初始值(以下称为初始前图像)。该初始前图像在图28的步骤s1102中被储存于寄存器前图像。并且如上所述,在后续的步骤中选出作为与检查对象工件的图像所具有的对称轴(c个)中的第1对称轴对应的检查对象区域的离开像素。
接着,选出与该第1对称轴对应的检查对象区域和初始前图像中的检查对象区域的共同部分。并且生成作为检查对象区域而具有该共同部分的新的前图像。之后,将该新的前图像的生成称为前图像的更新。在此,在与第1对称轴对应的前图像的更新时,对于与第1对称轴对应的检查对象区域和初始前图像的检查对象区域,也未必一定不能选出共同部分。其条件为初始前图像的所有区域成为检查对象区域。因此,在步骤s1102中储存于寄存器前图像的初始前图像以使得所有的区域成为检查对象区域的方式将所有像素值设为最大像素值。并且,在与第1对称轴对应地更新了前图像之后,对储存了对称轴的编号的寄存器m加上1并执行同样的步骤。到寄存器m达到上述对称轴的数c为止反复。并且在达到了c的时刻,将最后更新了的前图像设为检查用图像即可。
在这样在图28的步骤s1102中进行了寄存器前图像的初始化之后,向步骤s1103前进。在步骤s1103中,对储存了对称轴的编号的寄存器m的值加上1。接着在步骤s1104到s1108中,生成被检查单色图像并储存于寄存器原图像。上述步骤中的步骤s1104到步骤s1107,分别与图25所示的阈值确认步骤(s9)中的步骤s908到s911相同。因而,省略详细说明。在步骤s1108中,当将被检查单色图像储存于寄存器原图像时结束步骤s11,并向图14(b)所示的步骤s5前进。
在图14(b)中步骤s5为差分算出步骤,接着步骤s5的步骤s6为差分图像生成步骤。上述步骤如上所述利用图19和图20的子例程sub1,从在上述图28的步骤s1108中设定的原图像生成差分图像。因此,省略详细的说明。在图14(b)中当结束步骤s5和步骤s6时向步骤s12前进。
(5.11)步骤s12
在图14(b)中步骤s12为检查区域选出步骤,使用在步骤s6中生成的差分图像来生成具有成为检查对象区域的候选的区域的区域候选图像。将检查区域选出步骤(s12)的详细流程图示于图29。
在图29的步骤s1201中,在差分图像的所有像素之中选出具有比第m检查阈值大的像素值的像素来作为检查区域像素。该步骤为与从差分图像的所有像素之中选出图5(d)(e)所示的离开像素相同的内容。不过,该步骤s1201为作为用于选出检查对象区域的准备的步骤,因此将选出的像素的名称定为检查区域像素。在步骤s1201中选出了检查区域像素之后,向步骤s1202前进。
步骤s1202为用于生成上述的明确识别检查对象区域和该检查对象区域以外的区域的图像、即检查用图像的前步骤。首先,将差分图像区分成检查区域像素和检查区域像素以外的像素。接着,在检查区域像素的位置配置具有最大像素值的区域指定像素,并且在检查区域像素以外的像素的位置配置具有最小像素值的检查外像素,生成区域候选图像。通过该步骤所生成的区域候选图像,能够通过检查区域像素的像素值与检查外像素的像素值的对比来明确地识别检查对象区域与检查对象区域以外的区域。当在步骤s1202中生成了区域候选图像时将步骤s12结束,向图15(b)所示的步骤s13前进。
(5.12)步骤s13
步骤s13为检查用图像生成步骤,基于在步骤s12中生成的区域候选图像生成检查用图像。将检查用图像生成步骤(s13)的详细流程图示于图30。
图30的步骤s1301中对于前图像和区域候选图像选出成为区域指定像素的共同部分的共同指定像素。如上所述,该步骤是用于每当与对称轴对应地生成检查对象区域时、选出该生成的检查对象区域与前图像的共同部分并对前图像进行更新的步骤。在该步骤s1301中选出了共同指定像素即共同部分之后,向步骤s1302前进。
在步骤s1302中在共同指定像素的位置配置具有最大像素值的共同指定像素,并且将共同指定像素以外的像素的像素值设为最小像素值来生成更新候选图像。在该步骤s1302中,与前图像中具有最大像素值的像素所配置的位置无关,将在步骤s1301中选出的共同指定像素以外的像素的像素值设为最小像素值。即、即使是前图像中具有最大像素值的像素所配置的位置,当在步骤s1301中选出的共同指定像素没有被配置于该位置时,配置于该位置的像素的像素值也被更新成最小像素值。这样前图像的更新完成,更新后的图像成为更新候选图像。在步骤s1302中生成了更新候选图像之后,向步骤s1303前进。
在步骤s1303中,将更新候选图像储存于寄存器前图像。接着在步骤s1304中,对寄存器m所储存的对称轴的编号是否达到了对称轴的数即c进行判断。寄存器m在图28所示的被检查单色图像生成步骤(s11)的步骤s1103中被每次加上1。与该被加上1后的寄存器m的值对应的原图像,如上所述通过图28的步骤s1104到步骤s1108和图29以及图30的步骤s1301到步骤s1303而被处理。并且在图30的步骤s1303中,前图像被更新。步骤s1304中的判断无非就是是否与被检查单色图像所具有的所有c个对称轴对应地进行了前图像的更新的判断。在该判断结果为“否”的情况下,没有进行与所有对称轴对应的前图像的更新,所以经由被记载了跳转目的地编号210的连接符而跳转至图28(被检查单色图像生成步骤(s11))的步骤s1103。
在该步骤s1103中,对储存对称轴的数的寄存器m的值加上1。并且与此前的说明同样地,在m的值变大了1的状态下再次执行图28的步骤s1104到步骤s1108和图29以及图30的步骤s1301到步骤s1303所记载的步骤。若反复对m的值加上1,则图30(检查用图像生成步骤(s13))的步骤s1304的判断结果成为“是”。该情况下向步骤s1305前进。
在该步骤s1305中,将更新候选图像储存于检查用图像这一名称的寄存器。由此,检查用图像的生成完成。并且步骤s13结束,向图14(b)所示的步骤s14前进。
(5.13)步骤s14
图14(b)中的步骤s14为检查执行步骤,基于在步骤s13中生成的检查用图像来执行对于检查对象工件的图像的缺陷检查。将检查执行步骤(s14)的详细流程图示于图31。
在图31的步骤s1401中,取出检查对象工件的图像,一边参照检查用图像的检查对象区域一边对该区域进行缺陷检查。具体而言,将检查用图像中最大像素值所配置的区域设为检查对象工件中的检查对象区域。并且,对该区域执行缺陷检查。在缺陷检查中应用的方法,使用对于作业人员而言已知的任意方法即可。
使用了上述的本发明中的图像处理算法的缺陷检查方法,与现有技术中的缺陷检查方法相比,在以下方面优异。首先,作业人员目视拍摄图像来判断的项目极少、而且该判断的判断基准也不以作业人员的熟练为前提。
在现有技术中的缺陷检查方法中,作业人员目视成为缺陷检查的对象的工件的图像。并且,对图像中成为缺陷检查的对象的检查对象区域、和不成为缺陷检查的对象的排除区域进行确认。并且,关于各区域的配置对相互关系进行确认、并且关于构成各区域的像素的像素值对大小关系进行确认。接着在考虑了上述配置的相互关系和像素值的大小关系的基础上,设定用于分选检查对象区域和排除区域的阈值来分选检查对象区域。另外,在从彩色图像生成了多个单色图像的情况下,作业人员目视各单色图像。并且将上述各区域间的亮度进行比较,并选择判断为能够最明确地识别缺陷的1个单色图像。并且,对该选择出的单色图像,进行上述阈值的设定和检查对象区域的分选。
相对于此,本发明的图像处理算法以及使用了其的缺陷检查方法,用于工件的图像关于特定的直线为线对称的情况。首先,获取关于对称轴而配置于对称位置的像素的像素值的差分、并生成差分图像。接着,从构成差分图像的像素的像素值中选出具有比预先设定的阈值大的像素值的像素,并选出将该像素所配置的部位来作为检查对象区域。在对称轴为多个的情况下,将与各个对称轴对应的检查对象区域的共同部分设为最终的检查对象区域。另外,在从彩色图像生成了多个单色图像的情况下,对于从各单色图像生成的差分图像的像素,对像素值执行预先规定的运算。并且将各差分图像的运算结果进行比较,选出对于设定阈值而言最佳的1个单色图像。利用该单色图像,来设定上述的预先设定了阈值。
该算法以及使用该算法的缺陷检查方法,几乎不存在作业人员目视工件的图像来进行任何判断的步骤。因此,没有如现有技术中的缺陷检查方法那样要求作业人员熟练,作业人员的负担变小。而且,容易通过软件使算法自动化并执行缺陷检查,因此与现有技术中的缺陷检查相比检查速度格外提高,并且不易受作业人员的熟练度的差异影响。