图像处理装置、设定辅助方法以及电脑可读取记录媒体与流程

文档序号:17050546发布日期:2019-03-05 20:03阅读:131来源:国知局
图像处理装置、设定辅助方法以及电脑可读取记录媒体与流程

本发明涉及一种用来辅助对图像处理程序设定参数的技术,尤其涉及一种图像处理装置、设定辅助方法以及电脑可读取记录媒体。



背景技术:

近年来,开发了用来从图像中搜索对象物的各种图像处理程序。例如,日本专利特开2017-041190号公报(专利文献1)中公开了一种方法,其通过利用粗-精搜索法(coarse-to-finesearchmethod)的图像处理程序从图像中检测工件。粗-精搜索法是如下算法:由输入图像生成分辨率不同的图像族群,从分辨率较低的图像起依次对搜索对象物进行搜索,一边基于各图像中的搜索结果来限定分辨率高一级的图像中的搜索范围一边搜索对象物。

[背景技术文献]

[专利文献]

[专利文献1]日本专利特开2017-041190号公报



技术实现要素:

[发明欲解决的课题]

用户为了调整搜索精度或处理时间等,必须对粗-精搜索法等图像处理程序设定各种参数。此时,用户必须详细地理解图像处理程序的内容。然而,由于内部处理被黑箱化(blackbox),所以用户无法容易地理解该如何设定哪种参数。如果应设定的参数的种类变多,那么会更难调整参数。因此,业界期待一种用来辅助对图像处理程序设定参数的技术,该图像处理程序是用来从图像中搜索对象物。

[解决课题的手段]

根据一方式,图像处理装置包括:图像取得部,用来取得包含搜索对象物的输入图像;程序执行部,用来对使用由所述输入图像生成的分辨率不同的图像族群来搜索所述搜索对象物的图像处理程序,应用预先规定的一个以上的参数族群的每一个,针对所述一个以上的参数族群分别取得由所述图像处理程序获得的搜索结果,并且针对所述一个以上的参数族群分别取得在执行所述图像处理程序的过程中获得的所述图像族群;合成部,用来由所述取得的一个以上的图像族群分别生成合成图像;显示部,用来显示所述生成的一个以上的合成图像,并且将所述取得的一个以上的搜索结果分别重叠显示在该一个以上的合成图像上;操作受理部,用来受理选择显示在所述显示部的一个以上的合成图像中的任一个的操作;以及设定部,用来将与由所述操作选择出的合成图像对应的参数族群设定到所述图像处理程序中。

根据一方式,所述图像处理程序是在由所述输入图像生成的分辨率不同的图像族群中,从分辨率较低的图像起依次搜索所述搜索对象物,一边基于各图像中的搜索结果来限定分辨率高一级的图像中的搜索范围一边搜索所述搜索对象物。

根据一方式,应用于所述图像处理程序的参数族群包含阈值族群,该阈值族群应用于由所述输入图像生成的分辨率不同的图像族群的各图像中,且用来判断在各图像内是否包含所述搜索对象物。

根据一方式,所述显示部还显示针对一个以上的参数族群的每一个的评估值。

根据一方式,所述合成部是在将由所述输入图像生成的分辨率不同的图像族群的分辨率调合之后,由该图像族群生成合成图像。

根据一方式,所述图像处理程序是针对由所述输入图像生成的分辨率不同的图像族群,利用表现边缘的像素与未表现边缘的像素进行二值化。所述合成部在使所述二值化后的图像族群的分辨率一致之后,对该图像族群的同一坐标的各像素值执行与(and)运算,该与运算的结果为输出所述合成图像。

根据一方式,所述图像处理程序是针对由所述输入图像生成的分辨率不同的图像族群,利用表现边缘的像素与未表现边缘的像素进行二值化。所述合成部在使所述二值化后的图像族群的分辨率一致之后,对该图像族群的同一坐标的各像素值执行或(or)运算,该或运算的结果为输出所述合成图像。

根据一方式,所述图像处理程序是针对由所述输入图像生成的分辨率不同的图像族群,利用表现边缘的像素与未表现边缘的像素进行二值化。所述合成部在使所述二值化后的图像族群的分辨率一致之后,将该图像族群的同一坐标的各像素以不丢失像素值信息的方式合成,该合成结果为输出所述合成图像。

根据一方式,应用于所述图像处理程序的参数族群包含阈值族群,该阈值族群应用于由所述输入图像生成的分辨率不同的图像族群的各图像中,且用来判断各图像内的各像素是否为表现边缘的像素。

根据一方式,设定辅助方法用来辅助对图像处理程序设定参数,且包括如下步骤:取得包含搜索对象物的输入图像;对使用由所述输入图像生成的分辨率不同的图像族群来搜索所述搜索对象物的图像处理程序,应用预先规定的一个以上的参数族群的每一个,针对所述一个以上的参数族群分别取得由所述图像处理程序获得的搜索结果,并且针对所述一个以上的参数族群分别取得在执行所述图像处理程序的过程中获得的所述图像族群;由所述取得的一个以上的图像族群分别生成合成图像;显示所述生成的一个以上的合成图像,并且将所述取得的一个以上的搜索结果分别重叠显示在该一个以上的合成图像上;受理选择显示在所述显示部的一个以上的合成图像中的任一个的操作;以及将与由所述操作选择出的合成图像对应的参数族群设定到所述图像处理程序中。

根据一方式,设定辅助程序用来辅助对图像处理程序设定参数,且使图像处理装置执行如下步骤:取得包含搜索对象物的输入图像;对使用由所述输入图像生成的分辨率不同的图像族群来搜索所述搜索对象物的图像处理程序,应用预先规定的一个以上的参数族群的每一个,针对所述一个以上的参数族群分别取得由所述图像处理程序获得的搜索结果,并且针对所述一个以上的参数族群分别取得在执行所述图像处理程序的过程中获得的所述图像族群;由所述取得的一个以上的图像族群分别生成合成图像;显示所述生成的一个以上的合成图像,并且将所述取得的一个以上的搜索结果分别重叠显示在该一个以上的合成图像上;受理选择显示在所述显示部的一个以上的合成图像中的任一个的操作;以及将与由所述操作选择出的合成图像对应的参数族群设定到所述图像处理程序中。

[发明的效果]

在一方式中,能够辅助对用来从图像中搜索对象物的图像处理程序设定参数。

附图说明

图1是表示实施方式的图像处理系统的整体构成的一例的图。

图2是概略性地表示辅助对金字塔算法(pyramidalgorithm)设定参数的概念图。

图3是表示参数族群的数据结构的一例的图。

图4是概略性地表示金字塔算法的概念图。

图5是概略性地表示由合成部进行金字塔图像的合成处理的概念图。

图6是表示显示部的显示方式的一例的图。

图7是概略性地表示变形例1的合成处理的概念图。

图8是概略性地表示变形例2的合成处理的概念图。

图9是概略性地表示变形例3的合成处理的概念图。

图10是概略性地表示像素族群的合成处理的图。

图11是表示实施方式的图像处理装置的硬件构成的一例的示意图。

图12是表示实施方式的图像处理装置所执行的处理的一部分的流程图。

[符号的说明]

1:图像处理系统;

5:plc;

6:搬送机构;

8:拍摄部;

20:图像处理程序;

22:设定参数;

28a、28b、28c:参数族群;

30、40:输入图像;

31:模板族群;

31a、31b、31c:模板;

32a、32b、32c:金字塔图像;

33a、33b、33c、47a、48a:搜索结果;

34a、34b、34c、46、46-1、46-2、46-3、47、48:合成图像;

41、42、43、44、51、52、53、54:图像;

41a、41b、42a、42b、43a:图像区域;

45:中间图像;

51a、52a、53a、54a、56:像素;

100:图像处理装置;

102:显示部;

104:键盘;

106:存储卡;

110:控制装置;

112:ram;

114:显示控制器;

116:系统控制器;

118:i/o控制器;

120:存储装置;

122:相机接口;

124:输入接口;

126:plc接口;

128:通信接口;

130:存储卡接口;

151:程序执行部;

152:合成部;

153:设定部;

th1、th2、th3、th4:搜索阈值;

tha、thb、thc、thd:边缘阈值;

w:工件;

s110、s112、s114、s120、s122、s130、s132:步骤。

具体实施方式

以下,一边参照附图,一边对本发明的各实施方式进行说明。在以下的说明中,对于相同的零件及构成要素标注相同的符号。它们的名称及功能也相同。因此,关于它们的详情不重复说明。此外,以下所说明的各实施方式及各变形例也可以适当地选择性组合。

<a.图像处理系统1的构成>

参照图1,对图像处理系统1的整体构成进行说明。图1是表示本实施方式的图像处理系统1的整体构成的一例的图。

图像处理系统1包含图像处理装置100、可编程逻辑控制器(programmablelogiccontroller,plc)5以及拍摄部8(图像取得部)作为主要组成,图像处理装置100也被称为视觉传感器,可编程逻辑控制器5能够与图像处理装置100进行通信,拍摄部8连接于图像处理装置100。

可编程逻辑控制器5与图像处理装置100配合地对搬送机构6等进行控制。作为一例,拍摄部8除了透镜等光学系统以外,还包含电荷耦合器件(coupledchargeddevice,ccd)或互补金属氧化物半导体(complementarymetaloxidesemiconductor,cmos)传感器等被划分为多个像素的拍摄元件而构成。拍摄部8对由搬送机构6搬送的工件w依次进行拍摄。由拍摄部8拍摄取得的输入图像被传送给图像处理装置100。

图像处理装置100是通过执行用来从图像中搜索对象物的规定图像处理程序,而在由拍摄部8获得的输入图像内搜索工件w。作为一例,图像处理装置100通过利用粗密搜索法的图像处理程序而从输入图像中搜索工件w。以下,将利用粗密搜索法的图像处理程序也称为“金字塔算法”。金字塔算法的详情将在下文叙述,它是由输入图像生成分辨率不同的图像族群,在所生成的图像族群中,从分辨率较低的图像起依次搜索所述搜索对象物。此时,金字塔算法是一边基于各图像中的搜索结果来限定分辨率高一级的图像中的搜索范围一边搜索对象物。以下,将在执行金字塔算法的过程中获得的分辨率不同的图像族群也称为“金字塔图像”。

图像处理装置100对从输入图像中搜索出的工件w执行图像处理程序,例如检查有无缺陷或污垢,测量工件w的大小或配置方向等,识别工件w表面上的字符或图形等。该执行结果例如显示在图像处理装置100的显示部102。

<b.辅助设定参数>

参照图2及图3,对辅助针对金字塔算法设定参数的方法进行说明。

图2是概略性地表示辅助针对金字塔算法设定参数的概念图。如图2所示,图像处理装置100包含显示部102、控制装置110以及存储装置120作为主要硬件。

控制装置110对图像处理装置100进行控制。控制装置110包含用来执行图像处理程序20的程序执行部151以及将在执行金字塔算法的过程中生成的金字塔图像合成的合成部152。

存储装置120包含用来执行金字塔算法的图像处理程序20、当前设定在图像处理程序20中的设定参数22、应用于图像处理程序20的成为候选的参数族群28a~参数族群28c、对工件w进行拍摄而获得的输入图像30以及在从输入图像30中搜索工件w时使用的模板族群31。

以下,也将参数族群28a~参数族群28c统称为参数族群28。此处所说的“参数族群”是指执行图像处理程序20所需的参数的集合。图3是表示参数族群28的数据结构的一例的图。如图3所示,参数族群28包含搜索阈值族群,该搜索阈值族群是应用于构成金字塔图像的各图像的阈值族群,用来判断在各图像内是否包含搜索对象物。另外,参数族群28包含边缘阈值族群,该边缘阈值族群是应用于构成金字塔图像的各图像的阈值族群,用来判断各图像内的各像素是否为表现边缘的像素。除此以外,还可将在执行金字塔算法时所利用的各种参数规定为参数族群28。关于参数族群28的使用方法将在下文叙述。

再次参照图2,模板族群31包括模板31a~模板31c。模板31a~模板31c既可以是预先对工件w进行拍摄而获得的基准图像,也可以是作为工件w的特征部分从基准图像中被抽取出的特征值。

本实施方式的图像处理装置100是辅助对金字塔算法设定参数。更具体来说,程序执行部151对用来执行金字塔算法的图像处理程序20,应用预先规定的多个参数族群28a~参数族群28c的每一个,针对各参数族群取得由图像处理程序20获得的搜索结果,并且针对各参数族群取得在执行图像处理程序20的过程中获得的金字塔图像32a~金字塔图像32c。

然后,合成部152由金字塔图像32a~金字塔图像32c分别生成合成图像34a~合成图像34c。显示部102显示所生成的合成图像34a~合成图像34c,并且将关于各参数族群的搜索结果33a~搜索结果33c重叠显示在合成图像34a~合成图像34c上。

作为一例,对于参数族群28a未从输入图像30中搜索工件w,而对于参数族群28b、28c从输入图像30中搜索出工件w。在该情况下,图像处理装置100只在参数族群28b、28c所对应的合成图像34b、34c上重叠显示搜索结果33b、33c。由此,用户能够容易地判断参数族群28a~参数族群28c是否良好。

图像处理装置100构成为能够选择所显示的合成图像34a~合成图像34c中的任一个。该选择操作例如通过图像处理装置100的操作受理部(例如鼠标、键盘、触摸面板等任意输入装置)而受理。图像处理装置100将与由用户操作选择出的合成图像对应的参数族群设定为图像处理程序20的设定参数22。在图2的例子中,选择了合成图像34b,将与合成图像34b对应的参数族群28b设定为设定参数22。

如上所述,用户能够通过在视觉上对各参数族群所生成的合成图像以及关于各参数族群的搜索结果进行确认,而直观地理解各参数族群是否良好。而且,用户可以选择能够获得良好的搜索精度的参数族群。由此,即便用户不了解图像处理程序20,也能够设定最佳的参数族群,从而可辅助对图像处理程序20设定参数。

优选为,显示部102还显示针对参数族群28a~参数族群28c各自的评估值。作为该评估值,例如,显示将参数族群28a~参数族群28c分别应用于图像处理程序20时的执行时间。更具体来说,图像处理装置100具有计数器等计时功能,针对各参数族群存储从开始图像处理程序到图像处理程序结束为止的执行时间。显示部102将关于各参数族群的执行时间与所对应的合成图像并排显示。

通常,如果搜索精度提高那么执行时间变长,如果执行时间变短那么搜索精度下降。用户可在视觉上对此种相反的指标进行比较,从而能够在综合考虑搜索精度及执行时间的基础上选择参数族群。由此,用户可容易地设定能够实现所期望的搜索精度与执行时间的最佳参数族群。

此外,以上是对显示图像处理程序20的执行时间作为关于各参数族群的评估值的例子进行了说明,但显示对象的评估值并不限定于执行时间。例如,也可以显示将各参数族群应用于图像处理程序20时的搜索对象物的搜索精度或检测率等作为针对各参数族群的评估值。更具体来说,图像处理装置100根据输入图像30生成多个人工图像。人工图像例如是通过使输入图像30的各像素位置错开,或者对输入图像30施加预定的环境变动而生成。图像处理装置100对所生成的各人工图像针对各参数族群执行搜索处理。图像处理装置100通过将对人工图像的搜索结果以参数族群为单位合计而特定出搜索精度或检测率。

另外,在图2中示出了存储有三个参数族群28的例子,但预先准备的参数族群的数量为任意。预先准备的参数族群的数量只要为两个以上即可。

<c.金字塔算法>

接着,参照图2以及图4对由程序执行部151执行的金字塔算法进行说明。图4是概略性地表示金字塔算法的概念图。

如图4所示,程序执行部151由输入图像30生成分辨率不同的图像族群(也就是金字塔图像32a)。换句话说,程序执行部151将输入图像30逐次缩小预定倍率(例如,1/2倍),将以各缩小率获得的图像生成为金字塔图像32a。在图4的例子中,由输入图像30生成了金字塔图像32a,金字塔图像32a包括分辨率不同的图像41~图像43(图像族群)。

程序执行部151在图像41~图像43中从分辨率较低的图像起依次对搜索对象物进行搜索。更具体来说,程序执行部151从模板族群31中取得与图像41的分辨率对应的模板31a。程序执行部151利用模板31a对图像41内进行扫描,算出图像41内的各区域与模板31a的相似度。作为该相似度的算出方法,例如,采用差值平方和(sumofsquareddifference,ssd)、绝对差值和(sumofabsolutedifference,sad)、归一化交叉相关(normalizedcross-correlation,ncc)、或零均值归一化交叉相关(zero-meannormalizedcross-correlation,zncc)等任意算法。程序执行部151从搜索范围内的各图像区域中,特定出相似度超过参数族群28a的搜索阈值th1的图像区域,将该图像区域作为包含搜索对象物的候选。在图4的例子中,将图像区域41a、41b特定为包含搜索对象物的图像区域的候选。

接着,程序执行部151从模板族群31中取得与图像42的分辨率对应的模板31b。然后,程序执行部151将与被特定为包含搜索对象物的候选的图像区域41a、41b对应的图像区域42a、42b设定为搜索范围。程序执行部151利用模板31b对该图像区域42a、42b进行扫描,算出图像区域42a、42b内的各区域与模板31b的相似度。程序执行部151从搜索范围内的各图像区域中,特定出相似度超过参数族群28a的搜索阈值th2的图像区域,将该图像区域作为包含搜索对象物的候选。在图4的例子中,将图像区域42a特定为包含搜索对象物的候选。

接着,程序执行部151从模板族群31中取得与图像43的分辨率对应的模板31c。然后,程序执行部151将与被特定为包含搜索对象物的候选的图像区域42a对应的图像区域43a设定为搜索范围。程序执行部151利用模板31c对该图像区域43a进行扫描,算出图像区域43a内的各区域与模板31c的相似度。程序执行部151从搜索范围内的各图像区域中,特定出相似度超过参数族群28a的搜索阈值th3的图像区域,将该图像区域作为包含搜索对象物的候选。

这样,程序执行部151在构成金字塔图像的各图像中从分辨率较低的图像起依次对搜索对象物进行搜索,一边基于各图像中的搜索结果来限定分辨率高一级的图像中的搜索范围一边对搜索对象物进行搜索。将最后剩余的候选作为搜索结果输出。作为一例,该搜索结果由输入图像30内的坐标值表示。

在图2的例子中,程序执行部151将参数族群28a应用于图像处理程序20,结果输出金字塔图像32a与搜索结果33a。同样地,程序执行部151将参数族群28b应用于图像处理程序20,结果输出金字塔图像32b与搜索结果33b。同样地,程序执行部151将参数族群28c应用于图像处理程序20,结果输出金字塔图像32c与搜索结果33c。金字塔图像32a~金字塔图像32c被输出到合成部152,搜索结果33a~搜索结果33c被输出到显示部102。

<d.合成处理>

接下来,参照图2以及图5和图6来说明合成部152对金字塔图像的合成处理。图5是概略性地表示合成部152对金字塔图像的合成处理的概念图。

此外,在图5的例子中,对映现有人物的金字塔图像进行合成处理,但也可以对映现有工件的金字塔图像进行合成处理。

图5中示出了由输入图像40生成的图像41~图像44。图像41~图像44是通过对由输入图像40生成的金字塔图像应用微分滤波器等边缘提取滤波器而获得。在图5的例子中,基于参数族群28的边缘阈值tha~边缘阈值thd,图像41~图像44被二值化为边缘部分与非边缘部分,边缘部分由白色表示,非边缘部分由黑色表示。典型来说,边缘部分的像素值由“1”规定,非边缘部分的像素值由“0”规定。

合成部152是由图像41~图像43生成中间图像45,并由中间图像45与图像44生成合成图像46。更具体来说,合成部152在将图像41~图像43的尺寸调合之后,合成同一坐标的像素值,而生成中间图像45。合成处理采用与运算、或运算、加法运算等任意运算。

然后,合成部152在将图像44与中间图像45的尺寸调合之后合成图像44及中间图像45,而生成合成图像46。此时,合成部152以表现出图像44与中间图像45之间的像素值差异的方式生成合成图像46。在分辨率较低的图像41~图像43中,边缘容易消失。对于合成图像46,以能够区分所述已消失的边缘的方式生成合成图像46。作为一例,对于在图像44与中间图像45中边缘均有效的部分,合成图像46的像素值为“2”,对于在图像44中边缘有效而在中间图像45中边缘无效的部分,合成图像46的像素值为“1”,对于在图像44与中间图像45中边缘均无效的部分,合成图像46的像素值为“0”。

<e.显示处理>

参照图6,对显示部102的显示处理进行说明。图6是表示显示部102的显示方式的一例的图。

显示部102显示由合成部152针对参数族群28a~参数族群28c分别生成的合成图像46~合成图像48。如上所述,合成图像46~合成图像48是以能够区分在执行金字塔算法的过程中已消失的边缘的方式生成。显示部102以能够区分所述已消失的边缘部分的方式显示合成图像46~合成图像48。在图6的例子中,在执行金字塔算法的过程中未消失的边缘部分由白色表示,在执行金字塔算法的过程中已消失的边缘部分由灰色表示,除此以外的部分由黑色表示。此外,这些差异也可以由其它颜色表示。通过这样显示,用户可容易地掌握搜索结果不佳的原因,从而可容易地判断各参数族群是否合适。

另外,显示部102将关于各参数族群的金字塔算法的搜索结果显示在对应的合成图像上。作为一例,关于参数族群28a未搜索到搜索对象物(例如,眼睛),而关于参数族群28b、28c搜索到搜索对象物。在该情况下,显示部102针对与参数族群28a对应的合成图像46不显示搜索结果,只在与参数族群28b、28c对应的合成图像47、48上显示搜索结果47a、48a。

<f.变形例>

在所述图5中,对合成部152由金字塔图像的一部分图像41~图像43生成中间图像45,由其余的图像44与中间图像45生成合成图像46的例子进行了说明,但合成部152的合成方法并不限定于图5的例子。例如,合成部152也可以在不生成中间图像45的情况下生成合成图像46。在该情况下,合成部152在将构成金字塔图像的各图像的分辨率调合之后由该图像族群生成合成图像。

以下,对合成部152的合成处理的变形例1、2依次进行说明。

图7是概略性地表示变形例1的合成处理的概念图。图7中示出了将金字塔图像(例如,图像41~图像44)逆转换为规定的同分辨率(同尺寸)的图像51~图像54。图像51~图像54被二值化为边缘部分与非边缘部分,边缘部分由白色表示,非边缘部分由影线表示。典型来说,边缘部分的像素值由“1”规定,非边缘部分的像素值由“0”规定。

合成部152在二值化后的图像51~图像54中对同一坐标的各像素值执行与运算,该与运算的结果是生成合成图像46-1。作为一例,如果着眼于图像51~图像54的同一坐标的像素51a~像素54a,那么像素51a的像素值为“0”,像素52a的像素值为“0”,像素53a的像素值为“1”,像素54a的像素值为“1”,所以与运算的结果成为“0”。结果,合成图像46-1中的与像素51a~像素54a对应的像素56成为“0”。合成部152对所有像素进行此种与运算。

这样,合成部152对分辨率一致的图像51~图像54的同一坐标的各像素值执行与运算,该与运算的结果是输出合成图像46-1。用户通过确认进行了与运算的合成图像46-1,可容易地掌握在所有层中边缘有效的部分。或者,用户可容易地掌握在各层的一部分中边缘无效的部分。

图8是概略性地表示变形例2的合成处理的概念图。图8表示了与图7所示的图像51~图像54相同的内容。

在本变形例中,合成部152在二值化后的图像51~图像54中对同一坐标的各像素值执行或运算,该或运算的结果是生成合成图像46-2。作为一例,如果着眼于图像51~图像54的同一坐标的像素51a~像素54a,那么像素51a的像素值为“0”,像素52a的像素值为“0”,像素53a的像素值为“1”,像素54a的像素值为“1”,所以或运算的结果成为“1”。结果,合成图像46-2中的与像素51a~像素54a对应的像素56成为“1”。合成部152对所有像素进行此种或运算。

这样,合成部152对分辨率一致的图像51~图像54的同一坐标的各像素值执行或运算,该或运算的结果是输出合成图像46-2。用户通过确认进行了或运算的合成图像46-2,可容易地掌握在一部分中边缘有效的部分。或者,用户可容易地掌握在所有层中边缘无效的部分。

图9是概略性地表示变形例3的合成处理的概念图。图9表示了与图7所示的图像51~图像54相同的内容。

在本变形例中,合成部152将分辨率一致的图像51~图像54的同一坐标的各像素以不丢失像素值信息的方式合成,该合成的结果是输出合成图像46-3。更具体来说,对合成图像46-3的各像素至少赋予与图像51~图像54相同数量的比特列。在合成图像46-3的各像素的第1比特,反映与金字塔图像的第1层对应的图像51的对应像素的像素值。在合成图像46-3的各像素的第2比特,反映与金字塔图像的第2层对应的图像52的对应像素的像素值。在合成图像46-3的各像素的第3比特,反映与金字塔图像的第3层对应的图像53的对应像素的像素值。在合成图像46-3的各像素的第4比特,反映与金字塔图像的第4层对应的图像54的对应像素的像素值。

作为一例,着眼于图像51~图像54的处于同一坐标的像素51a~像素54a,对本变形例中的合成处理进行说明。图10是概略性地表示像素51a~像素54a的合成处理的图。

对合成图像46-3的与像素51a~像素54a为同一坐标的像素56,赋予与图像51~图像54相同数量的比特列。在图10的例子中,对合成图像46-3的像素56赋予4比特的比特列。在合成图像46-3的像素56的第1比特,反映第1层的图像51的像素51a的值。例如,当像素51a的值为“0”时,在像素56的第1比特反映“0”。在合成图像46-3的像素56的第2比特,反映第2层的图像52的像素52a的值。例如,当像素52a的值为“0”时,在像素56的第2比特反映“0”。在合成图像46-3的像素56的第3比特,反映第3层的图像53的像素53a的值。例如,当像素53a的值为“1”时,在像素56的第3比特反映“1”。在合成图像46-3的像素56的第4比特,反映第4层的图像54的像素54a的值。例如,当像素54a的值为“1”时,在像素56的第4比特反映“1”。结果,合成图像46-3的像素56的比特列成为(1,1,0,0)。

合成部152对图像51~图像54间的同一坐标的各像素执行此种合成处理。结果,生成图9所示的合成图像46-3。通过此种合成处理,合成部152能够以在二值化后的图像51~图像54中不丢失各像素的像素值信息的方式进行合成。

图像处理装置100将所生成的合成图像46-3以规定显示方式显示。作为一例,图像处理装置100根据像素值的大小改变颜色深浅而显示合成图像46-3。或者,预先对各像素值关联不同的颜色,图像处理装置100根据像素值的大小改变颜色而显示合成图像46-3。通过像这样显示合成图像46-3,用户能够容易地确认在哪个层级丢失了边缘信息,从而容易进行程序解析。

此外,在上文所述中,以合成部152在进行二值化之后生成合成图像46为前提进行了说明,但合成部152也可以在不进行二值化的情况下生成合成图像46。在该情况下,合成部152是在使由输入图像40生成的金字塔图像的分辨率一致之后合成同一坐标的像素值。该合成处理采用的是利用最大像素值的max运算、利用最小像素值的min运算、像素值的加法运算等任意运算。

优选为,图像处理装置100预先存储各层中的图像51~图像54的二值化结果。由此,能够容易地分析在哪一层中边缘有效或者无效。

<g.图像处理装置100的构成>

参照图11,对图1所示的图像处理装置100的硬件构成进行说明。图11是表示本实施方式的图像处理装置100的硬件构成的一例的示意图。

图像处理装置100典型来说具有依据通用的计算机体系结构的构造,通过由处理器执行预先安装的程序,而实现如下所述的各种图像处理。

更具体来说,图像处理装置100包含中央处理器(centralprocessingunit,cpu)或微处理器(micro-processingunit,mpu)等控制装置110、随机存取存储器(randomaccessmemory,ram)112、显示控制器114、系统控制器116、输入输出(inputoutput,i/o)控制器118、存储装置120、相机接口122、输入接口124、可编程逻辑控制器接口126、通信接口128以及存储卡接口130。所述各部分以系统控制器116为中心,能够相互进行数据通信地连接。

控制装置110与系统控制器116之间交换程序(码)等,通过以规定顺序执行这些程序(码)等而实现目标运算处理。系统控制器116与控制装置110、随机存取存储器112、显示控制器114及输入输出控制器118分别经由总线而连接,系统控制器116与所述各部分之间进行数据交换等,并且负责图像处理装置100整体的处理。

随机存取存储器112典型来说为动态随机存取存储器(dynamicrandomaccessmemory,dram)等易失性存储器,保存从存储装置120读出的程序、或由拍摄部8取得的输入图像、对输入图像的处理结果以及工件数据等。

显示控制器114与显示部102连接,根据来自系统控制器116的内部指令,将用来显示各种信息的信号输出到显示部102。显示部102作为一例,包含液晶显示器或有机电致发光(electroluminescence,el)显示器等。

输入输出控制器118控制与连接在图像处理装置100的记录媒体或外部机器之间的数据交换。更具体来说,输入输出控制器118与存储装置120、相机接口122、输入接口124、可编程逻辑控制器接口126、通信接口128以及存储卡接口130连接。

存储装置120典型来说为非易失性磁存储装置,除了存储由控制装置110执行的图像处理程序20以外,还存储各种设定值等。进而,在存储装置120中,存储由拍摄部8获得的输入图像。此外,也可以代替存储装置120,而采用闪存等半导体存储装置或数字多用途光盘随机存取存储器(digitalversatilediskrandomaccessmemory,dvd-ram)等光学存储装置。

相机接口122相当于受理通过对工件w(搜索对象物)进行拍摄而生成的图像数据的输入部,对控制装置110与拍摄部8之间的数据传送起媒介作用。更具体来说,相机接口122能够与一个以上的拍摄部8连接,从控制装置110经由相机接口122对拍摄部8输出拍摄指示。由此,拍摄部8对被摄体进行拍摄,将所生成的图像经由相机接口122输出到控制装置110。

输入接口124对控制装置110与键盘104、鼠标、触摸面板、专用操作台等输入装置之间的数据传送起媒介作用。也就是说,输入接口124受理通过用户对输入装置进行操作而给出的操作指令。

可编程逻辑控制器接口126对控制装置110与可编程逻辑控制器5之间的数据传送起媒介作用。更具体来说,可编程逻辑控制器接口126将有关由可编程逻辑控制器5控制的生产线状态的信息或有关工件w的信息等传送给控制装置110。

通信接口128对控制装置110与未图示的其它个人计算机或服务器装置等之间的数据传送起媒介作用。通信接口128典型来说包括以太网(注册商标)或通用串行总线(universalserialbus,usb)等。此外,如下所述,也可以代替将存储在存储卡106中的程序安装在图像处理装置100的方式,而经由通信接口128将从分发服务器等下载的程序安装在图像处理装置100。作为一例,通信接口128从拍摄部8或可编程逻辑控制器5等接收表示拍摄部8状态的信号。该信号表示拍摄部8是否处于拍摄过程中。

存储卡接口130对控制装置110与作为电脑可读取记录媒体的存储卡106之间的数据传送起媒介作用。也就是说,存储卡106以其中存储着由图像处理装置100执行的图像处理程序20等的状态流通,存储卡接口130从该存储卡106读出图像处理程序20。另外,存储卡接口130应答控制装置110的内部指令,将由拍摄部8取得的相机图像和/或图像处理装置100中的处理结果等写入到存储卡106。此外,存储卡106包括安全数字卡(securedigital,sd)等通用的半导体存储元件、或软盘(flexibledisk)等磁记录媒体、或只读光盘存储器(compactdiskreadonlymemory,cd-rom)等光学记录媒体等。

当利用如上所述的具有依据通用的计算机体系结构的构造的计算机时,除了安装用来提供有关本实施方式的功能的应用程序以外,还可以安装用来提供计算机的基本功能的操作系统(operatingsystem,os)。在该情况下,本实施方式的图像处理程序也可以将作为操作系统的一部分而提供的程序模块中所需要的模块以规定顺序和/或时点叫出而执行处理。也就是说,本实施方式的程序本身有时候不包含如上所述的模块,而需要与操作系统协作地执行处理。因此,本实施方式的图像处理程序也可以为不包含所述一部分模块的方式。

进而,本实施方式的图像处理程序也可以组入到其它程序的一部分中而被提供。在该情况下,程序本身也不包含所述被组合的其它程序中所包含的模块,而与该其它程序协作地执行处理。也就是说,本实施方式的图像处理程序也可以为组入到所述其它程序中的方式。

此外,也可以代替地将通过执行图像处理程序而提供的功能的一部分或全部作为专用的硬件电路安装。

<h.图像处理装置100的控制结构>

参照图12,对图像处理装置100的控制结构进行说明。图12是表示图像处理装置100所执行的一部分处理的流程图。图12的处理是通过由图像处理装置100的控制装置110执行程序而实现。在其它方式中,处理的一部分或全部也可以由电路元件或其它硬件来执行。

在步骤s110中,控制装置110取得设定在图像处理程序20的成为候选的多个参数族群。这些参数族群的候选既可以预先准备,也可以由用户任意设定,还可以随机设定。

在步骤s112中,控制装置110作为程序执行部151(参照图2),将步骤s110中取得的参数族群中未应用的参数族群应用于图像处理程序20。然后,控制装置110执行图像处理程序20,取得在执行该图像处理程序20的过程中生成的金字塔图像以及作为执行结果的搜索结果。优选为,控制装置110还取得从开始执行图像处理程序20到图像处理程序20结束为止的执行时间。

在步骤s114中,控制装置110作为合成部152(参照图2),由步骤s112中所获得的金字塔图像生成合成图像。合成图像的生成方法与图5、图7、图8中所说明的方法相同,所以不重复说明。

在步骤s120中,控制装置110判断是否对步骤s110中取得的所有参数族群执行了图像处理程序20。当判断为已对所有参数族群执行了图像处理程序20时(步骤s120中为是(yes)),控制装置110将控制切换到步骤s122。当判断为未对所有参数族群执行图像处理程序20时(步骤s120中为否(no)),控制装置110将控制返回到步骤s112。

在步骤s122中,控制装置110将应用了各参数族群而获得的合成图像显示在显示部102,并且将关于各参数族群的搜索结果重叠在对应的合成图像上并显示在显示部102。

在步骤s130中,控制装置110判断是否已选择了显示在显示部102的合成图像中的任一个。该选择操作例如是由图像处理装置100的操作受理部(例如,鼠标、键盘、触摸面板等任意输入装置)而受理。当判断为已选择了显示在显示部102的合成图像中的任一个时(步骤s130中为是),控制装置110将控制切换到步骤s132。当判断为尚未选择显示在显示部102的合成图像中的任一个时(步骤s130中为否),控制装置110再次执行步骤s130的处理。

在步骤s132中,控制装置110作为设定部153(参照图2),将与所选择的合成图像对应的参数族群应用为设定参数。

<i.总结>

以所述方式,图像处理装置100对用来执行金字塔算法的图像处理程序20,应用预先规定的多个参数族群的每一个。图像处理装置100针对各参数族群取得由图像处理程序20获得的搜索结果,并且针对各参数族群取得在执行图像处理程序的过程中获得的金字塔图像。

然后,图像处理装置100由针对各参数族群获得的金字塔图像生成合成图像,显示这些合成图像,并且将关于各参数族群的搜索结果重叠显示在对应的合成图像上。图像处理装置100构成为能够选择所显示的合成图像中的任一个。图像处理装置100将与所选择的合成图像对应的参数族群设定为图像处理程序20的设定参数22。

用户能够通过在视觉上确认合成图像及搜索结果,而直观地理解各参数族群是否良好。而且,用户可选择能够获得良好的搜索精度的参数族群。由此,即便用户不了解图像处理程序20,也能够设定最佳的参数族群,从而可辅助对图像处理程序20设定参数。此种效果尤其是在应设定的参数的种类较多、或者金字塔图像的总数较多的情况下有效地发挥作用。

本领域技术人员应当理解本次公开的实施方式的全部内容均为例示,而非对本发明的限制。本发明的范围并非由所述说明表示而是由权利要求所表示,且意图包含与权利要求均等的含义及范围内的所有变更。

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