図面 (/)

技術 画像処理装置

出願人 三菱電機株式会社
発明者 舟久保一夫
出願日 1995年3月27日 (25年7ヶ月経過) 出願番号 1995-068031
公開日 1996年10月11日 (24年1ヶ月経過) 公開番号 1996-263663
状態 未査定
技術分野 イメージ処理・作成 画像処理 イメージ分析
主要キーワード 最適アルゴリズム 位置検出アルゴリズム 長けた 標準画像処理 ブロック登録 検査対象ワーク C言語 コンパイラ言語
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(1996年10月11日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

目的

メニュー操作という簡単操作により容易に検査対象ワークに最適な画像処理手順を選択することを可能とすることで、プログラミングをしなくとも多様な画像処理等に容易に対応できる画像処理装置を得る。

構成

検査対象ワークの画像を取り込むCCDカメラ2と、CCDカメラ2から得られたアナログ信号である映像信号ディジタル信号すなわち画像データに変換するA/D変換手段11と、A/D変換手段11により変換された画像データを格納する画像メモリ12と、画像メモリ12に格納された画像データに対し、各種画像処理や、計測処理コマンド処理を施すCPU10と、CPU10から得られた結果や前記検査対象ワークの計測、認識目的や手順を表示するモニタ装置3と、モニタ装置3を制御する表示制御手段14aと、各種データを入力、設定する入力手段15と、処理目的対応に複数の画像処理手順を登録する手順登録メモリ16と、を備えた画像処理装置。

概要

背景

図18は従来の画像処理装置の全体構成を示す図である。図において、1は画像処理装置本体、2は画像入力手段としてのCCDカメラ、3は表示手段としてのモニタ装置、4はプログラミング手段としてのキーボード、5は操作手段としてのマウス、10は中央処理装置(以下、CPUと略す)、11はCCDカメラ2で検査対象ワーク撮像したアナログ信号である映像信号ディジタルデータである画像データに変換するアナログディジタル変換手段(以下、A/D変換手段と略す)、12はディジタルデータである画像データを格納する格納手段としての画像メモリ、13は画像処理計測処理など(以下、画像処理等と略す)のプログラムおよび各種データを格納するメモリ、14はいくつかの選択項目メニューとして表示させるなどモニタ装置3を制御する表示制御手段、15はキーボード4およびマウス5などの入力機器を接続する入力手段である。

画像処理等の一般操作について説明する。まず、CCDカメラ2で検査対象ワークを撮像したアナログ信号である映像信号をA/D変換回路11に入力する。A/D変換回路11では、入力された映像信号をディジタルデータである画像データに変換し、変換した画像データを画像メモリ12に格納する。CPU10は画像メモリ12に格納されている画像データを使用して画像処理等を実行する。表示制御手段14は、画像処理等の結果をモニタ装置3へ出力し、モニタ装置3に表示する。

従来、画像処理等で検査対象ワークに処理を施す場合の画像処理等の内容の決定については、
A.画像処理等の手順(アルゴリズム)を構築し、プログラミングを実施する。
B.画像処理装置内に組み込まれているシステムで予め用意してある処理項目に対応するメニューを選択する。
というものであった。

では、以下に従来の画像処理等の手順(アルゴリズム)の構築例を説明する。例えば、検査対象ワークの位置を画像処理等で検出する場合の手順としては、
a.CCDカメラ2から取り込んだ画像を画像メモリ内に格納する。
b.この格納された濃淡画像に対して、必要であればノイズ除去濃度変換処理等を施した後、この濃淡画像に対し2値化処理を施し、2値画像に変換する。この2値画像も画像メモリに格納する。
c.更にこの2値画像に対し必要であればノイズ除去等を施し、例えば、特徴量である重心を求め、位置を検出する。
と言ったアルゴリズムが考えられる。このような対象ワークに最適なノイズ除去を組み合わせてたアルゴリズムは全て検査者が構築し、このアルゴリズムを基にプログラムを作成していく。

画像処理等の手順(アルゴリズム)のプログラムの作成は、画像処理装置1が保有しているプログラム編集エディタ機能を利用して行う。
a.画像処理装置1に付属しているキーボード4を用いてコマンドを入力する。入力されたコマンドはモニタ装置3に画像とオーバーラップされて表示される。
b.ユーザーはモニタ装置3に表示されている画像を見ながらコマンドを入力し、プログラムを作成していく。
c.作成されたプログラムは、画像処理装置1内のメモリ13に格納される。

図19は従来の画像処理装置におけるモニタ装置3に位置検出アルゴリズムによるプログラミング操作の例を表示した図である。次に、プログラミングによる操作を図19を用いて詳細に説明する。通常、プログラミング言語は、C言語に代表されるようなコンパイラ言語BASICに代表されるようなインタプリタ言語の2系統に大別できる。画像処理装置における処理プログラミングも、その言語の使用は2分されているが、以下BASICのようなインタプリタ言語であるものを例として説明する。

図において、コマンド100は1台目カメラから画像を読み込み画像メモリへ格納するコマンド、コマンド101は濃淡画像の平滑化処理を実行し、画像メモリに格納するコマンド、コマンド102は平滑化処理を施した画像に対して2値化処理を施し、画像メモリへ格納するコマンド、コマンド103は2値化された画像に対し、ノイズ除去(孤立点除去)を施し画像メモリに格納するコマンド、コマンド104は2値画像に対するラベリング処理すなわち、2値画像の塊に対し番号付け処理を行うコマンド、コマンド105はラベリングされた物体に対し重心を求め、その結果を指定された配列に格納するコマンドで、例えば重心を求めたい物体のラベル番号が1番であれば1番の塊について重心を求め、結果の重心座標(X,Y)は_Gと言う配列に格納されている。

これらコマンドは、図18のキーボード4によって入力される。つまり、検査者は処理プログラムを検査対象ワークの画像を見ながら試行錯誤して作成していく。また、上述では濃淡ノイズ除去として平滑化フィルタ、2値ノイズ除去として孤立点除去、位置検出として重心を用いた例を示したが、ワークの状態やワークの材質照明環境等の影響でノイズ除去の必要性や、その種類、処理の手順が異なる。さらに、位置検出手段も単純な重心検出が使えない場合が発生することもあり、ノイズ除去や特徴抽出手段等を工夫しワークに応じた最適アルゴリズムを構築し、認識プログラムを作成する必要がある。従って、プログラミングによる操作は、画像処理に長けた人でなければできない場合が多い。

次に、画像処理装置内に組み込まれているシステムで予め用意してある処理項目に対応するメニューを選択することにより、画像処理等の内容を決定する方法について説明する。

図20は従来の画像処理装置におけるモニタ装置3に表示されるメニューの一例を示す図である。図において、20はモニタ装置3に表示され、マウス5により移動選択が可能なカーソルである。メニュー操作の場合、まずモニタ装置3にメニューとして表示されるいくつかの選択項目を選択することにより、画像処理等の内容を決定する。モニタ装置3にメニューとして表示されているいくつかの選択項目の中から必要な項目を指示することにより、次ぎのメニューが表示されるので、続いて必要な項目をマウス5を用いて指示する。このようにしてメニューから必要項目を選択することにより、処理の内容を決定していく。

図において、表示されたメニューの内、”カメラ”の項目は、どのカメラで処理を実施するのか選択可能にするもの、”ウインドウ”の項目は、処理領域を設定可能にするもの、”濃淡ノイズ除去”の項目は、濃淡ノイズ除去の種類を選択するもの、”2値ノイズ除去”の項目は、2値ノイズ除去の種類を選択するもの、”特徴量”の項目は、どう言った特徴量を求めるのかを選択するものである。

図21は、図20において”濃淡ノイズ除去”を選択したときのプルダウンメニューが表示された状態を示した図である。プルダウンメニューとして、平滑化フィルタ、最大値フィルタ最小値フィルタラプラシアンフィルタソーベルフィルタ、未使用の6つの選択肢があり、ユーザーはこの中から必要と思われる項目を選択する。他の項目についても同様に、処理に必要な全ての項目を選択することで処理内容が決定され、操作者は特にアルゴリズムを考慮しなくても良い。

概要

メニュー操作という簡単操作により容易に検査対象ワークに最適な画像処理手順を選択することを可能とすることで、プログラミングをしなくとも多様な画像処理等に容易に対応できる画像処理装置を得る。

検査対象ワークの画像を取り込むCCDカメラ2と、CCDカメラ2から得られたアナログ信号である映像信号をディジタル信号すなわち画像データに変換するA/D変換手段11と、A/D変換手段11により変換された画像データを格納する画像メモリ12と、画像メモリ12に格納された画像データに対し、各種画像処理や、計測処理、コマンド処理を施すCPU10と、CPU10から得られた結果や前記検査対象ワークの計測、認識目的や手順を表示するモニタ装置3と、モニタ装置3を制御する表示制御手段14aと、各種データを入力、設定する入力手段15と、処理目的対応に複数の画像処理手順を登録する手順登録メモリ16と、を備えた画像処理装置。

目的

効果

実績

技術文献被引用数
1件
牽制数
2件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

検査対象ワークの画像を取り込む画像入力手段と、この画像入力手段から得られたアナログ信号である映像信号ディジタル信号すなわち画像データに変換するアナログディジタル変換手段と、このアナログ/ディジタルディジタル変換手段により変換された画像データを格納する格納手段と、この格納手段により格納された画像データに対し、各種画像処理や、計測処理コマンド処理を施す中央処理装置と、この中央処理装置から得られた結果や前記検査対象ワークの計測、認識目的や手順を表示する表示手段と、この表示手段を制御する表示制御手段と、各種データを入力、設定する入力手段と、処理目的対応に複数の画像処理手順登録する手順登録記憶手段と、を備えたことを特徴とする画像処理装置

請求項2

画像処理手順を構成する処理ブロックを登録するブロック登録記憶手段と、処理ブロックの複製、移動、削除、複合化、処理ブロックの処理内容および実行処理ブロックを選択する編集手段と、を備えたことを特徴とする請求項1記載の画像処理装置。

請求項3

画像処理手順を構成する処理ブロックの処理内容を登録する処理内容登録記憶手段と、処理ブロックの処理内容をプログラミングする編集手段と、を備えたことを特徴とする請求項1または請求項2のいずれかに記載の画像処理装置。

技術分野

0001

この発明は、産業用で用いられる画像処理装置に関するもので、更には画像処理手順アルゴリズム)の構築にかかわるユーザーインターフェースに関するものである。

背景技術

0002

図18は従来の画像処理装置の全体構成を示す図である。図において、1は画像処理装置本体、2は画像入力手段としてのCCDカメラ、3は表示手段としてのモニタ装置、4はプログラミング手段としてのキーボード、5は操作手段としてのマウス、10は中央処理装置(以下、CPUと略す)、11はCCDカメラ2で検査対象ワーク撮像したアナログ信号である映像信号ディジタルデータである画像データに変換するアナログディジタル変換手段(以下、A/D変換手段と略す)、12はディジタルデータである画像データを格納する格納手段としての画像メモリ、13は画像処理計測処理など(以下、画像処理等と略す)のプログラムおよび各種データを格納するメモリ、14はいくつかの選択項目メニューとして表示させるなどモニタ装置3を制御する表示制御手段、15はキーボード4およびマウス5などの入力機器を接続する入力手段である。

0003

画像処理等の一般操作について説明する。まず、CCDカメラ2で検査対象ワークを撮像したアナログ信号である映像信号をA/D変換回路11に入力する。A/D変換回路11では、入力された映像信号をディジタルデータである画像データに変換し、変換した画像データを画像メモリ12に格納する。CPU10は画像メモリ12に格納されている画像データを使用して画像処理等を実行する。表示制御手段14は、画像処理等の結果をモニタ装置3へ出力し、モニタ装置3に表示する。

0004

従来、画像処理等で検査対象ワークに処理を施す場合の画像処理等の内容の決定については、
A.画像処理等の手順(アルゴリズム)を構築し、プログラミングを実施する。
B.画像処理装置内に組み込まれているシステムで予め用意してある処理項目に対応するメニューを選択する。
というものであった。

0005

では、以下に従来の画像処理等の手順(アルゴリズム)の構築例を説明する。例えば、検査対象ワークの位置を画像処理等で検出する場合の手順としては、
a.CCDカメラ2から取り込んだ画像を画像メモリ内に格納する。
b.この格納された濃淡画像に対して、必要であればノイズ除去濃度変換処理等を施した後、この濃淡画像に対し2値化処理を施し、2値画像に変換する。この2値画像も画像メモリに格納する。
c.更にこの2値画像に対し必要であればノイズ除去等を施し、例えば、特徴量である重心を求め、位置を検出する。
と言ったアルゴリズムが考えられる。このような対象ワークに最適なノイズ除去を組み合わせてたアルゴリズムは全て検査者が構築し、このアルゴリズムを基にプログラムを作成していく。

0006

画像処理等の手順(アルゴリズム)のプログラムの作成は、画像処理装置1が保有しているプログラム編集エディタ機能を利用して行う。
a.画像処理装置1に付属しているキーボード4を用いてコマンドを入力する。入力されたコマンドはモニタ装置3に画像とオーバーラップされて表示される。
b.ユーザーはモニタ装置3に表示されている画像を見ながらコマンドを入力し、プログラムを作成していく。
c.作成されたプログラムは、画像処理装置1内のメモリ13に格納される。

0007

図19は従来の画像処理装置におけるモニタ装置3に位置検出アルゴリズムによるプログラミング操作の例を表示した図である。次に、プログラミングによる操作を図19を用いて詳細に説明する。通常、プログラミング言語は、C言語に代表されるようなコンパイラ言語BASICに代表されるようなインタプリタ言語の2系統に大別できる。画像処理装置における処理プログラミングも、その言語の使用は2分されているが、以下BASICのようなインタプリタ言語であるものを例として説明する。

0008

図において、コマンド100は1台目カメラから画像を読み込み画像メモリへ格納するコマンド、コマンド101は濃淡画像の平滑化処理を実行し、画像メモリに格納するコマンド、コマンド102は平滑化処理を施した画像に対して2値化処理を施し、画像メモリへ格納するコマンド、コマンド103は2値化された画像に対し、ノイズ除去(孤立点除去)を施し画像メモリに格納するコマンド、コマンド104は2値画像に対するラベリング処理すなわち、2値画像の塊に対し番号付け処理を行うコマンド、コマンド105はラベリングされた物体に対し重心を求め、その結果を指定された配列に格納するコマンドで、例えば重心を求めたい物体のラベル番号が1番であれば1番の塊について重心を求め、結果の重心座標(X,Y)は_Gと言う配列に格納されている。

0009

これらコマンドは、図18のキーボード4によって入力される。つまり、検査者は処理プログラムを検査対象ワークの画像を見ながら試行錯誤して作成していく。また、上述では濃淡ノイズ除去として平滑化フィルタ、2値ノイズ除去として孤立点除去、位置検出として重心を用いた例を示したが、ワークの状態やワークの材質照明環境等の影響でノイズ除去の必要性や、その種類、処理の手順が異なる。さらに、位置検出手段も単純な重心検出が使えない場合が発生することもあり、ノイズ除去や特徴抽出手段等を工夫しワークに応じた最適アルゴリズムを構築し、認識プログラムを作成する必要がある。従って、プログラミングによる操作は、画像処理に長けた人でなければできない場合が多い。

0010

次に、画像処理装置内に組み込まれているシステムで予め用意してある処理項目に対応するメニューを選択することにより、画像処理等の内容を決定する方法について説明する。

0011

図20は従来の画像処理装置におけるモニタ装置3に表示されるメニューの一例を示す図である。図において、20はモニタ装置3に表示され、マウス5により移動選択が可能なカーソルである。メニュー操作の場合、まずモニタ装置3にメニューとして表示されるいくつかの選択項目を選択することにより、画像処理等の内容を決定する。モニタ装置3にメニューとして表示されているいくつかの選択項目の中から必要な項目を指示することにより、次ぎのメニューが表示されるので、続いて必要な項目をマウス5を用いて指示する。このようにしてメニューから必要項目を選択することにより、処理の内容を決定していく。

0012

図において、表示されたメニューの内、”カメラ”の項目は、どのカメラで処理を実施するのか選択可能にするもの、”ウインドウ”の項目は、処理領域を設定可能にするもの、”濃淡ノイズ除去”の項目は、濃淡ノイズ除去の種類を選択するもの、”2値ノイズ除去”の項目は、2値ノイズ除去の種類を選択するもの、”特徴量”の項目は、どう言った特徴量を求めるのかを選択するものである。

0013

図21は、図20において”濃淡ノイズ除去”を選択したときのプルダウンメニューが表示された状態を示した図である。プルダウンメニューとして、平滑化フィルタ、最大値フィルタ最小値フィルタラプラシアンフィルタソーベルフィルタ、未使用の6つの選択肢があり、ユーザーはこの中から必要と思われる項目を選択する。他の項目についても同様に、処理に必要な全ての項目を選択することで処理内容が決定され、操作者は特にアルゴリズムを考慮しなくても良い。

発明が解決しようとする課題

0014

以上のように、従来の画像処理等で検査対象ワークに処理を施す場合の画像処理等の内容の決定において、従来のプログラミングによる操作では、専用のプログラムを使用して詳細な処理をさせることができるが、画像処理の知識に長けた人でなければ処理アルゴリズムを自ら構築し、プログラミングを実施するのは困難であるという問題点があった。さらに、BASIC言語のようなインタプリタ言語ならまだしも、C言語のようなコンパイラ言語であると、画像処理の知識だけではなく、C言語の知識や、プログラミング技法コンパイルデバッグなどのプログラミングに関する知識まで必要となり、一般に画像処理装置を希望通りに動作させるのは困難であるという問題点があった。

0015

また、従来のメニューによる操作では、処理に必要な項目を選択するだけで画像処理装置を容易に動作させることは可能であるが、プログラミングとは異なり、処理内容が決まっているため、予め決められた処理アルゴリズムによる通り一辺倒の処理しか出来ず、認識処理が出来る場合が限定されてしまうという問題点があった。

0016

この発明は、上述のような課題を解決するためになされたもので、第1の目的は多様な画像処理等に容易に対応できる画像処理装置を得るものである。また、第2の目的は複数の処理ブロックで構成された画像処理等の手順の編集が容易な画像処理装置を得るものである。さらに、第3の目的はプログラミングにより、画像処理等の手順の処理ブロックそのものの処理が作成可能な画像処理装置を得るものである。

課題を解決するための手段

0017

この発明に係る画像処理装置は、検査対象ワークの画像を取り込む画像入力手段から得られたアナログ信号である映像信号をアナログ/ディジタル変換手段でディジタル信号すなわち画像データに変換し、この変換された画像データを格納手段に格納する。また、中央処理装置はこの格納手段により格納された画像データに対し、各種画像処理や、計測処理、コマンド処理を施し、この中央処理装置から得られた結果や前記検査対象ワークの計測、認識目的や手順を表示制御手段で制御し、表示手段に表示する。また、入力手段により各種データを入力、設定するとともに、手順登録記憶手段に処理目的対応に複数の画像処理手順を登録するものである。

0018

また、ブロック登録記憶手段で画像処理手順を構成する処理ブロックを登録し、編集手段で処理ブロックの複製、移動、削除、複合化、処理ブロックの処理内容および実行処理ブロックを選択するものである。

0019

また、処理内容登録記憶手段で画像処理手順を構成する処理ブロックの処理内容を登録し、編集手段で処理ブロックの処理内容をプログラミングするものである。

0020

この発明に係る画像処理装置は、手順登録記憶手段に登録された画像処理手順を表示手段に処理目的対応で複数表示する。

0021

また、編集手段により画像処理手順を構成する処理ブロックの複製、移動、削除、複合化、処理ブロックの処理内容および実行処理ブロックを選択し、処理ブロックをブロック登録記憶手段に登録する。

0022

また、編集手段により画像処理手順を構成する処理ブロックの処理内容をプログラミングでき、処理ブロックの処理内容を処理内容登録記憶手段に登録する。

0023

実施例1.以下、この発明の実施例1を、図1ないし図7を用いて説明する。図1はこの発明の一実施例である画像処理装置の全体構成を示す図である。図において、1aは画像処理装置本体、2は画像入力手段としてのCCDカメラ、3は表示手段としてのモニタ装置、4はプログラミング手段としてのキーボード、5は操作手段としてのマウス、10はCPU、11はCCDカメラ2で検査対象ワークを撮像したアナログ信号である映像信号をディジタルデータである画像データに変換するA/D変換手段、12はディジタルデータである画像データを格納する格納手段としての画像メモリ、13aは画像処理等のプログラムおよび各種データを格納するメモリ、14aはいくつかの選択項目をメニューとして表示させるなどモニタ装置3を制御する表示制御手段、15はキーボード4およびマウス5などの入力機器を接続する入力手段、16は処理目的対応に複数の画像処理手順を登録する手順登録メモリ、17は画像処理手順を構成する処理ブロックを登録するブロック登録メモリ、18は処理ブロックの処理内容のプログラムを格納する処理内容登録メモリ、19は処理ブロックを編集する編集手段である。

0024

図2はこの発明の一実施例である画像処理装置による画像処理等の決定の全体フローを示す図である。図において、(a)は全体フロー、(b)はメインタスク内部の処理を示すフロー、(c)はメニュー制御内部処理を示すフローである。図2(a)において、まず、a1で電源投入し、a2で内部ROM内のOSがブートする。a3でメインタスクが起動する。図2(b)において、メインタスク内部の処理を示す。b1では外部割り込み判定を行う。b2でエラーチェックを行い、b3ではメニュー制御起動を行う。図2(c)において、c1ではカーソルアドレスを獲得し、c2ではカーソルを表示し、c3ではメニューを表示するためのメニューテーブルを操作し、c4ではメニューを表示する。

0025

図3はこの発明の一実施例である画像処理装置によるメニュー表示の内部処理のフローを示す図である。図において、d1ではマウスクリック入力の有無を判定し、d2ではマウスクリック入力がある場合、何を選択したのかを判定する。d3はアプリケーション選択時の処理、d4は編集選択時の処理、d5は保守選択時の処理、d6は終了選択時の処理、d7は選択の処理終了後、メニューテーブルデータ更新処理を行う。

0026

図4はこの発明の一実施例である画像処理装置によるアプリケーション選択時のフローを示す図である。図において、d1はマウスクリック入力の有無を確認し、d2は何を選択したのか判定する。d3はアプリケーション選択時の処理、d4は編集選択時の処理、d5は保守選択時の処理、d6は終了選択時の処理、d7は姿勢検出選択時の処理、d8はワーク判別選択時の処理、d9は文字認識選択時の処理、d10はメニューを表示するためのデータテーブルを更新する処理である。

0027

図5はこの発明の一実施例である画像処理装置による姿勢検出選択時のフローを示す図である。図において、e1はマウスクリック入力の有無を確認し、e2は何を選択したのか判定する。e3は、手順1選択時の処理、e4は手順1のエリア選択時の処理、e5は手順2選択時の処理、e6は手順2のエリア選択時の処理、24−7は手順3の処理、e8は手順3のエリア選択時の処理、e9は手順4選択時の処理、e10は手順4のエリア選択時の処理、e11は実行選択時の処理、e12は終了選択時の処理、e13はメニューを表示するためのデータテーブルを更新する処理である。

0028

図6はこの発明の実施例1の画像処理装置において、モニタ装置3に表示されているメニューの内”アプリケーション”を選択した表示例を示す図である。図において、マウス5によりカーソル20を移動させモニタ装置3に表示されているカーソル20を移動させ、メニューの中の”アプリケーション”を選択すると、”アプリケーション”のプルダウンメニューとして”姿勢検出”、”ワーク判別”、”文字認識”と言う3種類の検査対象ワークの処理目的が追加表示される。更にこれら3種類の処理目的のいずれかを1つをカーソル20を移動させて選択する。

0029

図7はこの発明の実施例1の画像処理装置において、図6に表示されている3つの検査対象ワークの処理目的の内、”姿勢検出”が選択され、姿勢検出”を行わせるための処理手順4種類を表示した例を示す図である。図において、手順1は”画像入力”、”姿勢検出”、”結果出力”の3つの処理ブロック、手順2は”画像入力”、”姿勢検出”、”計測分類”、”結果出力”の4つの処理ブロック、手順3は”画像入力”、2つの”姿勢検出”、”比較演算”、”結果出力”の5つの処理ブロック、手順4は”画像入力”、2つの”姿勢検出”、”比較演算”、”ウインドウ設定”、”計測分類”、”結果出力”の7つの処理ブロックから構成されている例を示した。

0030

この手順1を実行させるには、手順1の枠内にカーソル20を移動させて手順1を選択した後、メニューの”実行”へカーソル20を移動させて選択する。この選択をすることにより、処理ブロック順に実施される。手順1は、まずカメラからの画像入力を行い、次に、姿勢検出を実施し、結果を出力すると言う手順で実施されることになる。

0031

この実施例では、姿勢検出を行わせるための代表的な処理手順を手順1、手順2、手順3および手順4というように数種類のアルゴリズムとして用意しておき、処理したい内容によって最適な手順を選択することで、プログラミングで実行していた困難なアルゴリズム構築が不要となり、今まで困難であった認識アルゴリズムを考慮せずに目的に合った処理手順を選択可能になる。上述では、処理目的を選択すると、検査対象ワークに最適な複数の処理ブロックで構成された画像処理手順が複数表示され、その中で目的に合った処理手順を選択することで容易に画像処理等の内容の決定ができる。

0032

実施例2.以下、この発明の実施例2を、図1ないし図16を用いて説明する。図8は、図7で手順2エリアを選択した場合、すなわち図5でf5の手順2エリアを選択したフローを示す図である。図において、g1はマウスクリック入力有無の確認をし、g2はマウスがクリックされた位置は、処理ブロック内かどうかのチェックを行い、処理ブロック内であれば、g3でマウス入力ドラッグ処理であるかどうかチェックを行う。ドラッグ処理とは、マウス5に付属しているボタンを押しっぱなしにする処理である。ドラッグ処理であれば、g4でドラッグ処理を実施し、続いてg5でカーソルアドレスをチェックし、g6で処理ブロックのカーソル追従処理を行わせる。

0033

図9はこの発明の実施例2に係る画像処理装置において、処理目的として”姿勢検出”の手順2を選択し、目的の処理ブロックとして”計測分類”をクリックした場合の表示例を示す図である。手順2を選択すると、手順2専用の設定エリア21が表示される。図において、目的の処理ブロックにカーソル20を移動させ、クリックする。クリックすると、その処理ブロックが2重枠で表示され、選択されたことがわかるように強調される。さらに、設定エリア21内に、”複製”か”削除”処理内容選択項目が表示される。図8のg3において、ドラッグ処理でない場合、g7でカーソルアドレスチェックを実施し、g8で処理ブロックに2重枠を表示させる。g7およびg8は、図9で2重枠が表示される処理フローである。

0034

図10図9において目的の処理ブロックを複製・削除した場合の表示例を示す図であり、(a)は目的の処理ブロックを”複製”した状態、(b)は目的の処理ブロックをドラッグ処理している状態を示す。図10(a)は目的の処理ブロックを”複製”した状態であり、図9において”複製”の項目にカーソル20を移動させて、選択した図である。”複製”を選択すると、図9に示した2重枠で表示された処理ブロックの処理内容と同様の処理ブロックが、以前表示されていた処理ブロックの上に表示される。そして、以前表示されていた2重枠の処理ブロックは、通常の枠に戻る。

0035

処理手順の順番変更方法について説明する。図10(a)は目的の処理ブロックをドラッグ処理している状態であり、移動させたい処理ブロックにカーソル20を移動させ、ドラッグ処理を行う。目的の処理ブロックをドラッグ処理すると、その処理ブロックはカーソル20の移動に追従して自由に動くようになる。この状態で処理ブロックを希望の位置までドラッグ処理して移動させ、ドラッグ処理を中止(マウス5のボタンを離す)すると、処理ブロックはカーソルから離れる。各処理ブロックを指定しながら、処理順番を指定すると、処理ブロックがラインで結ばれ、処理手順が確定する。

0036

図11図9において目的の処理ブロックを削除した場合の表示例を示す図であり、図9において”削除”の項目を選択した図である。”削除”を選択すると、図10に示した2重枠で表示された処理ブロックの処理内容が削除される。この様に不要な処理ブロックを削除することができる。

0037

図8のg2においてマウスクリックの入力が処理ブロック外で、しかも、g9でドラッグ処理でない場合、g12で何を選択したのかチェックし、g13は複製選択時の処理、g14は削除選択時の処理、それ以外は、g15で連結線消去、g16でカーソルアドレスチェック、g17で処理順番表示処理、g18は処理順番が最後かどうか判断し、最後であれば、g19で連結線を表示する。最後でなければ、何もせず終了する。上述は、連結線が表示されるフローである。

0038

複製、移動および削除など変更を実行した手順2を実行させるには、メニューの”実行”へカーソル20を移動させて選択する。選択後、各処理ブロック順に実施される。

0039

上述のように処理ブロックを新規で発生させたり、削除したり、位置を自由に変更できることにより、処理手順が変更可能になる。つまり、処理ブロックによるプログラミングが実施可能になるものである。従って、プログラミングの知識を持たなくても、処理ブロックを用いて認識アルゴリズムを構築する事で可能になる。

0040

図12はこの発明の実施例2の画像処理装置において、処理目的”姿勢検出”の手順2を選択し、複数の処理ブロックを1つの処理ブロックとしてまとめる場合の表示例を示す図であり、(a)は1つの処理ブロックとしてまとめたい複数の処理ブロックが含まれるような矩形をマウス5をドラッグしながら描いた状態を、(b)は1つにまとめられた処理ブロックのネーミングを実施した状態を示す。手順2を選択すると、手順2専用の設定エリア21が表示される。複数の処理ブロックを1つの処理ブロックとしてまとめたいものに対して、マウス5をドラッグしながらカーソル20を移動させて、その処理ブロックが含まれるような矩形を描く。図8のg2において、マウスクリックの入力が処理ブロック外の場合、g9でマウス入力はドラッグ処理かどうかチェックし、ドラッグ処理であればg10でカーソルアドレスをチェックし、g11で処理範囲を示す矩形を表示する。図12で矩形を描画するフローである。

0041

矩形22の作成が完了すると、設定エリア21の最下部に”かな入力”が表示され、1つにまとめられた処理ブロックのネーミングを実施する。ネーミングは、図1に示してあるキーボード4を用いて行う。図12(b)では、”画像入力”と、”姿勢検出”の2つの処理ブロックを”前処理”と言う名前で、ネーミングした例を示したものである。

0042

図13は、図12において、”画像入力”と”姿勢検出”との2つの処理ブロックを”前処理”と入力した後の結果を表示した例を示す図であり、(a)”前処理”と入力したため、図12における2つの処理ブロック”画像入力”、”姿勢検出”の換わりに、”前処理”と表示された状態、(b)は1つにまとめた”前処理”を、新規処理ブロックとしてその内容をセーブ(保存)する状態を示したものである。

0043

図13(b)は、図13(a)において、”セーブ”を選択した例である。”セーブ”を選択すると、図に示すようなセーブを実施する設定エリア23が表示される。設定エリア23内には、図12で設定した処理ブロックの内容がメッセージとして”前処理=画像入力+姿勢検出”と表示される。セーブを実施する場合は、カーソル20を設定エリア23内の”確定”の項目に合わせ、選択する。ロードを実施する場合も同様で、図13(a)の状態でカーソル20を”ロード”に合わせ、選択すると、図12の設定エリア23のメッセージが”ロード”と表示され、ロードしたい処理ブロック式を選択する。(図示せず)

0044

図14は矩形で表示された2つのブロックを1つの処理として変換するフローを示す図である。図において、h1では矩形内に含まれている処理ブロックデータのセーブを行い、h2ではリターンキー入力まで日本語入力機能を開始する。h3ではキーボード入力受け付け、キー入力に対しての処理を実施する。h4では処理ブロックデータをキー入力データと変換し、h5では処理ブロック表示を変更する。

0045

上述の様に複数の処理ブロックを1つの処理ブロックにまとめることにより、サブルーチンとして扱うことが可能になり、また、このまとめた処理ブロックのネーミングが可能で、その名称でロード、セーブが可能になるため、自由度が拡大し、容易に認識アルゴリズムの構築が可能になり、操作性が向上する。

0046

図15はこの発明の実施例2の画像処理装置において、処理ブロックの内容変更を行う場合の表示例を示す図である。図9に示す、処理したい処理ブロックとして”姿勢検出”にカーソル20を移動させてクリックし、”姿勢検出”のブロックが2重枠で表示されている状態で、設定エリア21内に表示された”変更”にカーソル13を移動させて選択すると、図15に示す様に”姿勢検出”の内容を変更させるためのプルダウンメニュー24が表示される。”姿勢検出”のプルダウンメニューには、”重心”、”外接四角形中心”および”重心+慣性主軸”の3個の項目が表示されている。”姿勢検出”として現在選択されている処理内容には、図に示すように”*”マークが表示される。図では、”重心”の横に”*”マークが表示されており、”姿勢検出”の処理内容として”重心”が選択されていることを示す。現在選択されている処理内容である”重心”から、”重心+慣性主軸”に変更させる場合、カーソル20を”重心+慣性主軸”の項目まで移動させて、選択させる。この処理を実行させることにより”姿勢検出”の内容が、変更される。

0047

”姿勢検出”だけではなく、”画像入力”、”計測分類”、”結果出力”などの項目においても、同様の処理でその処理内容を変更できる。上述の様に処理ブロックの内容を変更する場合、表示されるメニューに従って変更できるため、容易に処理内容が変更できる。つまり、認識対象ワークに最適な処理方法が選択可能になる。

0048

図16はこの発明の実施例2の画像処理装置において、実行したい処理ブロックのみ実行させる場合の表示例を示す図であり、(a)は実行したい処理ブロックを選択する実行設定画面の表示例、(b)は図16(a)の状態で”実行”を選択した例である。実行したい処理ブロックの選択の確認は、選択した処理ブロックが2重枠で確認できる。また、選択の取り消しは、再び2重枠表示されている処理ブロックを選択することで実行できる。実行したい処理ブロックとして選択した処理ブロックを実行させるためには、メニュー内に表示されている”実行”の項目を選択することで可能になる。

0049

図16(b)において、25は接続されているカメラから入力された画像に対し、図15で指定した処理を施して結果を表示したもの、26は処理結果の画像、27は重心位置、矢印28は傾きである。また、枠25には重心座標(x,y)、傾きθ、処理速度を示している。再び、図16(a)の実行設定画面に戻るためには、図16(b)下部に表示される”戻る”の項目にカーソル20を移動させて選択する。

0050

上述の様に実行したい部分のみ認識処理可能となるので、認識アルゴリズムの構築が処理結果を確認しながら行うことができ、操作時間の短縮につながる。

0051

実施例3.以下、この発明の実施例3を、図1ないし図17を用いて説明する。図17はこの発明の実施例3の画像処理装置において、プログラミングを実施する場合の表示例を示す図である。まず、図6において、”編集”を選択すると、画像処理装置1aが保有しているプログラミング機能(エディタ機能)を用いて、プログラミングを実施することができる。プログラミングは、図1に示したキーボード4を用いてコマンドを入力する。図はBASICのようなインタプリタ言語で、処理ブロックの内容を編集している例である。まず、新規処理ブロックの名称を”姿勢検出”として決定し、プログラミングを実施する。図において、行番号100は1番目のカメラからの画像入力を実施するコマンド、行番号110は平滑化(メディアンフィルタ)を実施するコマンド、行番号120は閾値100で2値化を実施するコマンド、行番号130は孤立点除去を実施するコマンド、行番号140は重心を検出するコマンド、行番号150は慣性主軸を求めるコマンドである。これらのコマンドはすでに画像処理装置1a内で保有している機能で、編集画面内でキーボード4から入力することで、その機能を用いることが可能になる。

0052

また、これら一連の処理が処理ブロック”姿勢検出”として登録させる。予め画像処理装置本体1a内に、メニューとして保有している場合、同一の名称での登録はできないので、別の名称で登録させる。上述の様にプログラミングを行い、新規で処理ブロックの認識処理を構築することで、検査対象ワークに施す最適な処理の設定が可能になる。

発明の効果

0053

この発明は、以上説明した様に構成されているので、以下に示すような効果を奏する。

0054

この発明によれば、手順登録記憶手段に登録された画像処理手順を表示手段に処理目的対応で複数表示するようにしたので、その中で目的に合った処理手順を選択することで容易に画像処理等の内容の決定ができる。このため、今まで標準画像処理手順が利用できなかった場合、専用の画像処理手順を構築しプログラミングをしなければならなかったが、メニュー操作という簡単操作により容易に検査対象ワークに最適な画像処理手順を選択することが可能になる。

0055

また、この発明によれば、編集手段により画像処理手順を構成する処理ブロックの複製、移動、削除、複合化、処理ブロックの処理内容および実行処理ブロックを選択し、処理ブロックをブロック登録記憶手段に登録するようにしたので、プログラミングの知識を持たなくても、処理ブロックの編集により容易に新規の画像処理手順の作成が可能になる。さらに、複数の処理ブロックを1つの処理ブロックにまとめサブルーチンとして扱うことを可能としたので、操作性が向上する。

0056

また、この発明によれば、編集手段により画像処理手順を構成する処理ブロックの処理内容をプログラミングでき、処理ブロックの処理内容を処理内容登録記憶手段に登録するようにしたので、メニュー操作とプログラム操作リンクさせることができ、マウスの操作による処理ブロックの編集による新規の画像処理手順が容易に作成できる効果に加え、登録されていない処理ブロックの処理内容のみをプログラミングにより作成することで、複雑な処理にも対応可能な柔軟性をもった認識アルゴリズムが容易に構築でき、操作性、処理能力を大幅に向上することができる。

図面の簡単な説明

0057

図1この発明の一実施例である画像処理装置の全体構成を示す図である。
図2この発明の一実施例である画像処理装置による画像処理等の決定の全体フローを示す図である。
図3この発明の一実施例である画像処理装置によるメニュー表示の内部処理のフローを示す図である。
図4この発明の一実施例である画像処理装置によるアプリケーション選択時のフローを示す図である。
図5この発明の一実施例である画像処理装置による姿勢検出選択時のフローを示す図である。
図6この発明の実施例1の画像処理装置において、モニタ装置3に表示されているメニューの内”アプリケーション”を選択した表示例を示す図である。
図7この発明の実施例1の画像処理装置において、図6に表示されている3つの検査対象ワークの処理目的の内、”姿勢検出”が選択され、姿勢検出”を行わせるための処理手順4種類を表示した例を示す図である。
図8図7で手順2エリアを選択した場合のフローを示す図である。
図9この発明の実施例2に係る画像処理装置において、処理目的として”姿勢検出”の手順2を選択し、目的の処理ブロックとして”計測分類”をクリックした場合の表示例を示す図である。
図10図9において目的の処理ブロックを複製・削除した場合の表示例を示す図である。
図11図11図9において目的の処理ブロックを削除した場合の表示例を示す図である。
図12この発明の実施例2の画像処理装置において、処理目的”姿勢検出”の手順2を選択し、複数の処理ブロックを1つの処理ブロックとしてまとめる場合の表示例を示す図である。
図13図12において、”画像入力”と”姿勢検出”との2つの処理ブロックを”前処理”と入力した後の結果を表示した例を示す図である。
図14矩形で表示された2つのブロックを1つの処理として変換するフローを示す図である。
図15この発明の実施例2の画像処理装置において、処理ブロックの内容変更を行う場合の表示例を示す図である。
図16この発明の実施例2の画像処理装置において、実行したい処理ブロックのみ実行させる場合の表示例を示す図である。
図17この発明の実施例3の画像処理装置において、プログラミングを実施する場合の表示例を示す図である。
図18従来の画像処理装置の全体構成を示す図である。
図19従来の画像処理装置におけるモニタ装置3に位置検出アルゴリズムによるプログラミング操作の例を表示した図である。
図20従来の画像処理装置におけるモニタ装置3に表示されるメニューの一例を示す図である。
図21図20において”濃淡ノイズ除去”を選択したときのプルダウンメニューが表示された状態を示した図である。

--

0058

1、1a画像処理装置本体、 2CCDカメラ、 3モニタ装置、 4キーボード、 5マウス、 10 CPU、 11 A/D変換手段、 12画像メモリ、 13、13aメモリ、 14、14a表示制御手段、15入力手段、 16 手順登録メモリ、 17ブロック登録メモリ、 18処理内容登録メモリ、 19編集手段、 20カーソル、 21設定エリア、 22矩形、 23 設定エリア、 24プルダウンメニュー、25 処理結果、 26 処理結果の画像、 27 重心位置、 28 傾きを示す矢印。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ