JP7138579B2 - 画像処理プログラミング装置、及び画像処理プログラミング方法 - Google Patents

画像処理プログラミング装置、及び画像処理プログラミング方法 Download PDF

Info

Publication number
JP7138579B2
JP7138579B2 JP2019014406A JP2019014406A JP7138579B2 JP 7138579 B2 JP7138579 B2 JP 7138579B2 JP 2019014406 A JP2019014406 A JP 2019014406A JP 2019014406 A JP2019014406 A JP 2019014406A JP 7138579 B2 JP7138579 B2 JP 7138579B2
Authority
JP
Japan
Prior art keywords
image
processing
display area
sub
block
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.)
Active
Application number
JP2019014406A
Other languages
English (en)
Other versions
JP2020123130A (ja
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.)
CKD Corp
Original Assignee
CKD 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 CKD Corp filed Critical CKD Corp
Priority to JP2019014406A priority Critical patent/JP7138579B2/ja
Publication of JP2020123130A publication Critical patent/JP2020123130A/ja
Application granted granted Critical
Publication of JP7138579B2 publication Critical patent/JP7138579B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Description

本発明は、画像を処理する手順をプログラミングする装置に関する。
従来、この種の装置において、電子画像データに対して画像処理を実行し、画像処理結果の表示を行う装置がある(特許文献1参照)。特許文献1に記載の装置は、電子画像データに対して画像処理を実行する複数の画像処理アイテムを備え、画像処理手順のプログラミング中に、それぞれの画像処理アイテムによる画像処理の結果画像を、それぞれ表示領域に表示している。
特許第4767309号公報
ところで、特許文献1に記載の装置では、プログラミング中に、各画像処理アイテムによる画像処理の結果が適正であるか否かをユーザが判定しなければならず、また画像処理全体の結果が適正であるか否かもユーザが判定しなければならない。
本発明は、上記課題を解決するためになされたものであり、その主たる目的は、各処理の結果が適正であるか否か、及び画像処理全体の結果が適正であるか否かを、プログラミング中にユーザが容易に知ることのできる画像処理プログラミング装置を提供することにある。
上記課題を解決するための第1の手段は、画像を処理する手順をプログラミングする装置であって、
各処理を表す各ブロックを、前記各処理を実行する順番に並べて第1表示領域に表示する第1表示部と、
前記第1表示領域に表示された前記各ブロックから1つのブロックが対象ブロックとして選択された場合に、前記対象ブロックが表す処理である対象処理を構成する各サブ処理を、第2表示領域に表示する第2表示部と、
を備え、
前記第2表示部は、前記対象処理を構成する前記各サブ処理のうち判定を行うサブ処理であるサブ判定処理の結果が適正であるか否かを、前記第2表示領域に表示し、
前記第1表示部は、前記対象処理を構成する前記サブ判定処理の結果が全て適正であるか否かを、前記対象処理の結果として前記第1表示領域に表示し、
前記各処理の結果が全て適正であるか否かを、画像処理の全体の結果として第3表示領域に表示する第3表示部を備える。
上記構成によれば、第1表示部は、各処理を表す各ブロックを、各処理を実行する順番に並べて第1表示領域に表示する。このため、画像処理手順のプログラミング中にユーザは、画像処理において実行される各処理、及び各処理が実行される順番を容易に把握することができる。第2表示部は、第1表示領域に表示された各ブロックから1つのブロックが対象ブロックとして選択された場合に、対象ブロックが表す処理である対象処理を構成する各サブ処理を、第2表示領域に表示する。このため、プログラミング中にユーザは、第1表示領域に表示された各ブロックから1つのブロックを対象ブロックとして選択することにより、対象処理を構成する各サブ処理を容易に把握することができる。
ここで、第2表示部は、対象処理を構成する各サブ処理のうち判定を行うサブ処理であるサブ判定処理の結果が適正であるか否かを、第2表示領域に表示する。このため、プログラミング中にユーザは、第2表示領域を見るだけで、サブ判定処理の結果が適正であるか否かを容易に知ることができる。第1表示部は、対象処理を構成するサブ判定処理の結果が全て適正であるか否かを、対象処理の結果として第1表示領域に表示する。このため、プログラミング中にユーザは、第1表示領域を見るだけで、対象処理の結果が適正であるか否かを容易に知ることができる。第3表示部は、各処理の結果が全て適正であるか否かを、画像処理全体の結果として第3表示領域に表示する。このため、プログラミング中にユーザは、第3表示領域を見るだけで、画像処理全体の結果が適正であるか否かを容易に知ることができる。すなわち、プログラミング中にユーザは、各サブ判定処理の結果が適正であるか否か、対象処理の結果が適正であるか否か、及び画像処理全体の結果が適正であるか否かを、一目で容易に知ることができる。
第2の手段では、前記対象処理は、複数の前記サブ判定処理を含み、前記第2表示部は、複数の前記サブ判定処理のうち、結果が適正であるか否かを表示するサブ判定処理を選択可能とし、前記対象処理に前記サブ判定処理を追加可能とする。こうした構成によれば、対象処理が複数のサブ判定処理を含む場合に、結果が適正であるか否かを表示するサブ判定処理をユーザが選択することができる。
さらに、ユーザは必要に応じて対象処理にサブ判定処理を追加することができる。そして、追加されたサブ判定処理も含めて、結果が適正であるか否かを表示するサブ判定処理をユーザが選択することができる。
第3の手段では、前記第1表示部は、前記各処理のうち画像の入力及び出力の少なくとも一方を行う処理である画像入出力処理を表す各ブロックに、前記画像の形式を表すアイコンを表示し、前記画像の形式は、カラー画像、グレー画像、並びに、カラー画像若しくはグレー画像、の少なくとも1つを含む。こうした構成によれば、プログラミング中にユーザは、ブロックのアイコンを見るだけで、画像の入力及び出力の少なくとも一方を行う処理の画像の形式を容易に把握することができる。
さらに、入出力される画像の形式が、一般的なカラー画像、グレー画像等のいずれであるかを、ユーザが容易に把握することができる。
第4の手段では、前記第1表示部は、前記各処理を表す前記各ブロックを、前記各処理を実行する順番に上から下へ並べて前記第1表示領域に表示し、前記画像入出力処理を表す各ブロックの上部に前記入力を行う画像の形式を表すアイコンを表示し、前記画像入出力処理を表す各ブロックの下部に前記出力を行う画像の形式を表すアイコンを表示する。
上記構成によれば、第1表示部は、各処理を表す各ブロックを、各処理を実行する順番に上から下へ並べて第1表示領域に表示する。このため、プログラミング中にユーザは、各処理の順番を上から下への自然な流れで把握することができる。そして、第1表示部は、画像入出力処理を表す各ブロックの上部に入力を行う画像の形式を表すアイコンを表示し、画像入出力処理を表す各ブロックの下部に出力を行う画像の形式を表すアイコンを表示する。このため、プログラミング中にユーザは、ブロックの上部に表示されたアイコンにより、上の処理から入力される画像の形式を直感的に把握することができ、ブロックの下部に表示されたアイコンにより、下の処理へ出力される画像の形式を直感的に把握することができる。
第5の手段では、前記各処理は、処理の種類に応じて、実行する順番が予め決められており、前記第1表示部は、前記各処理を表す前記各ブロックを、処理の種類に応じて前記各処理を実行する順番に自動的に並べて前記第1表示領域に表示する。こうした構成によれば、ユーザが処理の種類に応じて予め決められた各処理の実行順番を知らなくても、各処理を表す各ブロックを、処理の種類に応じて各処理を実行する順番に自動的に並べることができる。
第6の手段では、ユーザの手動操作により前記各処理を実行する手動モードと、外部装置からの指令により前記各処理を実行する外部モードとに切り替え可能であり、前記外部モード中は、前記各処理及び前記各サブ処理の変更、並びに前記ユーザの手動操作による前記各処理の実行を禁止する。
上記構成によれば、手動モードでは、ユーザは手動操作により各処理を実行することができる。また、外部モードでは、外部装置からの指令により各処理が実行される。外部モードにおいて外部装置からの指令により各処理が実行されている時に、ユーザが各処理又は各サブ処理を変更したり、手動操作により各処理を実行したりすると、外部モードにおいて想定していた画像処理が実行されないおそれがある。
この点、外部モード中は、各処理及び各サブ処理の変更、並びにユーザの手動操作による各処理の実行が禁止される。したがって、外部モードにおいて想定していた画像処理を確実に実行することができ、画像処理の精度を安定させることができる。
一般に、画像処理の全体に含まれるいずれかの処理でエラーが発生した場合、画像処理の全体が実行不能となり、いずれの処理も実行不能となることが多い。
この点、第7の手段では、前記第1表示部は、前記各処理を実行した時にエラーが発生した処理であるエラー処理を表すブロックを、前記エラーの発生を示す状態で表示し、前記エラー処理よりも前の前記各処理を実行可能とし、前記エラー処理よりも後の前記各処理を実行不能とする。こうした構成によれば、エラー処理をユーザが容易に把握することができるとともに、エラーの原因がエラー処理よりも前の処理で発生しているかどうかをユーザが確認し易くなる。
第8の手段では、前記第1表示部は、前記各ブロックが表す前記各処理で設定可能な情報を入力可能とするテキストボックスを、前記各ブロック内に表示する。こうした構成によれば、テキストボックスが表示されている部分は設定可能な情報であることを、ユーザが容易に把握することができる。さらに、第1表示領域に表示された各ブロックにおいて、設定された情報をユーザが直接確認することができ、情報を設定するための別画面等を表示する必要がない。
第9の手段は、画像を処理する手順をプログラミングする方法であって、
コンピュータが、
各処理を表す各ブロックを、前記各処理を実行する順番に並べて第1表示領域に表示する工程と、
前記第1表示領域に表示された前記各ブロックから1つのブロックが対象ブロックとして選択された場合に、前記対象ブロックが表す処理である対象処理を構成する各サブ処理を、第2表示領域に表示する工程と、
前記対象処理を構成する前記各サブ処理のうち判定を行うサブ処理であるサブ判定処理の結果が適正であるか否かを、前記第2表示領域に表示する工程と、
前記対象処理を構成する前記サブ判定処理の結果が全て適正であるか否かを、前記対象処理の結果として前記第1表示領域に表示する工程と、
前記各処理の結果が全て適正であるか否かを、画像処理の全体の結果として第3表示領域に表示する工程と、
を実行する。
また、第9の手段に準じて、コンピュータを、画像を処理する手順をプログラミングする装置として機能させるコンピュータプログラムとして、実現することもできる。
また、第9の手段に準じて、コンピュータを、画像を処理する手順をプログラミングする装置として機能させるコンピュータプログラムを記録したプログラム記録媒体として、実現することもできる。
画像処理システムを示すブロック図。 プログラミング画面の一例を示す図。 照明ブロックを示す図。 画像入力ブロックを示す図。 前処理ブロックを示す図。 メイン処理ブロックを示す図。 出力ブロックを示す図。 サーバブロックを示す図。 画像入出力処理を表すブロックを示す図。 画像の形式を表すアイコンを示す図。 注目領域のプログラミング画面を示す図。 注目領域の設定画面を示す図。 メイン処理のプログラミング画面を示す図。 エラー発生状態を示す図。 出力処理のプログラミング画面を示す図。 サーバ設定のプログラミング画面を示す図。
以下、ワークの検査等を行う画像処理システムに具現化した一実施形態について、図面を参照しつつ説明する。
図1に示すように、画像処理システム10は、カメラ11、ライト12、PC(Personal Computer)20、モニタ13、及び外部装置14等を備えている。
カメラ11は、CCD(charge coupled device)や、CMOS(complementary metal-oxide semiconductor)等のイメージセンサにより構成されている。カメラ11は、PC20からの指令に基づいて、検査対象の撮影(撮像)を行う。カメラ11は、撮影により得られた画像データをPC20へ送信する。
ライト12(照明装置)は、LED(light emitting diode)等の発光素子により構成されている。ライト12は、PC20からの指令に基づいて、検査対象に対して指令された強度及び指令された時間で光の照射を行う。
モニタ13は、液晶ディスプレイ等により構成されている。モニタ13は、PC20からの指令に基づいて、各種の画像や各種の情報等を表示画面に表示する。
PC20は、CPU、ROM、RAM、入出力インターフェース等を備えるコンピュータである。PC20は、カメラ11による撮影、ライト12による光の照射、及びモニタ13による表示を制御する。PC20(画像処理プログラミング装置)は、コンピュータプログラムを実行することにより、画像を処理する手順をプログラミングする装置(プログラム作成支援装置)として機能する。すなわち、PC20は、画像処理プログラミング方法の各工程を実行する。コンピュータプログラムは、PC20のROMに組み込まれていてもよいし、PC20がプログラム記録媒体を読み込んで取得してもよいし、PC20がインターネット等を通じてダウンロードしてもよい。ユーザは、キーボードやマウス等を用いてPC20を操作することにより、画像処理プログラムの編集(プログラミング)を行う。なお、PC20により、第1表示部、第2表示部、及び第3表示部の機能が実現される。
外部装置14は、PC20へ画像処理プログラムを開始(実行)するタイミング等を指令する。外部装置14は、後述するHttp(Web)サーバ等により構成されている。
図2は、プログラミング画面の一例を示す図である。プログラミング画面は、GUI(Graphical User Interface)により構成されている。すなわち、ユーザは、PC20を操作して、ビジュアルプログラミングにより画像処理プログラムを作成することができる。
プログラミング画面は、メニュー表示領域21、ツール表示領域40、フロー表示領域60、詳細表示領域80を含んでいる。メニュー表示領域21は、画面の上部に配置されている。画面においてメニュー表示領域21の下方に、左から順にツール表示領域40、フロー表示領域60、及び詳細表示領域80が配置されている。
メニュー表示領域21には、各種のメニューアイコンが表示されている。メニューアイコンは、プログラム編集アイコン22、サーバ設定アイコン23、サーバ実行アイコン24、サーバ停止アイコン25、手動実行アイコン26、連続実行アイコン27、手動停止アイコン28、ヘルプアイコン29を含んでいる。
PC20は、ユーザが各メニューアイコンをクリックすることにより、各メニューアイコンが表すメニューに切り換える。プログラム編集アイコン22がクリックされることにより、プログラム編集画面に画面表示を切り換える。サーバ設定アイコン23がクリックされることにより、サーバ設定画面に画面表示を切り換える。サーバ実行アイコン24がクリックされることにより、サーバモード(外部モード)による画像処理プログラムの実行に切り換える。サーバ停止アイコン25がクリックされることにより、サーバモードによる画像処理プログラムの実行を停止する。手動実行アイコン26がクリックされることにより、手動モードにより画像処理プログラムを実行する。連続実行アイコン27がクリックされることにより、手動モードにより画像処理プログラムを連続的に実行する。手動停止アイコン28がクリックされることにより、手動モードによる画像処理プログラムの実行を停止する。ヘルプアイコン29がクリックされることにより、各種のヘルプ画面を表示する。
メニュー表示領域21には、実行時間30が表示されている。実行時間30は、画像処理プログラムの開始から終了までの時間である。メニュー表示領域21の全体結果表示欄31(第3表示領域)には、画像処理プログラムが判定を行う処理を含む場合に、画像処理プログラム(画像処理の全体)の結果が適正(OK)であるか否(NG)か、すなわち画像処理プログラム結果の適否が表示される。なお、図2では、画像処理プログラムの結果の適否は表示されていない。
ツール表示領域40には、処理の種類を表すタブ41が表示されている。タブ41は、照明処理を表す「Lighting」タブ、画像入力処理を表す「ImageInput」タブ、前処理を表す「Preprocess」タブ、メイン処理を表す「MainProcess」タブ、及び出力処理を表す「Output」タブを含んでいる。ユーザがいずれかのタブをクリックして選択すると、選択されたタブが表す処理の種類のブロックリストが、処理の種類毎に異なる色でタブ41の下方に表示される。図2では、「Preprocess」タブが選択されており、前処理を表すブロックのリストが、前処理に対応する色で表示されている。
図3は、「Lighting」タブが選択された場合に、タブ41の下方に表示される照明ブロック42を示している。照明ブロック42は、照明処理の内容を表しており、照明処理に対応する色で表示されている。照明ブロック42では、ライト12のシリアルナンバー、光の強度、及び照射時間を設定可能となっている。設定可能な情報は、ブロック内にテキストボックスで表示されている。
図4は、「ImageInput」タブが選択された場合に、タブ41の下方に表示される画像入力ブロック43A~43Cを示している。画像入力ブロック43A~43Cは、それぞれ画像入力処理の内容を表しており、画像入力処理に対応する色で表示されている。画像入力ブロック43Aが表す処理は、指定した画像ファイルを読み込み、読み込んだ画像を出力する。画像入力ブロック43Bが表す処理は、指定したカメラにより撮影した画像を入力し、入力した画像を出力する。画像入力ブロック43Cが表す処理は、指定したカメラにより設定した条件で撮影した画像を入力し、入力した画像を出力する。設定可能な情報は、プロッ内にテキストボックスで表示されている。
図5は、「Preprocess」タブが選択された場合に、タブ41の下方に表示される前処理ブロック44A~44C等を示している。前処理ブロック44A~44C等は、それぞれメイン処理の前処理の内容を表しており、前処理に対応する色で表示されている。例えば、前処理ブロック44Aが表す処理は、画像を入力し、入力画像において指定された色相(H)、彩度(S)、及び明度(V)の範囲で抽出した画像を出力する。前処理ブロック44Bが表す処理は、画像を入力し、入力画像をフィルタにより処理した画像を出力する。前処理ブロック44Cが表す処理は、カラー画像を入力し、グレー画像に変換して出力する。設定可能な情報は、ブロック内にテキストボックスあるいは選択タブで表示されている。
図6は、「MainProcess」タブが選択された場合に、タブ41の下方に表示されるメイン処理ブロック45A~45C等を示している。メイン処理ブロック45A~45C等は、それぞれメイン処理の内容を表しており、メイン処理に対応する色で表示されている。例えば、メイン処理ブロック45Aが表す処理は、グレー画像を入力し、入力画像において対象の数を計数(カウント)する。メイン処理ブロック45Bが表す処理は、グレー画像を入力し、入力画像においてエッジ間の距離を計測する。メイン処理ブロック45Cが表す処理は、カラー画像を入力し、入力画像においてテンプレートマッチングを行う。各ブロックは、ID(識別コード)を設定可能となっている。設定可能な情報は、ブロック内にテキストボックスで表示されている。
図7は、「Output」タブが選択された場合に、タブ41の下方に表示される出力ブロック46A,46B等を示している。出力ブロック46A,46B等は、それぞれ出力処理の内容を表しており、出力処理に対応する色で表示されている。例えば、出力ブロック46Aが表す処理は、入力画像を出力する。出力ブロック46Bが表す処理は、計測値をCSV(Comma Separated Value)として出力する。
上記のように、PC20(第1表示部)は、上記各ブロックが表す各処理で設定可能な情報を入力可能とするテキストボックスを、各ブロック内に表示する。そして、ユーザがテキストボックス内に情報を入力することにより、各ブロックが表す各処理において情報が設定される。そして、PC20は、設定された情報を用いて各処理を実行する。
図8は、上記サーバ設定アイコン23が選択された場合に、ツール表示領域40に表示されるサーバブロック47A等を示している。サーバブロック47A等は、それぞれ選択可能な外部サーバ(外部装置)を表しており、外部サーバに対応する色で表示されている。例えば、サーバブロック47Aは、Http(Web)サーバを表している。
ここで、PC20(第1表示部)は、上記各処理のうち画像の入力及び出力の少なくとも一方を行う処理である画像入出力処理を表す各ブロックに、画像の形式を表すアイコンを表示する。図9は、画像入出力処理を表すブロックを示す図である。詳しくは、PC20は、画像入出力処理を表す各ブロックの上部に入力画像の形式を表すアイコンを表示し、画像入出力処理を表す各ブロックの下部に出力画像の形式を表すアイコンを表示する。
図10は、画像の形式を表すアイコンであり、アイコンI1はカラー画像を表し、アイコンI2はグレー画像を表し、アイコンI3はカラー画像若しくはグレー画像を表している。アイコンI1は、カラーのグラデーション(階調)画像で構成されている。アイコンI2は、グレーのグラデーション画像で構成されている。アイコンI3は、左半分がグレーのグラデーション画像で構成されており、右半分がカラーのグラデーション画像で構成されている。なお、アイコンI1をRGBの3色パターンで表示したり、アイコンI2を白と黒の格子で表示したり、アイコンI3を上半分がカラーパターン且つ下半分がグレーパターンで表示したりしてもよい。
図9に示すように、例えば画像入力ブロック43Bの左端の下部には、アイコンI1が表示されている。これにより、画像入力ブロック43Bが表す処理は、カラー画像を出力することが表されている。前処理ブロック44Cの左端の上部にはアイコンI1が表示され、下部にはアイコンI2が表示されている。これにより、前処理ブロック44Cが表す処理は、カラー画像を入力し、グレー画像を出力することが表されている。前処理ブロック44Dの左端の上部にはアイコンI3が表示され、下部にはアイコンI3が表示されている。これにより、前処理ブロック44Dが表す処理は、カラー画像若しくはグレー画像を入力し、カラー画像若しくはグレー画像を出力することが表されている。
図2に戻り、フロー表示領域60(第1表示領域)には、上記各処理を表す各ブロックが、各処理を実行する順番に並べて表示されている。詳しくは、PC20(第1表示部)は、各処理を表す各ブロックを、各処理を実行する順番に上から下へ並べてフロー表示領域60に表示する。
ユーザは、ツール表示領域40においてブロックをドラッグして、フロー表示領域60にドロップする。これにより、フロー表示領域60にそのブロックが表示される。また、表示されたブロックを選択してDelキーを押す、又は表示されたブロックをドラッグしてツール表示領域40にドロップすることで、そのブロックが消去される。各処理は、処理の種類に応じて、実行する順番が予め決められており、PC20は、各処理を表す各ブロックを、処理の種類に応じて各処理を実行する順番に自動的に並べてフロー表示領域60に表示する。具体的には、照明処理、画像入力処理、前処理、メイン処理、出力処理の順番で実行される。このため、PC20は、ブロックがドロップされた位置にかかわらず、上記順番にブロックを自動的に並べ替える。同じ種類の処理では、ユーザがブロックをドロップした位置に従って、ブロックが順番に並べられる。なお、照明処理は省略することが可能である。また、コンボボックス62(切替ボックス)をユーザが操作することにより、編集するフロー(画像処理プログラム)を切り替えることができる。
詳細表示領域80(第2表示領域)には、フロー表示領域60に表示された各ブロックが表す各処理の詳細が表示されている。図2では、フロー表示領域60に表示された画像入力ブロック43Cが表す処理の結果画像が表示されている。画像情報表示欄81には、表示された画像においてマウスで選択した位置の情報が表示されている。ここでは、座標、R(Red)、G(Green)、B(Blue)、色相(H)、彩度(S)、明度(V)の各値が表示されている。フロー表示領域60に表示された画像入力ブロック43Cが表す処理の結果画像は、画像入力ブロック43Cに表示されているパラメータ(情報)が変更されることにより、リアルタイムで変化する。手動モードにより画像処理プログラムを連続的に実行している場合も、画像入力ブロック43Cに表示されているパラメータが変更されることにより、結果画像はリアルタイムで変化する。画像処理プログラムを連続的に実行している場合は、サーバモードによる画像処理プログラムの実行は不能となる。また、ボタン82は、画像を保存する処理を実行するボタンである。
図11は、注目領域のプログラミング画面を示す図である。ツール表示領域40では、「MainProcess」タブが選択されている。
PC20(第2表示部)は、フロー表示領域60に表示された各ブロックから1つのブロックが対象ブロックとして選択された場合に、対象ブロックが表す処理である対象処理を構成する各サブ処理を、詳細表示領域80に表示する。ここでは、メイン処理ブロック45Aが対象ブロックとして選択されている。サブ処理としては、前処理ブロック44が表す処理と領域設定処理51とが含まれている。ユーザは、ツール表示領域40において「Preprocess」タブを選択した後に前処理ブロックをドラッグして、詳細表示領域80にドロップする。これにより、詳細表示領域80にそのブロック、例えば前処理ブロック44が表示される。各前処理ブロック44は、詳細表示領域80にユーザが前処理ブロックをドロップした位置に従って並べられる。
領域設定処理51では、ユーザは注目領域84を設定することができる。注目領域84は、画像全体(Entire image)、原点+サイズ(Origin + Size)、4辺(4 Sides)のいずれかにより設定することができる。「原点+サイズ」では、左上の座標と注目領域84のサイズとを設定することができる。その際に、対象ブロックよりも前の処理で算出された値を、注目領域84の設定に用いることができる。例えば、メイン処理ブロック45Aの前のメイン処理ブロック45Dを、ID:Objectstatus1で指定することにより、メイン処理ブロック45Dが表す処理で算出された値(例えばX)を注目領域84の設定に用いることができる。「4辺」では、上下左右の座標を設定することができる。
図12は、注目領域84の設定画面を示す図である。ユーザは、マウスを用いたドラッグ操作によっても注目領域84を設定することができる。
図13は、メイン処理のプログラミング画面を示す図である。ツール表示領域40では、「Preprocess」タブが選択されている。
PC20は、対象処理を構成する各サブ処理のうち判定を行うサブ処理の1つであるカウント処理52(サブ判定処理)の結果が適正(OK)であるか否(NG)かを、サブ結果表示欄83(詳細表示領域80)に表示する。ここでは、注目領域84に含まれるワークWの数を計数して、その数が閾値の範囲内であるか否かを判定している。閾値の下限52aは4に設定されており、閾値の上限52bは4に設定されている。すなわち、PC20はワークWの数が4であるか否か判定している。計数値52cは、計数結果であるワークWの数を示している。そして、PC20は、計数の結果が適正(OK)であることを、サブ結果表示欄83に表示している。ユーザは、下限52a及び上限52bに値を入力することにより、判定に用いる閾値を設定することができる。
PC20は、対象処理を構成するサブ判定処理の結果が全て適正であるか否かを、対象処理の結果として処理結果表示欄61(フロー表示領域60)に表示している。処理結果表示欄61は、対象処理を表すブロック内に配置されている。すなわち、サブ判定処理を含む対象処理の結果は、対象処理を表すブロック内に表示される。PC20は、対象処理を構成するサブ判定処理の結果が1つでも適正でなければ、対象処理の結果が適正でない(NG)として処理結果表示欄61に表示する。ここでは、サブ判定処理がカウント処理52の1つだけの例を示しているが、対象処理は複数のサブ判定処理を含むことができる。その場合、PC20は、複数のサブ判定処理のうち、結果が適正であるか否かを表示するサブ判定処理や、実行するサブ判定処理を選択可能とする。さらに、PC20は、対象処理にユーザがサブ判定処理を追加可能とする。
そして、PC20(第3表示部)は、フロー表示領域60に表示された各ブロックが表す各処理の結果が全て適正であるか否かを、画像処理の全体の結果として全体結果表示欄31に表示する。PC20は、フロー表示領域60に表示された各ブロックが表す各処理の結果が1つでも適正でなければ、画像処理の全体の結果が適正でない(NG)として全体結果表示欄31に表示する。
図14は、エラー発生状態を示す図である。ここでは、出力ブロック46Aが表す処理でエラーが発生していることが、太枠で表されている。すなわち、出力ブロック46Aが表す処理は、各処理を実行した時にエラーが発生した処理であるエラー処理である。PC20は、エラー処理を表す出力ブロック46Aを、エラーの発生を示す状態で表示する。PC20は、出力ブロック46Aが表すエラー処理よりも前の各処理(例えばメイン処理ブロック45Aが表す処理)を実行可能とし、エラー処理よりも後の各処理(図示略)を実行不能とする。同図では、出力ブロック46Aが入力画像を出力する処理であるのに対して、その前のメイン処理ブロック45Aが表す処理は計数したワークWの数を出力する処理であるため、データの形式が整合せずにエラーが発生している。その他、入力する画像の形式がグレー画像に限られるメイン処理に対して、その前のメイン処理が出力する画像の形式がカラー画像である場合等、画像の形式が前後の処理で整合していない場合もエラーが発生する。
図15は、出力処理のプログラミング画面を示す図である。ツール表示領域40では、「Output」タブが選択されている。ユーザは、ツール表示領域40において出力ブロック46の1つをドラッグして、フロー表示領域60にドロップする。これにより、例えばフロー表示領域60に出力ブロック46Aが表示される。
図16は、サーバ設定のプログラミング画面を示す図である。メニュー表示領域21においてサーバ設定アイコン23が選択されることにより、ツール表示領域40にサーバブロック47が表示されている。ユーザは、ツール表示領域40においてサーバブロック47の1つをドラッグして、フロー表示領域60にドロップする。これにより、例えばフロー表示領域60にサーバブロック47Aが表示される。
このように、例えばHttpサーバ(外部装置)が選択されており、サーバ実行アイコン24が選択されると、サーバモード(外部モード)に移行する。サーバモードにおいてHttpサーバからの指令により各処理が実行されている時に、ユーザが各処理又は各サブ処理を変更したり、手動操作により各処理を実行したりすると、サーバモードにおいて想定していた画像処理が実行されないおそれがある。そこで、PC20は、サーバモード中は、上記各処理及び各サブ処理の変更、並びにユーザの手動操作による各処理の実行を禁止する。各処理の変更は、各処理で用いられる情報の変更、各処理の追加、各処理の削除を含む。
以上詳述した本実施形態は、以下の利点を有する。
・PC20は、各処理を表す各ブロックを、各処理を実行する順番に並べてフロー表示領域60に表示する。このため、画像処理手順のプログラミング中にユーザは、画像処理において実行される各処理、及び各処理が実行される順番を容易に把握することができる。さらに、プログラミング言語によりプログラミングを行うスキルを有していないユーザであっても、画像処理プログラムを容易に作成することができる。
・PC20は、フロー表示領域60に表示された各ブロックから1つのブロックが対象ブロックとして選択された場合に、対象ブロックが表す処理である対象処理を構成する各サブ処理を、詳細表示領域80に表示する。このため、プログラミング中にユーザは、フロー表示領域60に表示された各ブロックから1つのブロックを対象ブロックとして選択することにより、対象処理を構成する各サブ処理を容易に把握することができる。
・PC20は、対象処理を構成する各サブ処理のうち判定を行うサブ処理であるサブ判定処理の結果が適正であるか否かを、詳細表示領域80(詳しくはサブ結果表示欄83)に表示する。このため、プログラミング中にユーザは、詳細表示領域80を見るだけで、サブ判定処理の結果が適正であるか否かを容易に知ることができる。
・PC20は、対象処理を構成するサブ判定処理の結果が全て適正であるか否かを、対象処理の結果としてフロー表示領域60(詳しくは処理結果表示欄61)に表示する。このため、プログラミング中にユーザは、フロー表示領域60を見るだけで、対象処理の結果が適正であるか否かを容易に知ることができる。
・PC20は、各処理の結果が全て適正であるか否かを、画像処理全体の結果として全体結果表示欄31に表示する。このため、プログラミング中にユーザは、全体結果表示欄31を見るだけで、画像処理全体の結果が適正であるか否かを容易に知ることができる。すなわち、プログラミング中にユーザは、各サブ判定処理の結果が適正であるか否か、対象処理の結果が適正であるか否か、及び画像処理全体の結果が適正であるか否かを、一目で容易に知ることができる。
・対象処理は、複数のサブ判定処理を含むことができ、PC20は、複数のサブ判定処理のうち、結果が適正であるか否かを表示するサブ判定処理を選択可能とする。こうした構成によれば、対象処理が複数のサブ判定処理を含む場合に、結果が適正であるか否かを表示するサブ判定処理をユーザが選択することができる。
・PC20は、対象処理にサブ判定処理を追加可能とする。こうした構成によれば、ユーザは必要に応じて対象処理にサブ判定処理を追加することができる。そして、追加されたサブ判定処理も含めて、結果が適正であるか否かを表示するサブ判定処理をユーザが選択することができる。
・PC20は、各処理のうち画像の入力及び出力の少なくとも一方を行う処理である画像入出力処理を表す各ブロックに、画像の形式を表すアイコンI1~I3を表示する。こうした構成によれば、プログラミング中にユーザは、ブロックのアイコンを見るだけで、画像の入力及び出力の少なくとも一方を行う処理の画像の形式を容易に把握することができる。
・画像の形式は、カラー画像、グレー画像、並びに、カラー画像若しくはグレー画像、の少なくとも1つを含む。こうした構成によれば、入出力される画像の形式が、一般的なカラー画像、グレー画像等のいずれであるかを、ユーザが容易に把握することができる。
・PC20は、各処理を表す各ブロックを、各処理を実行する順番に上から下へ並べてフロー表示領域60に表示する。このため、プログラミング中にユーザは、各処理の順番を上から下への自然な流れで把握することができる。そして、PC20は、画像入出力処理を表す各ブロックの上部に入力を行う画像の形式を表すアイコンを表示し、画像入出力処理を表す各ブロックの下部に出力を行う画像の形式を表すアイコンを表示する。このため、プログラミング中にユーザは、ブロックの上部に表示されたアイコンにより、上の処理から入力される画像の形式を直感的に把握することができ、ブロックの下部に表示されたアイコンにより、下の処理へ出力される画像の形式を直感的に把握することができる。
・各処理は、処理の種類に応じて、実行する順番が予め決められており、PC20は、各処理を表す各ブロックを、処理の種類に応じて各処理を実行する順番に自動的に並べてフロー表示領域60に表示する。こうした構成によれば、ユーザが処理の種類に応じて予め決められた各処理の実行順番を知らなくても、各処理を表す各ブロックを、処理の種類に応じて各処理を実行する順番に自動的に並べることができる。
・サーバモード中は、各処理及び各サブ処理の変更、並びにユーザの手動操作による各処理の実行が禁止される。したがって、サーバモードにおいて想定していた画像処理を確実に実行することができ、画像処理の精度を安定させることができる。
・一般に、画像処理の全体に含まれるいずれかの処理でエラーが発生した場合、画像処理の全体が実行不能となり、いずれの処理も実行不能となることが多い。この点、PC20は、各処理を実行した時にエラーが発生した処理であるエラー処理を表すブロックを、エラーの発生を示す状態で表示する。PC20は、エラー処理よりも前の各処理を実行可能とし、エラー処理よりも後の各処理を実行不能とする。こうした構成によれば、エラー処理をユーザが容易に把握することができるとともに、エラーの原因がエラー処理よりも前の処理で発生しているかどうかをユーザが確認し易くなる。
・PC20は、各ブロックが表す各処理で設定可能な情報を入力可能とするテキストボックスを、各ブロック内に表示する。こうした構成によれば、テキストボックスが表示されている部分は設定可能な情報であることを、ユーザが容易に把握することができる。さらに、フロー表示領域60に表示された各ブロックにおいて、設定された情報をユーザが直接確認することができ、情報を設定するための別画面等を表示する必要がない。
なお、上記実施形態を、以下のように変更して実施することもできる。上記実施形態と同一の部分については、同一の符号を付すことにより説明を省略する。
・各ブロックが表す各処理で情報を設定する際に、各ブロック内に表示されたテキストボックスで情報を入力する態様に限らず、情報入力用の別画面を表示して情報を入力してもよい。
・画像処理の全体に含まれるいずれかの処理でエラーが発生した場合、画像処理の全体を実行不能とすることもできる。
・サーバモード中に、各処理及び各サブ処理の変更を禁止し、ユーザの手動操作による各処理の実行を禁止しなくてもよい。サーバモード中に、各処理及び各サブ処理の変更を禁止せず、ユーザの手動操作による各処理の実行を禁止してもよい。サーバモード中に、各処理及び各サブ処理の変更を禁止せず、ユーザの手動操作による各処理の実行を禁止しなくてもよい。
・手動モード及びサーバモード(外部モード)の一方のみを実行可能であってもよい。
・PC20は、各処理を表す各ブロックを、処理の種類に応じて各処理を実行する順番に自動的に並べてフロー表示領域60に表示することを、実行しなくてもよい。その場合、PC20は、ユーザの操作に従って、各処理を表す各ブロックを、各処理を実行する順番に並べてフロー表示領域60に表示する。そして、処理の種類に応じて各処理を実行する順番が不適切な場合、PC20はエラーを表示してもよい。
・PC20は、各処理を表す各ブロックを、各処理を実行する順番に左から右へ並べてフロー表示領域60に表示することもできる。その場合、PC20は、画像入出力処理を表す各ブロックの左部に入力を行う画像の形式を表すアイコンを表示し、画像入出力処理を表す各ブロックの右部に出力を行う画像の形式を表すアイコンを表示してもよい。また、画像の形式を表すアイコンの表示を省略することもできる。
・対象処理が複数のサブ判定処理を含む場合に、PC20は、各サブ判定処理の結果が適正であるか否かを全て表示してもよい。
・PC20は、各処理の結果が全て適正であるか否かを、画像処理全体の結果としてフロー表示領域60に表示してもよい。
・処理する画像は、静止画に限らず、動画であってもよい。
・ワークWの検査等を行う画像処理システムに限らず、計器の指示針の位置を読み取る読み取りシステム、患者に異常がないか見守る見守りシステム、ユーザが画像処理の練習を行う教育システム等に具現化することもできる。
10…画像処理システム、11…カメラ、12…ライト、13…モニタ、14…外部装置、20…PC、31…全体結果表示欄、40…ツール表示領域、42…照明ブロック、43A…画像入力ブロック、43B…画像入力ブロック、43C…画像入力ブロック、44…前処理ブロック、45A…メイン処理ブロック、45B…メイン処理ブロック、45C…メイン処理ブロック、45D…メイン処理ブロック、46…出力ブロック、46A…出力ブロック、46B…出力ブロック、52…カウント処理(サブ判定処理)、60…フロー表示領域(第1表示領域)、61…処理結果表示欄、80…詳細表示領域(第2表示領域)、83…サブ結果表示欄。

Claims (9)

  1. 画像を処理する手順をプログラミングする装置であって、
    各処理を表す各ブロックを、前記各処理を実行する順番に並べて第1表示領域に表示する第1表示部と、
    前記第1表示領域に表示された前記各ブロックから1つのブロックが対象ブロックとして選択された場合に、前記対象ブロックが表す処理である対象処理を構成する各サブ処理を、第2表示領域に表示する第2表示部と、
    を備え、
    前記第2表示部は、前記対象処理を構成する前記各サブ処理のうち判定を行うサブ処理であるサブ判定処理の結果が適正であるか否かを、前記第2表示領域に表示し、
    前記第1表示部は、前記対象処理を構成する前記サブ判定処理の結果が全て適正であるか否かを、前記対象処理の結果として前記第1表示領域に表示し、
    前記各処理の結果が全て適正であるか否かを、画像処理の全体の結果として第3表示領域に表示する第3表示部を備える、画像処理プログラミング装置。
  2. 前記対象処理は、複数の前記サブ判定処理を含み、
    前記第2表示部は、複数の前記サブ判定処理のうち、結果が適正であるか否かを表示するサブ判定処理を選択可能とし、前記対象処理に前記サブ判定処理を追加可能とする、請求項1に記載の画像処理プログラミング装置。
  3. 前記第1表示部は、前記各処理のうち画像の入力及び出力の少なくとも一方を行う処理である画像入出力処理を表す各ブロックに、前記画像の形式を表すアイコンを表示し、
    前記画像の形式は、カラー画像、グレー画像、並びに、カラー画像若しくはグレー画像、の少なくとも1つを含む、請求項1又は2に記載の画像処理プログラミング装置。
  4. 前記第1表示部は、前記各処理を表す前記各ブロックを、前記各処理を実行する順番に上から下へ並べて前記第1表示領域に表示し、前記画像入出力処理を表す各ブロックの上部に前記入力を行う画像の形式を表すアイコンを表示し、前記画像入出力処理を表す各ブロックの下部に前記出力を行う画像の形式を表すアイコンを表示する、請求項3に記載の画像処理プログラミング装置。
  5. 前記各処理は、処理の種類に応じて、実行する順番が予め決められており、
    前記第1表示部は、前記各処理を表す前記各ブロックを、処理の種類に応じて前記各処理を実行する順番に自動的に並べて前記第1表示領域に表示する、請求項1~4のいずれか1項に記載の画像処理プログラミング装置。
  6. ユーザの手動操作により前記各処理を実行する手動モードと、外部装置からの指令により前記各処理を実行する外部モードとに切り替え可能であり、
    前記外部モード中は、前記各処理及び前記各サブ処理の変更、並びに前記ユーザの手動操作による前記各処理の実行を禁止する、請求項1~5のいずれか1項に記載の画像処理プログラミング装置。
  7. 前記第1表示部は、前記各処理を実行した時にエラーが発生した処理であるエラー処理を表すブロックを、前記エラーの発生を示す状態で表示し、前記エラー処理よりも前の前記各処理を実行可能とし、前記エラー処理よりも後の前記各処理を実行不能とする、請求項1~6のいずれか1項に記載の画像処理プログラミング装置。
  8. 前記第1表示部は、前記各ブロックが表す前記各処理で設定可能な情報を入力可能とするテキストボックスを、前記各ブロック内に表示する、請求項1~7のいずれか1項に記載の画像処理プログラミング装置。
  9. 画像を処理する手順をプログラミングする方法であって、
    コンピュータが、
    各処理を表す各ブロックを、前記各処理を実行する順番に並べて第1表示領域に表示する工程と、
    前記第1表示領域に表示された前記各ブロックから1つのブロックが対象ブロックとして選択された場合に、前記対象ブロックが表す処理である対象処理を構成する各サブ処理を、第2表示領域に表示する工程と、
    前記対象処理を構成する前記各サブ処理のうち判定を行うサブ処理であるサブ判定処理の結果が適正であるか否かを、前記第2表示領域に表示する工程と、
    前記対象処理を構成する前記サブ判定処理の結果が全て適正であるか否かを、前記対象処理の結果として前記第1表示領域に表示する工程と、
    前記各処理の結果が全て適正であるか否かを、画像処理の全体の結果として第3表示領域に表示する工程と、
    を実行する、画像処理プログラミング方法。
JP2019014406A 2019-01-30 2019-01-30 画像処理プログラミング装置、及び画像処理プログラミング方法 Active JP7138579B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019014406A JP7138579B2 (ja) 2019-01-30 2019-01-30 画像処理プログラミング装置、及び画像処理プログラミング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019014406A JP7138579B2 (ja) 2019-01-30 2019-01-30 画像処理プログラミング装置、及び画像処理プログラミング方法

Publications (2)

Publication Number Publication Date
JP2020123130A JP2020123130A (ja) 2020-08-13
JP7138579B2 true JP7138579B2 (ja) 2022-09-16

Family

ID=71992728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019014406A Active JP7138579B2 (ja) 2019-01-30 2019-01-30 画像処理プログラミング装置、及び画像処理プログラミング方法

Country Status (1)

Country Link
JP (1) JP7138579B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251603A (ja) 2001-02-23 2002-09-06 Matsushita Electric Works Ltd 画像処理プログラム作成方法およびそのシステム
JP2009123070A (ja) 2007-11-16 2009-06-04 Keyence Corp 検査支援システム及び画像処理コントローラ

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076545A (ja) * 2001-08-31 2003-03-14 Mitsubishi Electric Corp プログラム開発支援装置
JP2010009204A (ja) * 2008-06-25 2010-01-14 Toshiba Corp 遠隔保守エージェント作成装置および作成方法
JP6608770B2 (ja) * 2016-07-08 2019-11-20 ソフトバンク株式会社 情報処理装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251603A (ja) 2001-02-23 2002-09-06 Matsushita Electric Works Ltd 画像処理プログラム作成方法およびそのシステム
JP2009123070A (ja) 2007-11-16 2009-06-04 Keyence Corp 検査支援システム及び画像処理コントローラ

Also Published As

Publication number Publication date
JP2020123130A (ja) 2020-08-13

Similar Documents

Publication Publication Date Title
CN108876761B (zh) 图像处理装置、电脑可读取记录媒体、图像处理系统
US8698833B2 (en) Color designation control device, color designation control method, and medium storing color designation control program
US8144979B2 (en) Automatic color contrast analyzer
US20240168863A1 (en) Programming devices and programs for creating and editing programs used for image processing
JP2007128306A (ja) 画像処理装置
KR20130084617A (ko) 솔더 검사를 위한 검사 기준 등록 방법 및 그 방법을 이용한 기판 검사 장치
JP4442042B2 (ja) 画像処理プログラム作成方法およびそのシステム
JP5182121B2 (ja) 基板外観検査用のライブラリデータの作成方法および検査データ作成方法
JP7138579B2 (ja) 画像処理プログラミング装置、及び画像処理プログラミング方法
JP3876607B2 (ja) 画像処理システムにおけるパラメータ設定方法
JP6516884B2 (ja) 結線検査作業支援システム
JP2009266839A (ja) 半導体検査装置及び半導体検査方法
WO2014013865A1 (ja) ウエハ外観検査装置及びウエハ外観検査装置における感度しきい値設定方法
JP4358761B2 (ja) 画像処理プログラム、画像処理装置及び記録媒体
JP5855961B2 (ja) 画像処理装置及び画像処理方法
JP3967885B2 (ja) 画像処理装置
JP6012267B2 (ja) 検査装置
US20170116746A1 (en) Method for segmenting a color image and digital microscope
US20220344124A1 (en) Charged Particle Beam Device
US20230418452A1 (en) Inspection setting device
US20240015268A1 (en) Display device, fish counting system provided therewith, and display control program
JP6706542B2 (ja) 色検査合否判定装置及び色検査合否判定方法
JP6879743B2 (ja) 画像検査装置および画像検査方法
JPH06119159A (ja) 部品の良否判定表示用プログラム作成装置
TW202328671A (zh) 自動缺陷分類裝置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210930

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220826

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220906

R150 Certificate of patent or registration of utility model

Ref document number: 7138579

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150