CN104103032A - 图像处理装置、控制方法及程序 - Google Patents

图像处理装置、控制方法及程序 Download PDF

Info

Publication number
CN104103032A
CN104103032A CN201410136685.2A CN201410136685A CN104103032A CN 104103032 A CN104103032 A CN 104103032A CN 201410136685 A CN201410136685 A CN 201410136685A CN 104103032 A CN104103032 A CN 104103032A
Authority
CN
China
Prior art keywords
processing
project
image processing
parallel
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410136685.2A
Other languages
English (en)
Inventor
井尻隆史
中冈象平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Publication of CN104103032A publication Critical patent/CN104103032A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供一种图像处理装置、控制方法及程序。期望利用用户具有的对特定的应用程序图像处理的知识,能够实现效率更高且高速的图像处理。图像处理装置包括:多个处理部、接受通过拍摄被测定物而生成的画像数据的输入部、对话处理部、根据对话处理部所接受的针对图像处理的设定来生成针对多个处理部的命令列的生成部。对话处理部响应于用于指示对并行执行的设定的用户操作,在界面画面上,与被指定的处理项目的执行顺序相关联地追加开始处理项目和结束处理项目的组,并能够任意地接受对于使多个处理部中的两个以上的处理部并行执行的各个处理项目的选择,其中,开始处理项目用于指示并行执行的开始,结束处理项目用于指示该并行执行的结束。

Description

图像处理装置、控制方法及程序
技术领域
本发明涉及具有多个处理部的图像处理装置、该图像处理装置的控制方法及面向该图像处理装置的程序。
背景技术
在FA(Factory Automation:工业自动化)领域等中,作为用于检查工件等被测定物上的缺陷或污垢的有无、或者计测其大小等、或者识别被测定物上的文字或图形等的装置,所谓视觉传感器已实用化。这样的视觉传感器针对通过拍摄被测定物而得到的图像数据进行各种图像处理,从而实现上述那样的计测处理。
在这样的FA领域中,存在提高线速度或者降低装置成本等需求。为了响应这样的需求,在一台图像处理装置上装载多个处理部,来进行并行处理的结构广为人知。例如,日本特开2011-053787号公报(专利文献1)公开了能够根据需求来选择性地执行多个并行处理的图像处理装置等。更具体地说,专利文献1包括并行化单元,该并行化单元根据通过模式选择单元来选择的并行处理模式,将对象的处理工序所包含的多个处理单位的每一个分配给多个运算处理中的任意一个。
专利文献1所公开的图像处理装置根据多个并行处理模式中用户选择的并行处理模式,使一部分处理自动地并行化(automatic parallelization)。即,专利文献1所公开的技术是用于自动地实现针对一系列处理的并行化的技术。专利文献1的图13公开了如下结构,即,用户通过拖动操作,能够进行处理单位的追加及删除、执行顺序的重排,但并行化本身是由图像处理装置(并行化单元)自动地执行的。
现有技术文献
专利文献
专利文献1:日本特开2011-053787号公报
在采用上述那样的自动的并行化的情况下,根据事先规定的一般规则,来对处理项目进行并行处理,因此存在如下情况,即,根据图像处理装置所适用的应用程序的不同种类,即使存在潜在的能够并行化的处理项目,也不能覆盖到该潜在的可能性。即,专利文献1所公开的结构对于缺乏图像处理知识的用户而言是适合的,但对于具有图像处理知识的用户而言,存在不能够充分利用该潜在的可能性的情况。
发明内容
因此,期望利用用户具有的关于特定应用程序图像处理的知识能够实现更高效且高速的图像处理的结构。
根据本发明的一个方面的图像处理装置,具有:多个处理部;输入部,其接受通过拍摄被测定物而生成的图像数据;对话处理部,其至少提供用于接受选择操作及指定操作的界面画面,所述选择操作是指,从事先定义的多个处理项目中选择用于针对图像数据的图像处理中的一个以上的处理项目的操作,所述指定操作是指,指定所选择的处理项目的执行顺序的操作;生成部,其根据对话处理部所接受的针对图像处理的设定,生成针对多个处理部的命令列。对话处理部响应于用于指示对并行执行的设定的用户操作,在界面画面上,与被指定的处理项目的执行顺序相关联地追加开始处理项目和结束处理项目的组,并能够任意地接受对于使多个处理部中的两个以上的处理部并行执行的各个处理项目的选择,其中,开始处理项目用于指示并行执行的开始,结束处理项目用于指示该并行执行的结束。
优选地,生成部输出如下命令列,该命令列用于:使不同的处理部执行被指定为在开始处理项目和结束处理项目之间并行执行的各个处理。
更优选地,生成部输出如下命令列,该命令列用于:在执行完被指定为在所开始处理项目和结束处理项目之间并行执行的各个处理后,执行在结束处理项目后所指定的处理项目。
优选地,对话处理部响应于用于指示删除对并行执行的设定的用户操作,一同删除开始处理项目和结束处理项目的组。
优选地,对话处理部能够接受多个处理项目来作为被指定为在开始处理项目和结束处理项目之间并行执行的各个处理。
优选地,开始处理项目包括如下命令,该命令用于:在开始并行执行之前分别对与该并行执行相关的处理部确保相对应的存储区域,并且在各存储区域复制在该并行执行之前所使用的图像数据。
更优选地,结束处理项目包括如下命令,该命令用于:复原在开始并行执行之前所使用的图像数据。
优选地,图像处理装置还具有变更部,该变更部针对被设定为并行执行的处理项目之外的处理项目变更设定,以使两个以上的处理部根据事先规定的规则并行地执行。
根据本发明的另一方面,提供一种控制方法,该控制方法用于控制包括多个处理部的图像处理装置,多个处理部对通过拍摄被测定物来生成的图像数据进行图像处理,该控制方法包括如下步骤:至少提供用于接受选择操作及指定操作的界面画面,所述选择操作是指,从事先定义的多个处理项目中选择用于针对图像数据的图像处理中的一个以上的处理项目的操作,所述指定操作是指,指定所选择的处理项目的执行顺序的操作;响应于用于指示对并行执行的设定的用户操作,在界面画面上,与被指定的处理项目的执行顺序相关联地追加开始处理项目和结束处理项目的组,并任意地接受对于使多个处理部中的两个以上的处理部并行执行的各个处理项目的选择,其中,开始处理项目用于指示并行执行的开始,结束处理项目用于指示该并行执行的结束;按照对被输入的图像处理的设定,生成针对多个处理部的命令列。
根据本发明的再一方面,提供一种程序,该程序面向包括多个处理部的图像处理装置,多个处理部对通过拍摄被测定物来生成的图像数据进行图像处理,该程序使计算机执行如下步骤:至少提供用于接受选择操作及指定操作的界面画面,所述选择操作是指,从事先定义的多个处理项目中选择用于针对图像数据的图像处理中的一个以上的处理项目的操作,所述指定操作是指,指定所选择的处理项目的执行顺序的操作;响应于用于指示对并行执行的设定的用户操作,在界面画面上,与被指定的处理项目的执行顺序相关联地追加开始处理项目和结束处理项目的组,并任意地接受对于使多个处理部中的两个以上的处理部并行执行的各个处理项目的选择,其中,开始处理项目用于指示并行执行的开始,结束处理项目用于指示该并行执行的结束;按照对被输入的图像处理的设定,生成针对述多个处理部的命令列。
根据本发明,利用用户具有的对特定应用程序图像处理的知识,能够实现更高效且高速的图像处理。
附图说明
图1是表示包含本实施方式的图像处理装置的图像处理系统的整体结构的概略图。
图2是表示本实施方式的图像处理装置的功能结构的示意图。
图3是表示与本实施方式的图像处理装置提供的流程制作相关的操作画面的图。
图4是用于说明针对流程的自动并行化的一个例子的图。
图5是用于比较针对流程的自动并行化及手动并行化来进行说明的图。
图6A、图6B是表示与本实施方式的图像处理装置提供的手动并行化相关的画面用户界面的一个例子的图。
图7A、图7B是表示与本实施方式的图像处理装置提供的手动并行化相关的画面用户界面的一个例子的图。
图8是表示安装在本实施方式的图像处理装置上的控制程序的结构的示意力。
图9是用于说明伴随着本实施方式的并行化处理的执行的图像数据的处理的图。
图10是用于说明本实施方式的图像处理装置的处理顺序的流程图。
图11是表示包含本实施方式的图像处理装置的图像处理系统的整体结构的概略图。
图12A、图12B、图12C是用于说明针对图10所示的图像处理系统的流程的并行化的图。
图13是表示与图12C所示的流程相对应的画面用户界面的一个例子的图。
图14是表示包含本实施方式的图像处理装置的图像处理系统的整体结构的概略图。
图15A、图15B、图15C是用于说明针对图14所示的图像处理系统的流程的并行化的图。
图16是表示与图15C所示的流程相对应的画面用户界面的一个例子的图。
其中,附图标记的说明如下:
1 图像处理系统
2 工件
3 XY工作台
5 PLC
6 搬运机构
8、8a、8b、8c、8d 拍摄部
100 图像处理装置
102 显示部
104 键盘
106 存储卡
110 处理器
110a~110d 内核
112 RAM
114 显示控制器
116 系统控制器
118I/O 控制器
120 硬盘
122 摄像头接口
122a 图像缓冲器
124 输入接口
126 接口
128 通信接口
130 存储卡接口
150 控制程序
152 对话处理模块
154 自动并行化模块
156 命令生成模块
158 图像处理执行模块
160 程序库
具体实施方式
针对本发明的实施方式,参照附图来详细说明。此外,针对图中的相同或者相当部分,标注相同附图标记而不重复其说明。
<A.图像处理系统的结构>
首先,对包含本发明的实施方式的图像处理装置100的图像处理系统1的整体结构进行说明。图1是表示包含本实施方式的图像处理装置100的图像处理系统1的整体结构的概略图。
参照图1,图像处理系统1的主要组件包括:也被称为视觉传感器的图像处理装置100、与图像处理装置100连接的拍摄部8a、8b和能够与图像处理装置100通信的PLC(Programmable Logic Controller:可编程序逻辑控制器)5。作为一个例子,示出与显示部102形成为一体的图像处理装置100。
图像处理装置100被引入生产线等来执行图像处理,所述图像处理指:检查被测定物(下面,也称为“工件2”)上的缺陷、污垢的有无;计测工件2的大小、配置方向等;识别工件2表面上的文字、图形等。即,图像处理装置100针对通过拍摄工件2而生成的图像数据执行图像处理。在图像处理系统1中,工件2由传送带等搬送机构6搬送,由拍摄部8a、8b依次拍摄。PLC5与图像处理装置100一起配合,来执行搬送机构6等的控制。
作为一个例子,拍摄部8a、8b(下面,也总称为“拍摄部8”)除包含透镜等光学系统外,还包括CCD(Coupled Charged Device:电荷耦合器件)、CMOS(Complementary Metal Oxide Semiconductor:互补型金属氧化物半导体)传感器等划分为多个像素的拍摄元件。通过拍摄部8拍摄而获取的图像数据(下面,也称为“摄像头图像”)传送给图像处理装置100。然后,图像处理装置100针对拍摄部8所拍摄的摄像头图像进行图像处理。还可以设置对要用拍摄部8拍摄的工件2照射光的照明装置。也可以以能够连接更多的拍摄部8的方式构成图像处理装置100。
图像处理装置100至少具有“测定模式”和“设定模式”,“测定模式”用于针对来自拍摄部8的摄像头图像执行事先设定的图像处理,“设定模式”用于设定或调整图像处理的内容。在设定模式下,用户能够针对图像处理装置100设定用于实现图像处理的处理项目及其执行顺序等。关于该图像处理的设定顺序等详细内容,在后面进行说明。
<B.图像处理装置的结构>
接下来,对图1示出的图像处理系统1所包含的图像处理装置100的整体结构进行说明。图2是表示本实施方式的图像处理装置100的功能结构的示意图。
参照图2,典型地,图像处理装置100具有遵循通用的计算机体系(computer architecture)的结构,处理器执行事先安装的程序,从而实现后面所述的各种图像处理。
更具体地说,图像处理装置100包括:CPU(Central Processing Unit:中央处理器)或MPU(Micro-Processing Unit:微处理器)等处理器110、RAM(Random Access Memory:随机存取存储器)112、显示控制器114、系统控制器116、I/O(Input Output:输入输出)控制器118、硬盘120、摄像头接口122、输入接口124、PLC接口126、通信接口128、存储卡接口130。这些部件以系统控制器116为中心相互连接,能够进行数据通信。
处理器110具有相当于多个处理部的多个处理器内核(processor core)(第一内核110a、第二内核110b、第三内核110c、第四内核110d)。处理器110在与系统控制器116之间交换程序(代码)等,并按规定顺序执行这些程序(代码)等,从而实现目标运算处理。
内核110a~110d能够相互独立地执行命令。处理器110上安装的内核的数量不仅限于四个,只要是技术上可实现的范围内的多个即可。虽然图2示出了单一处理器内安装有多个内核的结构(所谓多核处理器系统),但也可以采用安装有多个处理器的结构(所谓多处理器系统)。并且,构成多处理器系统的处理器的一部分或者全部也可以采用多核处理器系统。即,只要本实施方式的图像处理装置具有能够相互独立地执行处理的多个处理部,那么采用怎样的结构都可以。
系统控制器116经由总线分别与处理器110、RAM112、显示控制器114及I/O控制器118相连接,与各个部件进行数据交换等,并且控制图像处理装置100整体的处理。
典型地,RAM112是DRAM(Dynamic Random Access Memory:动态随机存取存储器)等易失性存储装置,存储从硬盘120读出的程序、由拍摄部8获取的摄像头图像(图像数据)、针对摄像头图像的处理结果以及工件数据等。
显示控制器114与显示部102连接,根据来自系统控制器116的内部指令,向显示部102输出用于显示各种信息的信号。作为一个例子,显示部102包括液晶显示器、有机EL(Electro Luminescence:场致发光)显示器或有机EL等。
I/O控制器118控制与连接于图像处理装置100的记录介质、外部设备之间的数据交换。更具体地说,I/O控制器118与硬盘120、摄像头接口122、输入接口124、PLC接口126、通信接口128以及存储卡接口130相连接。
典型地,硬盘120是非易失性磁存储器,除存储由处理器110执行的控制程序150外,还存储各种设定值等。安装于该硬盘120的控制程序150以存储在存储卡106等里的状态流通。并且,经后述的记录(logging)处理,摄像头图像被存储至硬盘120。此外,也可以采用闪存器等半导体存储装置或DVD-RAM(Digital Versatile Disk Random Access Memory:数字通用盘随机存取存储器)等光学存储装置来替代硬盘120。
摄像头接口122相当于接受拍摄工件2(被测定物)而生成的图像数据的输入部,用于在处理器110和拍摄部8之间进行数据传送。更具体地说,摄像头接口122能够与一个以上的拍摄部8相连接,并且包括用于临时存储来自各个拍摄部8的图像数据的图像缓冲器122a及122b。针对多个拍摄部8,也可以设置能够在各个拍摄部8之间共享的单一图像缓冲器,但是,为了处理的高速化,优选与各个拍摄部8相对应地单独配置多个图像缓冲器。
输入接口124在处理器110与键盘104、鼠标、触摸板、专用控制台(Console)等输入装置之间进行数据传送。即,输入接口124接受用户对输入装置进行操作而输入的操作指令。
PLC接口126在处理器110和PLC5之间进行数据传送。更具体地说,PLC接口126向处理器110传送与由PLC5控制的生产线的状态相关的信息、与工件2相关的信息等。
通信接口128在处理器110和未图示的其他个人计算机或服务器装置等之间进行数据传送。典型地,通信接口128由以太网(注册商标)或USB(Universal Serial Bus:通用串行总线)构成。此外,如后述的那样,可以经由通信接口128将从分发服务器等下载的程序安装至图像处理装置100,以此来取代将存储卡106中存储的程序安装至图像处理装置100的方式。
存储卡接口130在处理器110和作为记录介质的存储卡106之间进行数据传送。即,图像处理装置100中所执行的控制程序150等以存储在存储卡106中的状态流通,存储卡接口130从该存储卡106读出控制程序。另外,存储卡接口130响应处理器110的内部指令,将通过拍摄部8获取的摄像头图像以及/或者图像处理装置100的处理结果等写入存储卡106。此外,存储卡106由SD(Secure Digital:安全数字)等通用的半导体存储设备、软盘(Flexible Disk:软盘)等磁记录介质或CD-ROM(Compact Disk Read on1yMemory:光盘只读存储器)等光学记录介质等构成。
另外,根据需要,图像处理装置100也可以与打印机等其他输出装置相连接。
在利用具有如上所述的遵循通用的计算机体系的结构的计算机的情况下,除安装用于提供本实施方式的功能的应用程序之外,还可以安装用于提供计算机的基本功能的OS(Operating System:操作系统)。在该情况下,本实施方式的控制程序也可以以规定的顺序以及/或者时间点调出作为OS的一部分而提供的程序模块中需要的模块来执行处理。即,也存在如下情况,即,本实施方式的程序自身不包括上述那样的模块,与OS协同来执行处理。因此,作为本实施方式的控制程序,也可以是这样的不包括一部分模块的形态。
并且,本实施方式的控制程序也可以是编入其他程序的一部分而提供的程序。在该情况下也同样地,程序自身不包括上述那样与其组合的其他程序所包含的模块,与该其他程序协同来执行处理。即,作为本实施方式的控制程序,可以是这样编入其他程序的形态。
此外,替代地,也可以安装专用的硬件电路来实现通过控制程序的执行而提供的功能的一部分或者全部。
<C.概要>
在本实施方式的图像处理装置100中,能够针对摄像头图像执行图像处理,所述图像处理包含用户任意选择的至少一个处理项目。该图像处理所包含的处理项目的执行顺序由用户决定,下面,将由该一系列的处理项目定义的图像处理的内容还称为“流程(flow)”。即,“流程”的意思是指通过用户的输入而选择的处理项目的组合。另外,也将执行流程这一动作称为“计测处理的执行”。此外,本说明书的处理项目是具有特定用途的功能单位(“处理项目”或者“单元”),能够对各处理项目确定处理对象及处理结果。
本实施方式的图像处理装置100提供一种画面用户界面,所述画面用户界面用于更简单地设定构成目标图像处理的处理项目的并行执行,从而能够利用用户的见识提高图像处理的效率和速度。下面,将用户明确地指示并行执行这一情况也称为“手动并行化”。在本实施方式中,也可以进一步安装如下处理,即,针对用户设定的流程所包含的处理项目,变更流程,以便按照事先规定的规则并列执行。下面,将这样的进行变更来使图像处理装置并行地执行处理项目的动作也称为“自动并行化”。在更优选的实施方式中,不仅执行手动并行化还实行自动并行化。
下面,对本实施方式的手动并行化的更详细的内容进行说明。
<D.与流程制作相关的画面用户界面>
下面,对与本实施方式的图像处理装置100提供的流程制作相关的画面用户界面进行说明。图3是表示与本实施方式的图像处理装置100提供的流程制作相关的操作画面300的图。
图像处理装置100至少提供如图3所示的界面画面来实现对话处理功能,该界面画面接受如下的选择操作和指定操作,所述选择操作是指,从事先定义的多个处理项目中,选择用于针对图像数据的图像处理的一个以上的处理项目的操作,所述指定操作是指,指定所选择的该处理项目的执行顺序的操作。
更具体地,对用户为了实现目标图像处理而制作流程的顺序进行说明。
操作画面300包括已设定流程显示区域302、处理项目选择区域304、摄像头图像显示区域306、处理项目插入/追加按钮308和执行顺序变更按钮310。在已设定流程显示区域302中,当前已设定的流程的内容(处理内容)以图形(graphical)的形式被显示。表示可追加的处理项目的图标与其名称一起列表显示在处理项目选择区域304中。
用户在操作画面300的处理项目选择区域304中,选择目标图像处理所需要的处理项目((1)选择处理项目),并且在已设定流程显示区域302中选择应追加已选择的处理项目的位置(顺序)(追加位置)。然后,若用户选择插入处理项目/追加按钮308((3)按下插入/追加按钮),则追加处理项目((4)追加处理项目)。追加处理项目后的流程内容反映在已设定流程显示区域302上。
用户通过适当重复该处理来制作用于实现目标图像处理的流程。另外,用户也能够在制作流程的过程中或者流程制作完毕后,在已设定流程显示区域302中选择处理项目,在此基础上,通过选择执行顺序变更按钮310,恰当变更执行顺序。
通过这样的操作,用户能够制作目标图像处理所需要的流程。该流程的制作在设定模式下执行。
随后,在测定模式下收到指示时,开始执行已指定的流程。更具体地说,当流程的制作完毕(典型地,保存已制作的流程)时,生成与已保存的流程相对应的命令列。通过由处理器执行该命令列,实现目标图像处理。此外,该命令列可以是赋予处理器的本机代码(native code),也可以是赋予OS或中间设备(middleware)的内部指令,也可以是它们的混合。
即,图像处理装置100根据对通过对话处理而接受的图像处理的设定,生成针对多个处理器内核(处理部)的命令列。
<E.并行化处理(自动设定及手动设定)>
接着,对用于提高用户设定的流程的执行效率的并行化处理进行说明。尤其是比较自动设定并行化处理的情况和手动设定并行化处理的情况来进行说明。图4是用于说明针对流程的自动并行化的一个例子的图。
图4的(a)部分表示用户设定的流程的一个例子。图4的(a)部分所示的流程400包括串行执行的处理项目402、404、406、408、410、412、414、416。在初始阶段,假设用户设计了串行执行一系列处理的流程。更具体地说,标记为“0.摄像头图像输入”的处理项目402包括用于获取摄像头图像的命令。标记为“1.检索”的处理项目404包括用于检索摄像头图像内与事先登记的模型一致的区域的命令。显示为“2.过滤”的处理项目406包括用于将摄像头图像调整为适合于后续处理项目中的处理的图像的命令。处理项目406可以包括:例如,用于将已指定范围的浓度扩展淡化从而去除不需要的背景的命令、用于去除如画面整体的明度变化的追随或照明不均匀等的阶梯性的明度变化的命令。显示为“3.瑕疵污垢”的处理项目408包括用于检查存在于工件2表面的瑕疵、污垢、零件缺乏、毛刺等的命令。显示为“4.彩色灰色化”的处理项目410包括用于将彩色图像转换为用特定颜色强调的黑白图像的命令。显示为“5.检索”的处理项目412包括用于识别工件2的形状或检测位置的命令。显示为“6.标贴(labeling)”的处理项目414包括用于对指定颜色的标签(label)的数量进行计数的命令、用于计测指定标签的面积或重心位置的命令。显示为“7.运算”的处理项目416包括用于利用之前执行的多个处理项目的结果来进行评价的命令。处理项目416可以包括例如使用复合条件进行评价的命令,所述复合条件是指,在处理项目412的检索中一致度(相关程度)为80%以上且在处理项目414中“亮度值为100以下”的区域占整体面积的20%以上的情况下,判断为“良好(OK)”。
针对图4的(a)部分所示的用户设定的流程400,以缩短处理时间为目的,考虑并行化(多任务化)的情况。若忽视处理项目之间的限制而进行并行化,则例如能够转换为图4的(b)部分所示的流程420。在该图4的(b)部分所示的流程420中,执行处理项目402后,作为第一任务,处理项目404、410、414、416共四个处理项目被串行执行,作为与第一任务并行地执行的第二任务,处理项目406、408、412共三个处理项目被串行执行。
但是,在图4的(b)部分所示的并行化的流程420中,因为在将摄像头图像变换为黑白图像的命令即处理项目410结束之前开始执行处理项目412(5.检索),所以相当于针对彩色图像执行检索处理。即,在图4的(b)部分所示的流程中,不能恰当地执行处理项目412的处理。
另外,处理项目416需要参照处理项目412及处理项目414的处理结果来执行处理,但是在图4的(b)部分所示的流程中,在处理项目412的执行完毕之前开始执行处理项目416。即,处理项目416在处理项目412的检索处理结束之前参照其数据。在该参照对象(参照目的地)中存储的数据是之前的计测处理的计测结果,会计算出错误的结果。
这样,流程的并行化需要考虑各个处理项目前后的相关联的处理项目。即,在自动的并行化处理中,如果存在下面的这样的处理项目,则需要使在其存在的位置并行地执行的处理彼此同步(即,等待直至其他处理项目的执行完毕)。
(1)对多个处理项目共同使用的图像数据进行某些加工的处理项目;
(2)参照其他处理项目的结果的处理项目。
根据这样的限制条件来进行并行化而得到的流程430如图4的(c)部分所示。在该图4的(c)部分所示的并行化流程430中,并行地执行处理项目412和处理项目414。即,将整体处理时间能够缩短处理项目412和处理项目414中处理完毕所需的时间短的处理项目(图4的(c)部分的例子中为处理项目414)的时间(图4的(c)部分所示的并行化效果)。如该图4的(c)部分所示的并行化流程430那样,在根据限制条件而进行并行化的情况下,虽然其并行化处理始终正确,但是有时其缩短时间的效果(并行化效果)的提高幅度不是很大。
另外,在自动地进行并行化的情况下,因为其动作根据每个处理项目所需要的处理时间、参数也发生变化,所以需要在任何条件下都能正确地进行并行化处理。其结果,需要进行即使并行化效果下降也更安全的并行化处理。
对此,也能够利用制作了对象的流程的用户的见识来进一步提高并行化效果。
图5是用于比较针对流程的自动并行化及手动并行化来进行说明的图。图5的(a)部分示出与图4的(a)部分相同的流程400,图5的(b)部分示出与图4的(c)部分相同的并行化流程430。另一方面,图5的(c)部分及图5的(d)部分分别表示利用用户的见识进行了并行化的流程440及450。
作为一种见识,在图5的(a)部分所示的流程400中,在处理项目402中获取摄像头图像后,实质上,针对该获取的摄像头图像,执行处理项目404的检索处理和处理项目406及408的瑕疵污垢处理这两种处理。随后,在处理项目410中转换为灰色图像(黑白图像)后,分别独立执行处理项目412的检索处理及处理项目414的标贴处理。由此可知,在转换为黑白图像前的阶段,能够并行地进行检索处理和瑕疵污垢处理。另外,在转换为黑白图像后的阶段,能够并行地进行检索处理和标贴处理。利用这样的见识,能够得到图5的(c)部分所示的那样的流程440(手动并行化模式A)。在该图5的(c)部分所示的流程440中,能够避免执行图4的(b)部分所示的流程420这样的错误处理。
作为另外的见识,在图5的(a)部分所示的流程400中,针对在处理项目402中获取的摄像头图像本身执行处理项目404的检索处理,之后,针对在处理项目406中被进行过滤处理后的图像,执行处理项目408的瑕疵污垢处理,并且,针对在处理项目410中被进行过滤处理后的图像,执行处理项目412、414、416。利用这样的见识,能够得到图5的(d)部分所示的流程450(手动并行化模式B)。在该图5的(d)部分所示的流程450中,能够避免执行图4的(b)部分所示的流程420那样的错误处理。
另外,由图5的(c)部分及图5的(d)部分所示的流程可知,与图5的(b)部分所示的根据限制条件自动并行化了的流程所得到的并行化效果相比,能够得到更好的并行化效果。
这样,利用具有图像处理的知识的用户所具备的见识,能够得到更好的并行化效果。即,通过手动(即,利用用户的见识)调整并行化处理所需的各个处理项目的分配,能够实现处理时间更短的流程结构。
<F.与手动并行化相关的画面用户界面>
接下来,对与本实施方式的手动并行化相关的画面用户界面进行说明。在本实施方式中,用户能够明确地设定并行化。即,在图像处理装置100上安装有手动并行化功能,并且还提供与该功能设定相关的画面用户界面。典型地,以在图3所示的操作画面300的处理项目选择区域304显示的处理项目之一的方式追加用于设定手动并行化功能的处理项目。
图6A、图6B、图7A、图7B是表示与本实施方式的图像处理装置100提供的手动并行化相关的画面用户界面的一个例子的图。如图6A所示,在初始状态或者设定了某些处理项目的状态下,用户通过选择显示在处理项目选择区域304的手动并行化的图标,在已设定流程显示区域302中,将手动并行化块350追加到设定中的流程。
该手动并行化块350至少包括表示并行处理开始的处理项目352和表示并行处理结束的处理项目354的组。并且,在处理项目352和处理项目354之间包括成为并行处理对象的一个以上的并行化任务(在图6A所示例子中为并行化任务360及370)。用户也能够任意地变更手动并行化块350所包含的并行化任务的数量。即,通过用户的操作,针对指定的手动并行化块350,追加或者删除并行化任务。
表示并行处理开始的处理项目352生成针对多个处理器内核(处理部)的命令列,并且,当全部命令列的处理结束时,指示向处理结束项目(处理项目354)转移的处理。另外,若处理从处理结束项目(处理项目354)转移,则表示并行处理结束的处理项目354移至后续处理。
这样,图像处理装置100的对话处理功能能够响应于用于指示设定并行执行的用户操作,在所述界面画面上,与已指定的处理项目的执行顺序相关联地追加开始处理项目(处理项目352)和结束处理项目(处理项目354)的组,并且就多个处理器内核(处理部)中的两个以上的处理部,能够任意地接受并行地执行的各个处理项目的选择,其中,所述开始处理项目用于指示开始并行执行,所述结束处理项目用于指示结束该并行执行。
然而,在原理上,不能够并行地执行超过图像处理装置100所包含的处理部(典型地,内核数量或处理器数量)的任务,所以,手动并行化块350可以包含不超过处理部数量的范围内的数量的并行化任务。
在本实施方式中,作为一个例子,若选择了显示在处理项目选择区域304的手动并行化的图标,则自动地插入包含规定数量(典型地,两个)的并行化任务的并行化块。典型地,并行化块的各个并行化任务作为独立的线程(thread)来执行。即,如图6B所示地设定有两个并行化任务的情况下,通过执行手动并行化块350,生成与每个并行化任务相对应的多个线程,在各个线程中,分别执行事先设定的处理项目。
针对插入了并行化块的流程,若用户选择表示并行化任务的块,则更加详细地显示在对应的并行化任务中所执行的处理项目。作为一个例子,如图6B所示,在已设定流程显示区域302设定有包含并行化任务360及370的手动并行化块350,在并行化任务360中,除了设定有表示并行化任务的开始的处理项目362外,作为用户任意选择的处理项目,还设定有两个与检索处理相关的处理项目364及366。在并行化任务360中,串行执行处理项目362、处理项目364及处理项目366。
同样,在并行化任务370中,除了设定有表示并行化任务的开始的处理项目372外,作为用户任意选择的处理项目,还设定有分别与使用了边缘码(edge code)的检索处理相关的处理项目374及376。在并行化任务370中,串行执行处理项目372、处理项目374及处理项目366。
这样,在操作画面300中,能够接受多个处理项目,来作为在开始处理项目(处理项目352)和结束处理项目(处理项目354)之间并行地执行的被指定的各个处理。针对各个处理器内核(处理部),能够指定与并行执行相关的多个处理项目。换言之,对各个并行化任务360及370也能够设定多个处理项目。
如图6A、图6B所示,典型地,每个块(处理项目)使用树结构分层显示。在图6B中,从先行的手动并行化块到下一个手动并行化块为一个并行处理(线程)。通过在该一个并行处理的任意位置追加处理项目,来作为并行化任务所包含的处理项目进行追加。
典型地,就用户所设定的如上所述的手动并行化的详细内容而言,使用树结构,根据其分层,能够恰当地变更显示内容。例如,如图7A所示,若用户选择表示并行处理开始的处理项目352的按钮352a,则展开已设定的详细内容。反之,也能够收起该详细内容,从而由展开显示详细内容的状态转换成简化显示。即,图7A、图7B能够显示手动并行化块350所包含的全部并行化任务及与其相对应的设定内容。
另外,也能够针对任一个并行化任务显示其设定内容。例如,如图7B所示,若用户选择并行化任务360的按钮360a,则展开对所选择的并行化任务设定的详细内容。
而且,在已设定流程显示区域302中,若选择任意一个处理项目,则一并选择对应的范围(块)。例如,如图7A所示,若选择表示并行处理开始的处理项目352,则手动并行化块整体被选择。即,以手动并行化块为单位执行追加以及/或者删除。或者,如图7B所示,若选择并行化任务360,则该并行化任务360整体被选择。
如上所述,在图像处理装置100的对话处理功能中,响应于指示删除并行执行的设定的用户操作,同时删除与并行执行相关的开始位置(处理项目352)及结束位置(处理项目354)的组。即,在手动并行化中,针对每一处理对象范围进行一体化处理,并以一体化后的多个处理项目为单位执行追加或删除等,而不是以单一处理项目为单位执行追加或者删除等。
此外,针对上述用户使用手动并行化块指定了并行化处理的流程,还能够进一步应用自动并行化。在优选方式中,优选安装下述功能:对于被指示了并行执行的处理项目之外的处理项目,图像处理装置100变更设定,使得两个以上的处理器内核(处理部)根据事先规定的规则并行地执行。
<G.控制程序的功能结构>
接下来,对用于实现包含本实施方式的手动并行化的处理的控制程序的功能结构进行说明。图8是表示安装于本实施方式的图像处理装置100的控制程序150的结构的示意图。
参照图8,控制程序150包括对话处理模块152、自动并行化模块154、命令生成模块156、图像处理执行模块158和程序库160来作为基本组件。
对话处理模块152至少提供用于接受选择操作和指定操作的界面画面,所述选择操作是指,从事先定义的多个处理项目中选择用于针对图像数据的图像处理的一个以上的处理项目的操作,所述指定操作是指,指定所选择的该处理项目的执行顺序的操作。即,对话处理模块152提供根据用户操作来制作用户所期望的图像处理流程170的对话型画面用户界面。更具体地说,对话处理模块152在显示部102显示上述图3、图6A、图6B、图7A、图7B所示的画面用户界面,并且,根据用户操作来生成流程170。所生成的该流程170临时存储在由RAM112(图2)等确保的工件区域里。
自动并行化模块154在上述手动并行化的基础上对流程170所包含的处理项目自动地进行并行化。即,就在流程170中被指示了并行执行的处理项目以外的处理项目,自动并行化模块154针对两个以上的处理器内核(处理部)评价是否能够按照事先规定的规则来并行地执行。该自动并行化模块154的自动并行化处理是遵循事先规定的处理项目之间的限制条件来执行的。自动并行化模块154向命令生成模块156通知流程170所包含的处理项目中成为自动并行化的对象的多个处理项目。即,就用户没有明确地指示并行执行的处理项目的一部分或者全部,自动并行化模块154向命令生成模块156发出内部指令,使得两个以上的处理器内核(处理部)根据事先规定的规则来并行地执行。
命令生成模块156按照对话处理模块152所接受的对图像处理的设定(流程170),生成针对多个处理器内核(处理部)的命令列。即,命令生成模块156生成用于实现遵循用户所设定的流程170的处理的程序。此时,命令生成模块156如果从自动并行化模块154收到有关成为自动并行化的对象的多个处理项目的通知,则生成命令列,使得流程170所包含的该被通知的多个处理项目分别分配至不同的处理器内核(处理部)。
命令生成模块156输出如下命令列,该命令列用于使不同的处理器内核(处理部)执行被指定为在开始处理项目(处理项目352)和结束处理项目(处理项目354)之间并行地执行的各个处理。另外,命令生成模块156输出如下命令列,该命令列用于在被指定为在开始处理项目(处理项目352)和结束处理项目(处理项目354)之间并行地执行的各个处理全部执行完毕后,执行在结束处理项目(处理项目354)后所指定的处理项目。
该生成的命令列(或者,程序)可以包含处理器110能够执行的目标(object)形式的程序,也可以包含针对OS指示线程的启动及结束等的内部指令。
该生成的命令列存储于RAM112或硬盘120(图2)等中。图像处理执行模块158根据命令生成模块156生成的命令列,针对对象摄像头图像执行图像处理,并输出其结果。在命令列包含目标(object)形式的执行程序的情况下,通过命令列实现图像处理执行模块158的全部或者一部分。作为安装例子,图像处理执行模块158参照事先准备好的程序库160,执行在命令列中指定的处理。即,在程序库160中具有与图3所示的操作画面300的处理项目选择区域304所列表显示的各个处理项目相对应的程序库程序,图像处理执行模块158调用需要的程序库程序,从而执行与被指定的处理项目相对应的图像处理。通过采用这样的程序库160,能够容易地追加或改善处理项目。
此外,图8例示了能够执行流程设定、命令列的生成以及图像处理的执行这些全部处理的单一控制程序150,但是也可以使多个程序协同实现这些功能。例如,能够采用如下所述地分担功能的安装方式,即,就与流程设定及命令列生成相关的处理而言,在个人计算机上执行,其执行结果所生成的命令列被转发至图像处理装置,由图像处理装置执行。在该情况下,在个人计算机执行包含相当于对话处理模块152、自动并行化模块154及命令生成模块156的模块的程序,在图像处理装置执行包含图像处理执行模块158及程序库160的程序。这种安装方式也包含于本发明的技术范围内是显而易见的。
<H.伴随着并行化处理的执行的存储区域>
接下来,在执行本实施方式的并行化处理时,分别独立地准备处理对象的存储区域,使得每个并行化任务能够独立地执行处理。
图9是用于说明执行本实施方式的并行化处理时的图像数据的处理的图。图9中,在执行摄像头图像输入的处理项目后,设定有并行化块,在并行化块中,定义有四个并行化任务。在执行并行化块前,通过执行摄像头图像的输入,从拍摄部8获取的摄像头图像“图像1”作为处理对象被保存。当开始执行并行化块时,一个并行化任务(在图9所示的例子中为并行化任务1)直接利用在执行此前的处理项目时所利用的存储区域。即,“图像1”作为处理对象被保存。
相对于此,针对剩下的并行化任务(在图9所示的例子中为并行化任务2~4)的每一个分配新的存储区域,并且,针对各个存储区域,复制在执行并行化块前保存的图像数据。即,并行化块所包含的全部并行化任务的每一个都具有独立的存储区域,作为各个存储区域的初始数据,使用执行该并行化块前所保存的图像数据。之后,在每一个并行化任务中,针对图像数据执行某个处理,从而更新所保存的图像数据的内容。
在执行这样的并行化处理时生成新的并行化任务(线程)并重新设定与各线程相对应的存储区域这样的处理是通过由命令生成模块156(图8)生成的命令列来实现的。即,命令生成模块156(图8)输出如下命令,该命令用于在开始处理项目的并行执行前,针对与该并行执行相关的处理器内核(处理部)分别确保相对应的存储区域,并且在各存储区域复制在执行该并行执行前所使用的图像数据。
然后,当并行化处理执行完毕时,将图像数据复原(recovery)为执行并行化块前的图像数据,并开始执行后续的处理项目。这样,开始处理项目(处理项目352)包括如下命令,该命令用于在开始并行执行前,针对与该并行执行相关的处理器内核(处理部)分别确保相对应的存储区域,并且在各存储区域复制在执行该并行执行前所使用的图像数据。结束处理项目(处理项目354)包括用于使在开始并行执行前所使用的图像数据复原的命令。
通过恰当地生成这样的线程及与其相关联的存储区域,能够不影响其他处理项目,恰当地执行并行化处理。
<I.处理顺序>
接下来,对本实施方式的图像处理装置100的处理顺序进行说明。图10是用于说明本实施方式的图像处理装置100的处理顺序的流程图。通过图像处理装置100的处理器110执行控制程序150来实现图10所示的处理顺序。
参照图10,通过执行控制程序150,提供如图3所示的与流程制作相关的操作画面300(步骤S2)。即,处理器110至少提供界面画面(操作画面300),该界面画面用于接受如下的选择操作和指定操作,所述选择操作是指,从事先定义的多个处理项目中,选择用于针对摄像头数据(图像数据)的图像处理的一个以上的处理项目的操作,所述指定操作是指,指定所选择的该处理项目的执行顺序的操作。
在该提供的操作画面300中,处理器110接受用户操作(步骤S4)。此时,处理器110接受如图6A、图6B及图7A、图7B所示的与手动并行化的设定相关的用户操作。即,处理器110在界面画面(操作画面300)中接受选择操作,该选择操作用于选择使多个处理器内核(处理部)中的两个以上的处理部并行地执行的各个处理项目。
之后,处理器110判断是否被指示自动并行化的执行(步骤S6)。在被指示执行自动并行化的情况下(步骤S6中为“是”),对于设定的流程执行自动并行化(步骤S8)。在没有被指示执行自动并行化的情况下(步骤S6中为“否”),跳过步骤S6的处理。
然后,处理器110判断是否被指示结束流程设定操作(步骤S10)。在被指示结束流程设定操作的情况下(步骤S10中为“是”的情况),处理器110按照最终设定的流程,生成命令设定(步骤S12)。即,处理器110按照对输入的图像处理的设定,生成对于多个处理器内核(处理部)的命令列。然后,结束处理。另一方面,在没有被指示结束流程设定操作的情况下(步骤S10中为“否”的情况),重复步骤S4之后的处理。
<J.应用例(其1)>
接下来,对本实施方式的图像处理装置100的应用例(其1)进行说明。图11是表示包括本实施方式的图像处理装置100的图像处理系统1A的整体结构的概略图。在图11所示的图像处理系统1A所适用的工序(process)中,工件2是层叠基板的基材,在下一工序中,在工件2上形成另外的层。在这样的工序中,对工件2进行对位处理,以使适合下一工序中的层形成处理。更具体地说,工件2配置在XY工作台3上,使用四个拍摄部8a、8b、8c、8d拍摄工件2的四个角,从而确定工件2的当前位置,并且,从PLC5发出指令来移动XY工作台3,从而将工件2定位于目标位置。
作为更具体的顺序,图像处理装置100获取拍摄部8a、8b、8c、8d分别拍摄的表示工件2的四个角的摄像头图像,检测表示所获取的各个摄像头图像所包含的标记位置的对象(object)。然后,图像处理装置100根据各个摄像头图像内检测出的标记位置,计算XY工作台3所需要的移动量,并将该计算出的移动量发送给PLC5。PLC5根据来自图像处理装置100的移动量,使XY工作台3移动。
关于针对图像处理系统1A的图像处理的并行化,比较自动并行化和手动并行化来进行说明。图12A、图12B、图12C是用于说明针对图10所示的图像处理系统1A的流程的并行化的图。图13是表示与图12C所示的流程相对应的画面用户界面的一个例子的图。
图12A表示用于实现上述那样的处理的流程的一个例子。该图12A表示用户不使用手动并行化而设定的流程。在图12A所示流程中,串行执行针对拍摄部8a、8b、8c、8d分别拍摄的摄像头图像的处理,参照针对每个摄像头图像的处理结果(合计四个),计算最终的移动量。更具体地说,对于各个角,选择作为对象的拍摄部(“摄像头替换”的处理项目),针对从所选择的拍摄部获取的摄像头图像,在进行校准(“校准”的处理项目)的基础上执行如下检索处理,在该检索处理中,检索与事先登记的模型一致的区域(“检索”的处理项目)。
图12B表示相对于图12A所示的流程执行了自动并行化的结果。此外,在图12A及图12B中,用剖面线表示成为与自动并行化相关的处理项目之间的限制对象的处理项目。在自动并行化处理中,因为图像处理装置100不知道被切换的摄像头图像之间的关系,所以,针对图12A所示的流程,即便进行自动并行化,任何处理项目也不能够被并行处理。
相对于此,如果是知道图像处理系统1A中所要求的处理内容的用户,则明白能够并行地执行对各个角的图像处理。因此,追加图12C所示的手动并行化块,并且,在该手动并行化块内,指定了针对各个角的图像数据并行地执行图像处理。更具体地说,在操作画面300的已设定流程显示区域302中,通过进行图13所示的用户设定,能够实现如图12C所示的手动并行化的流程。
这样,通过恰当地应用手动并行化,能够提高图像处理的整体的执行速度。
<K.应用例(其2)>
接下来,对本实施方式的图像处理装置100的另外的应用例(其2)进行说明。图14是表示包括本实施方式的图像处理装置100的图像处理系统1B的整体结构的概略图。在图14所示的图像处理系统1B的所适用的工序中,工件2是瓶盖等,在进行出货前检查的基础上,若该出货前检查的结果良好(OK),则打印需要的信息(制造日期及制造号码等)。作为更具体的顺序,图像处理装置100获取拍摄部8a拍摄的工件2的摄像头图像,并对于该获取的摄像头图像,检查工件2的标签的颜色、标签的位置、标签的形状。其计测结果从图像处理装置100传送给PLC5。只要有一个项目没有通过检查(即,只要某一计测项目为不良(NG)),就结束计测处理。若全部计测项目都为良好(OK),则检查制造日期及制造号码,并将其计测结果传送给PLC5。
关于针对图像处理系统1B的图像处理的并行化,比较自动并行化和手动并行化来进行说明。图15A、图15B、图15C是用于说明针对图14所示的图像处理系统1B的流程的并行化的图。图16是表示与图15C所示的流程相对应的画面用户界面的一个例子的图。
图15A表示用于实现上述那样的处理的流程的一个例子。该图15A表示用户不使用手动并行化而设定的流程。在图15A所示的流程中,串行执行用于检查标签的颜色的“颜色均匀/偏差”的处理项目、用于检查标签的位置的“面积重心”的处理项目、用于检查标签的形状的“标签”的处理项目。然后,使用这些各个检查结果来执行运算处理。
图15B表示相对于图15A所示的流程执行了自动并行化的结果。此外,在图15A及图15B中,用剖面线表示成为与自动并行化相关的处理项目之间的限制对象的处理项目。在自动并行化的处理中,因为图像处理装置100不知道上述三种检查的内容及相互关系,所以,针对图15A所示的流程,即使进行自动并行化,检查项目也不会被并行化,只能对其后的通用文字检查进行并行化。
相对于此,如果是知道在图像处理系统1B中所要求的处理内容的用户,则知道能够并行地执行各检查项目。因此,追加图15C所示的手动并行化块,并且,在该手动并行化块内,指定了并行地执行针对图像数据的检查项目。更具体地说,在操作画面300的已设定流程显示区域302中,通过进行如图16所示的用户设定,能够实现图15C所示的手动并行化的流程。
这样,通过恰当地应用手动并行化,能够提高图像处理的整体的执行速度。
<L.优点>
根据本实施方式的图像处理装置,能够以更简单的操作来设定构成目标图像处理的处理项目的并行执行。由此,利用用户的见识,能够使目标图像处理更加效率化且高速化。另外,对于用户设定了并行地执行的处理项目之外的处理项目也能够自动地并行化,所以,能够进一步缩短图像处理所需要的时间。
本次公开的实施方式在所有方面皆为例示,并非限制。本发明的范围不由上述说明限定,而是由权利要求的范围限定,包括与权利要求的范围等同的意义及权利要求范围内的全部变更。

Claims (10)

1.一种图像处理装置,其特征在于,
具有:
多个处理部,
输入部,其接受通过拍摄被测定物而生成的图像数据,
对话处理部,其至少提供用于接受选择操作及指定操作的界面画面,所述选择操作是指,从事先定义的多个处理项目中选择用于针对所述图像数据的图像处理中的一个以上的处理项目的操作,所述指定操作是指,指定所选择的处理项目的执行顺序的操作,
生成部,其根据所述对话处理部所接受的针对图像处理的设定,生成针对所述多个处理部的命令列;
所述对话处理部响应于用于指示对并行执行的设定的用户操作,在所述界面画面上,与被指定的处理项目的执行顺序相关联地追加开始处理项目和结束处理项目的组,并能够任意地接受对于使所述多个处理部中的两个以上的处理部并行执行的各个处理项目的选择,其中,所述开始处理项目用于指示并行执行的开始,所述结束处理项目用于指示该并行执行的结束。
2.如权利要求1所述的图像处理装置,其特征在于,所述生成部输出如下命令列,该命令列用于:使不同的处理部执行被指定为在所述开始处理项目和所述结束处理项目之间并行执行的各个处理。
3.如权利要求2所述的图像处理装置,其特征在于,所述生成部输出如下命令列,该命令列用于:在执行完被指定为在所述开始处理项目和所述结束处理项目之间并行执行的各个处理后,执行在所述结束处理项目后所指定的处理项目。
4.如权利要求1~3中任一项所述的图像处理装置,其特征在于,所述对话处理部响应于用于指示删除对并行执行的设定的用户操作,一同删除所述开始处理项目和所述结束处理项目的组。
5.如权利要求1~3中任一项所述的图像处理装置,其特征在于,所述对话处理部能够接受多个处理项目来作为被指定为在所述开始处理项目和所述结束处理项目之间并行执行的各个处理。
6.如权利要求1~3中任一项所述的图像处理装置,其特征在于,所述开始处理项目包括如下命令,该命令用于:在开始并行执行之前分别对与该并行执行相关的处理部确保相对应的存储区域,并且在各存储区域复制在该并行执行之前所使用的图像数据。
7.如权利要求6所述的图像处理装置,其特征在于,所述结束处理项目包括如下命令,该命令用于:复原在开始并行执行之前所使用的图像数据。
8.如权利要求1所述的图像处理装置,其特征在于,还具有变更部,该变更部针对被设定为并行执行的处理项目之外的处理项目变更设定,以使所述两个以上的处理部根据事先规定的规则并行地执行。
9.一种控制方法,用于控制包括多个处理部的图像处理装置,所述多个处理部对通过拍摄被测定物来生成的图像数据进行图像处理,其特征在于,
包括如下步骤:
至少提供用于接受选择操作及指定操作的界面画面,所述选择操作是指,从事先定义的多个处理项目中选择用于针对所述图像数据的图像处理中的一个以上的处理项目的操作,所述指定操作是指,指定所选择的处理项目的执行顺序的操作,
响应于用于指示对并行执行的设定的用户操作,在所述界面画面上,与被指定的处理项目的执行顺序相关联地追加开始处理项目和结束处理项目的组,并任意地接受对于使所述多个处理部中的两个以上的处理部并行执行的各个处理项目的选择,其中,所述开始处理项目用于指示并行执行的开始,所述结束处理项目用于指示该并行执行的结束,
按照对被输入的图像处理的设定,生成针对所述多个处理部的命令列。
10.一种程序,该程序面向包括多个处理部的图像处理装置,所述多个处理部对通过拍摄被测定物来生成的图像数据进行图像处理,其特征在于,
使计算机执行如下步骤:
至少提供用于接受选择操作及指定操作的界面画面,所述选择操作是指,从事先定义的多个处理项目中选择用于针对所述图像数据的图像处理中的一个以上的处理项目的操作,所述指定操作是指,指定所选择的处理项目的执行顺序的操作,
响应于用于指示对并行执行的设定的用户操作,在所述界面画面上,与被指定的处理项目的执行顺序相关联地追加开始处理项目和结束处理项目的组,并任意地接受对于使所述多个处理部中的两个以上的处理部并行执行的各个处理项目的选择,其中,所述开始处理项目用于指示并行执行的开始,所述结束处理项目用于指示该并行执行的结束,
按照对被输入的图像处理的设定,生成针对所述多个处理部的命令列。
CN201410136685.2A 2013-04-05 2014-04-04 图像处理装置、控制方法及程序 Pending CN104103032A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013079922A JP2014203309A (ja) 2013-04-05 2013-04-05 画像処理装置、制御方法およびプログラム
JP2013-079922 2013-04-05

Publications (1)

Publication Number Publication Date
CN104103032A true CN104103032A (zh) 2014-10-15

Family

ID=50440507

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410136685.2A Pending CN104103032A (zh) 2013-04-05 2014-04-04 图像处理装置、控制方法及程序

Country Status (5)

Country Link
US (1) US20140304637A1 (zh)
EP (1) EP2787483A3 (zh)
JP (1) JP2014203309A (zh)
KR (1) KR20140121354A (zh)
CN (1) CN104103032A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562449A (zh) * 2016-06-30 2018-01-09 欧姆龙株式会社 图像处理装置、图像处理方法及图像处理程序
CN107562003A (zh) * 2016-06-30 2018-01-09 欧姆龙株式会社 图像处理装置、图像处理方法及图像处理程序
CN108780565A (zh) * 2016-03-24 2018-11-09 富士胶片株式会社 图像处理装置、图像处理方法及图像处理程序
CN110888609A (zh) * 2018-09-07 2020-03-17 佳能株式会社 信息处理设备和用于控制该设备的方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6883761B2 (ja) * 2016-10-17 2021-06-09 パナソニックIpマネジメント株式会社 プログラム生成方法、プログラム生成装置および制御プログラム
JP2018124605A (ja) 2017-01-30 2018-08-09 オムロン株式会社 画像処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
JP7207509B2 (ja) * 2017-01-30 2023-01-18 オムロン株式会社 画像処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
JP7146367B2 (ja) 2017-01-30 2022-10-04 オムロン株式会社 画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム
US10338897B2 (en) * 2017-03-03 2019-07-02 Stratedigm, Inc. Visual protocol designer
JP7067869B2 (ja) 2017-03-10 2022-05-16 オムロン株式会社 画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム
IL259143B2 (en) * 2018-05-03 2024-07-01 Inspekto A M V Ltd System and method for visual production line inspection of various production items
JP7314491B2 (ja) * 2018-09-26 2023-07-26 株式会社リコー 情報処理システム、サービス提供システム、フロー設定方法
JP7334617B2 (ja) * 2019-12-27 2023-08-29 オムロン株式会社 プログラム実行装置、プログラム実行方法およびプログラム
JPWO2022085135A1 (zh) * 2020-10-21 2022-04-28

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108714A1 (en) * 2003-11-18 2005-05-19 Geye Scott A. Dynamic resource management system and method for multiprocessor systems
US20070268517A1 (en) * 2006-04-11 2007-11-22 Sharp Kabushiki Kaisha Control device, image processing device control system, method of controlling control device, program, and computer-readable recording medium
US20110194617A1 (en) * 2010-02-11 2011-08-11 Nokia Corporation Method and Apparatus for Providing Multi-Threaded Video Decoding
CN102200881A (zh) * 2010-03-24 2011-09-28 索尼公司 图像处理装置、图像处理方法以及程序

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940296A (en) * 1995-11-06 1999-08-17 Medar Inc. Method and system for interactively developing a graphical control-flow structure and associated application software for use in a machine vision system
US5999729A (en) * 1997-03-06 1999-12-07 Continuum Software, Inc. System and method for developing computer programs for execution on parallel processing systems
US7331037B2 (en) * 2004-08-12 2008-02-12 National Instruments Corporation Static memory allocation in a graphical programming system
JP2007128356A (ja) * 2005-11-04 2007-05-24 Canon Inc 情報処理装置及び方法及びシステム
US7827491B2 (en) * 2006-05-12 2010-11-02 Tran Bao Q Systems and methods for video editing
JP4358262B2 (ja) * 2007-07-02 2009-11-04 ザイオソフト株式会社 医療画像処理装置およびプログラム
US20100058048A1 (en) * 2008-08-26 2010-03-04 Advanced Micro Devices, Inc. Profile Adjustment Module For Use With Data Processing System
JP5257898B2 (ja) * 2009-03-18 2013-08-07 キヤノンマーケティングジャパン株式会社 情報処理装置及びその制御方法、並びに、プログラム
JP5353566B2 (ja) * 2009-08-31 2013-11-27 オムロン株式会社 画像処理装置および画像処理プログラム
US20110119604A1 (en) * 2009-11-19 2011-05-19 Clevest Solutions Inc. System and method for a configurable and extensible allocation and scheduling tool
JP5717308B2 (ja) * 2011-06-16 2015-05-13 エンパイア テクノロジー ディベロップメント エルエルシー マルチコア環境におけるプロセスマネージメント
US9250953B2 (en) * 2013-11-12 2016-02-02 Oxide Interactive Llc Organizing tasks by a hierarchical task scheduler for execution in a multi-threaded processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108714A1 (en) * 2003-11-18 2005-05-19 Geye Scott A. Dynamic resource management system and method for multiprocessor systems
US20070268517A1 (en) * 2006-04-11 2007-11-22 Sharp Kabushiki Kaisha Control device, image processing device control system, method of controlling control device, program, and computer-readable recording medium
US20110194617A1 (en) * 2010-02-11 2011-08-11 Nokia Corporation Method and Apparatus for Providing Multi-Threaded Video Decoding
CN102200881A (zh) * 2010-03-24 2011-09-28 索尼公司 图像处理装置、图像处理方法以及程序

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108780565A (zh) * 2016-03-24 2018-11-09 富士胶片株式会社 图像处理装置、图像处理方法及图像处理程序
CN107562449A (zh) * 2016-06-30 2018-01-09 欧姆龙株式会社 图像处理装置、图像处理方法及图像处理程序
CN107562003A (zh) * 2016-06-30 2018-01-09 欧姆龙株式会社 图像处理装置、图像处理方法及图像处理程序
CN107562449B (zh) * 2016-06-30 2022-04-29 欧姆龙株式会社 图像处理装置、图像处理方法及图像处理程序
CN110888609A (zh) * 2018-09-07 2020-03-17 佳能株式会社 信息处理设备和用于控制该设备的方法
CN110888609B (zh) * 2018-09-07 2024-06-07 佳能株式会社 信息处理设备和用于控制该设备的方法

Also Published As

Publication number Publication date
EP2787483A2 (en) 2014-10-08
JP2014203309A (ja) 2014-10-27
US20140304637A1 (en) 2014-10-09
KR20140121354A (ko) 2014-10-15
EP2787483A3 (en) 2015-12-30

Similar Documents

Publication Publication Date Title
CN104103032A (zh) 图像处理装置、控制方法及程序
Bangsow Manufacturing simulation with plant simulation and simtalk: usage and programming with examples and solutions
CN102662942B (zh) 元数据生成系统和方法
JP2019106112A (ja) 情報処理装置、識別システム、設定方法及びプログラム
CN104204976B (zh) 信息处理装置、模拟方法及程序
JP7054436B2 (ja) 検出システム、情報処理装置、評価方法及びプログラム
CN111507253A (zh) 基于人工智能的陈列物品审核方法、装置
JP7207630B2 (ja) 物体認識カメラシステム、再学習システム、及び物体認識プログラム
CN114730407A (zh) 使用神经网络对工作环境中的人类行为进行建模
WO2021019821A1 (ja) 情報管理システム、情報管理方法
KR20230039488A (ko) 이미지 데이터가 포함된 학습용 데이터 세트를 학습하는 인공지능 자동 생성 방법 및 이를 위한 장치
CN113065607A (zh) 图像检测方法、装置、电子设备及介质
CN103873779B (zh) 一种停车场用智能相机的控制方法
US20190188900A1 (en) Data acquisition and encoding process for manufacturing, inspection, maintenance and repair of a structural product
JP6997964B2 (ja) 判別システム、判別装置、学習装置、判別方法及びプログラム
US11941519B2 (en) Machine learning training platform
CN110673874B (zh) 用于向导式编程软件的变更配置的方法、存储介质、设备
CN110716778B (zh) 应用兼容性测试方法、装置及系统
CN115816831A (zh) 基于云端控制3d打印机功耗缩减方法、装置、设备及介质
Standfield et al. An approach to monitoring and guiding manual assembly processes
CN111169164B (zh) 用于检查物品的印刷的设备和方法
JP2007115038A (ja) プリント基板品質情報管理システム
KR102251743B1 (ko) 정보 제공 장치의 보수 관리 방법 및 시스템
JP7354721B2 (ja) 情報処理プログラム、情報処理方法および情報処理装置
WO2022215446A1 (ja) 画像判定装置、画像判定方法、及び、プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141015