(57)【要約】【課題】二次元情報の処理を含む第１処理と三次元情報の取得の開始の処理と三次元情報の終了の処理とを含む第２処理とを効率的に併用したシーケンスを作成することができる画像処理装置を提供すること。【解決手段】第１処理と第２処理を含む画像処理の順番を受け付ける受付部を備え、第１処理には二次元情報の処理が含まれ、第２処理には三次元情報の取得の開始の処理と三次元情報の終了の処理とが含まれ、受付部で受け取った画像処理の順番において、第２処理の三次元情報の取得の開始の後で第２処理である三次元処理の終了の前で第１処理が行われる、画像処理の順番が並べ替え可能とする画像処理装置。【選択図】図３
2018005450.tif 000002
【特許請求の範囲】
【請求項１】
第１処理と第２処理を含む画像処理の順番を受け付ける受付部を備え、
前記第１処理には二次元情報の処理が含まれ、前記第２処理には三次元情報の取得の開始の処理と前記三次元情報の終了の処理とが含まれ、
前記受付部で受け取った前記画像処理の順番において、前記第２処理の前記三次元情報の取得の開始の後で前記第２処理である三次元処理の終了の前で第１処理が行われる、前記画像処理の順番が並べ替え可能とする画像処理装置。
【請求項２】
前記画像処理装置はボタンを備え、
前記画像処理の順番の並べ替えは、前記ボタンにより実行される、
請求項１に記載の画像処理装置。
【請求項３】
前記第１処理に対して設定されている順番を示す情報と、前記第２処理に対して設定されている順番を示す情報とに基づいて、前記第１処理及び前記第２処理が並べられる、
請求項１又は２に記載の画像処理装置。
【請求項４】
第１処理が行った処理の結果を用いて第２処理を行う場合に、当該第１処理の後に、当該第２処理の順番とする、
請求項１から３のうちいずれか一項に記載の画像処理装置。
【請求項５】
第２処理が行った処理の結果を用いて第１処理を行う場合に、当該第２処理の後に、当該第１処理の順番とする、
請求項１から４のうちいずれか一項に記載の画像処理装置。
【請求項６】
三次元情報の取得を、前記第２処理の前の順番とする、
請求項１から５のうちいずれか一項に記載の画像処理装置。
【請求項７】
前記三次元情報の取得を終了する情報取得終了の処理を、前記三次元情報の取得と前記第２処理との間に並べられる、
請求項６に記載の画像処理装置。
【請求項８】
二次元情報を取得する処理を行う二次元情報取得処理を、前記第１処理の前に並べられる、
請求項１から７のうちいずれか一項に記載の画像処理装置。
【請求項９】
前記三次元処理は、位相シフト法を用いて、前記三次元情報を用いた処理を行う、
請求項１から８のうちいずれか一項に記載の画像処理装置。
【請求項１０】
請求項１から９のうちいずれか一項に記載の画像処理装置を備え、
ロボットを制御する、
ロボット制御装置。
【請求項１１】
請求項１０に記載のロボット制御装置に制御される、
ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置、ロボット制御装置、及びロボットに関する。
【背景技術】
【０００２】
近年、画像検査の分野で、三次元情報を用いた検査が取り入れられ始めている。三次元情報を用いた検査は、背景との区別が難しい対象について、当該対象があるか否かを検査することを可能とし、さらに、二次元情報では不可能であった平坦度計測等の検査を可能にするなど、これまで難しかった対象の検査を可能とする。
【０００３】
これに関し、利用可能な処理項目を提示して三次元計測の処理シーケンスを作成させるユーザーインターフェースを持つ画像処理装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１９１３１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような画像処理装置では、処理シーケンスに含まれる複数の処理の順番がユーザーによって指定（設定）される。このため、当該画像処理装置により作成された処理シーケンスに含まれる複数の処理の順番は、効率的な順番になっていない場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、第１処理と第２処理を含む画像処理の順番を受け付ける受付部を備え、前記第１処理には二次元情報の処理が含まれ、前記第２処理には三次元情報の取得の開始の処理と前記三次元情報の終了の処理とが含まれ、前記受付部で受け取った前記画像処理の順番において、前記第２処理の前記三次元情報の取得の開始の後で前記第２処理である三次元処理の終了の前で第１処理が行われる、前記画像処理の順番が並べ替え可能とする画像処理装置である。
この構成により、画像処理装置は、第１処理と第２処理を含む画像処理の順番を受け付け、画像処理の順番において、第２処理の三次元情報の取得の開始の後で第２処理である三次元処理の終了の前で第１処理が行われる、画像処理の順番が並べ替え可能とする。これにより、画像処理装置は、二次元情報の処理を含む第１処理と三次元情報の取得の開始の処理と三次元情報の終了の処理とを含む第２処理とを効率的に併用したシーケンスを作成することができる。
【０００７】
また、本発明の他の態様は、画像処理装置において、前記画像処理装置はボタンを備え、前記画像処理の順番の並べ替えは、前記ボタンにより実行される、構成が用いられてもよい。
この構成により、画像処理装置は、画像処理の順番の並べ替えは、ボタンにより実行される。これにより、画像処理装置は、ボタンにより、二次元情報の処理を含む第１処理と三次元情報の取得の開始の処理と三次元情報の終了の処理とを含む第２処理とを効率的に併用したシーケンスを実行することができる。
【０００８】
また、本発明の他の態様は、画像処理装置において、前記第１処理に対して設定されている順番を示す情報と、前記第２処理に対して設定されている順番を示す情報とに基づいて、前記第１処理及び前記第２処理が並べられる、構成が用いられてもよい。
この構成により、画像処理装置では、第１処理に対して設定されている順番を示す情報と、第２処理に対して設定されている順番を示す情報とに基づいて、第１処理及び第２処理が並べられる。これにより、画像処理装置は、第１処理に対して設定されている順番を示す情報と、第２処理に対して設定されている順番を示す情報とに基づいて、二次元情報の処理を含む第１処理と三次元情報の取得の開始の処理と三次元情報の終了の処理とを含む第２処理とを効率的に併用したシーケンスを作成することができる。
【０００９】
また、本発明の他の態様は、画像処理装置において、第１処理が行った処理の結果を用いて第２処理を行う場合に、当該第１処理の後に、当該第２処理の順番とする、構成が用いられてもよい。
この構成により、画像処理装置では、第１処理が行った処理の結果を用いて第２処理を行う場合に、当該第１処理の後に、当該第２処理が並べられる。これにより、画像処理装置は、第１処理が行った処理の結果を用いて第２処理を行う場合に、当該第１処理の後に、当該第２処理が並べることにより、第１処理と第２処理とを効率的に併用したシーケンスを作成することができる。
【００１０】
また、本発明の他の態様は、画像処理装置において、第２処理が行った処理の結果を用いて第１処理を行う場合に、当該第２処理の後に、当該第１処理の順番とする、構成が用いられてもよい。
この構成により、画像処理装置では、第２処理が行った処理の結果を用いて第１処理を行う場合に、当該第２処理の後に、当該第１処理が並べられる。これにより、画像処理装置は、第２処理が行った処理の結果を用いて第１処理を行う場合に、当該第２処理の後に、当該第１処理が並べることにより、第１処理と第２処理とを効率的に併用したシーケンスを作成することができる。
【００１１】
また、本発明の他の態様は、画像処理装置において、三次元情報の取得を、前記第２処理の前の順番とする、構成が用いられてもよい。
この構成により、画像処理装置では、三次元情報の取得を、第２処理の前に並べられる。これにより、画像処理装置は、三次元情報の取得を、第２処理の前に並べることにより、第１処理と第２処理とを効率的に併用したシーケンスを作成することができる。
【００１２】
また、本発明の他の態様は、画像処理装置において、前記三次元情報の取得を終了する情報取得終了の処理を、前記三次元情報の取得と前記第２処理との間に並べられる、構成が用いられてもよい。
この構成により、画像処理装置では、三次元情報の取得を終了する情報取得終了の処理を、三次元情報の取得と第２処理との間に並べられる。これにより、画像処理装置は、三次元情報の取得を終了する情報取得終了の処理を、三次元情報の取得と第２処理との間に並べることにより、第１処理と第２処理とを効率的に併用したシーケンスを作成することができる。
【００１３】
また、本発明の他の態様は、画像処理装置において、二次元情報を取得する処理を行う二次元情報取得処理を、前記第１処理の前に並べられる、構成が用いられてもよい。
この構成により、画像処理装置では、二次元情報を取得する処理を行う二次元情報取得処理を、第１処理の前に並べられる。これにより、画像処理装置は、二次元情報を取得する処理を行う二次元情報取得処理を、第１処理の前に並べることにより、第１処理と第２処理とを効率的に併用したシーケンスを作成することができる。
【００１４】
また、本発明の他の態様は、画像処理装置において、前記三次元処理は、位相シフト法を用いて、前記三次元情報を用いた処理を行う、構成が用いられてもよい。
この構成により、画像処理装置では、三次元処理は、位相シフト法を用いて、前記三次元情報を用いた処理を行う。これにより、画像処理装置は、三次元情報を用いた処理を精度よく行うことができる。
【００１５】
また、本発明の他の態様は、上記に記載の画像処理装置を備え、ロボットを制御する、ロボット制御装置である、構成が用いられてもよい。
この構成により、ロボット制御装置は、上記に記載の画像処理装置を備え、ロボットを制御する。これにより、ロボット制御装置は、第１処理と第２処理とを併用したシーケンスを用いた処理の結果に基づいて、ロボットに作業を効率的に行わせることができる。
【００１６】
また、本発明の他の態様は、上記に記載のロボット制御装置に制御される、ロボットである、構成が用いられてもよい。                                     
この構成により、ロボットは、上記に記載のロボット制御装置に制御される。これにより、第１処理と第２処理とを併用したシーケンスを用いた処理の結果に基づいて、作業を効率的に行うことができる。
【００１７】
以上により、画像処理装置は、画像処理装置は、第１処理と第２処理を含む画像処理の順番を受け付け、画像処理の順番において、第２処理の三次元情報の取得の開始の後で第２処理である三次元処理の終了の前で第１処理が行われる、画像処理の順番が並べ替え可能とする。これにより、画像処理装置は、二次元情報の処理を含む第１処理と三次元情報の取得の開始の処理と三次元情報の終了の処理とを含む第２処理とを効率的に併用したシーケンスを作成することができる。
また、ロボット制御装置は、上記に記載の画像処理装置を備え、ロボットを制御する。これにより、ロボット制御装置は、第１処理と第２処理とを併用したシーケンスを用いた処理の結果に基づいて、ロボットに作業を効率的に行わせることができる。
また、ロボットは、上記に記載のロボット制御装置に制御される。これにより、第１処理と第２処理とを併用したシーケンスを用いた処理の結果に基づいて、作業を効率的に行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係る画像処理システム１の一例を示す構成図である。
【図２】画像処理装置２０のハードウェア構成の一例を示す図である。
【図３】画像処理装置２０の機能構成の一例を示す図である。
【図４】シーケンスの作成の一例を示す図である。
【図５】メイン画面の一例を示す図である。
【図６】処理手段選択画面の一例を示す図である。
【図７】依存関係入力画面の一例を示す図である。
【図８】メイン画面Ｇ１においてユーザーにより処理手段情報を選択され、選択された処理手段情報を含むシーケンスが作成される際に、制御部２８が行う処理の流れの一例を示すフローチャートである。
【図９】処理手段情報が表示されたメイン画面の一例を示す図である。
【図１０】処理手段情報を並べたシーケンスが表示されたメイン画面の一例を示す図である。
【図１１】実施形態の変形例に係るロボットシステム２の構成の一例を示す図である。
【発明を実施するための形態】
【００１９】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００２０】
＜画像処理システムの構成＞
まず、画像処理システム１の構成について説明する。図１は、本実施形態に係る画像処理システム１の一例を示す構成図である。画像処理システム１は、撮像部１０と、画像処理装置２０を備える。
【００２１】
撮像部１０は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたステレオカメラである。なお、撮像部１０は、ステレオカメラに代えて、ライトフィールドカメラ等の三次元画像を撮像可能な他のカメラであってもよい。この一例において、撮像部１０は、対象物Ｏを含む範囲を撮像可能な位置に設置される。
【００２２】
対象物Ｏは、例えば、製品に組み付けるプレート、歯車、ネジ、ボルト等の産業用の部品や部材である。図１では、図の簡略化のため、対象物Ｏを直方体形状の物体として表している。なお、対象物Ｏは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、対象物Ｏの形状は、直方体形状に代えて、他の形状であってもよい。
【００２３】
また、対象物Ｏは、この一例において、作業台ＴＢの上面に載置されている。作業台ＴＢは、例えば、テーブルである。なお、作業台ＴＢは、テーブルに代えて、床面や棚等の対象物Ｏを載置可能な他の物体であってもよい。また、図１に示した例では、作業台ＴＢの上面には、対象物Ｏが１個のみ載置されているが、これに代えて、２個以上の対象物Ｏが載置される構成であってもよい。
【００２４】
また、撮像部１０は、ケーブルによって画像処理装置２０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、撮像部１０は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって画像処理装置２０と接続される構成であってもよい。
【００２５】
画像処理装置２０は、例えば、ワークステーションやデスクトップＰＣ（Personal  Computer）、ノートＰＣ、タブレットＰＣ、多機能携帯電話端末（スマートフォン）、通信機能付きの電子書籍リーダー、ＰＤＡ（Personal  Digital  Assistant）等である。
【００２６】
画像処理装置２０は、撮像部１０が撮像した画像を撮像部１０から取得する。画像処理装置２０は、取得した画像に含まれる物体（例えば、図１に示した対象物Ｏ）の検査、計測等の処理を行う。この計測には、当該物体の三次元座標系における位置及び姿勢を算出することも含まれている。当該三次元座標系は、例えば、三次元のワールド座標系ＷＣ、三次元のロボット座標系ＲＣ等の三次元局所座標系である。さらに、この計測には、当該物体の二次元座標系における位置及び距離を算出することも含まれている。当該二次元座標系は、例えば、前述のワールド座標系ＷＣにおけるＸ軸及びＹ軸によって表される二次元座標系、ロボット座標系ＲＣにおけるＸ軸及びＹ軸によって表される二次元座標系等である。
【００２７】
＜画像処理装置が行う処理の概要＞
以下、画像処理装置２０が行う処理の概要について説明する。
この一例において、画像処理装置２０は、ある対象（例えば、図１に示した対象物Ｏ）の二次元情報に対する処理と、ある対象（例えば、図１に示した対象物Ｏ）の三次元情報に対する処理とを行う。ある対象の二次元情報は、当該対象の二次元形状を表す情報である。ある対象の二次元情報は、例えば、単眼の撮像部により当該対象を含む範囲が撮像された二次元画像である。なお、当該二次元情報は、当該二次元画像に代えて、二次元点群等の当該対象の二次元形状を表す他の情報であってもよい。ある対象の二次元情報に対する処理は、例えば、当該対象から基準情報と一致する情報を検出する二次元のパターンマッチング、当該対象から文字を検出する文字認識等の画像処理である。以下では、説明の便宜上、二次元情報に対する処理を、二次元処理と称して説明する。なお、二次元処理は、二次元のパターンマッチング、文字認識に代えて、他の処理であってもよい。ある対象の三次元情報は、当該対象の三次元形状を表す情報である。ある対象の三次元情報は、例えば、双眼の撮像部により当該対象を含む範囲がステレオ撮像されたステレオ画像である。なお、ある対象の三次元情報は、当該対象のステレオ画像に代えて、三次元点群等の当該対象の三次元形状を表す他の情報であってもよい。ある対象の三次元情報に対する処理は、当該対象の高さを計測する高さ計測等である。以下では、説明の便宜上、三次元情報に対する処理を、三次元処理と称して説明する。なお、三次元処理は、高さ計測処理に代えて、他の処理であってもよい。
【００２８】
また、以下では、説明の便宜上、二次元処理を画像処理装置２０に行わせる手段を二次元処理手段と称して説明する。また、以下では、三次元処理を画像処理装置２０に行わせる手段を三次元処理手段と称して説明する。また、以下では、二次元処理手段と三次元処理手段とを区別する必要がない限り、まとめて処理手段と称して説明する。また、以下では、複数の処理手段を所定の順序で並べたものをシーケンスと称して説明する。すなわち、画像処理装置２０があるシーケンスを実行する場合、画像処理装置２０は、当該シーケンスに含まれる複数の処理手段を、所定の順序で順次実行する。これにより、画像処理装置２０は、二次元処理と、三次元処理とを併用した処理を行うことができる。
【００２９】
このような画像処理装置２０は、二次元処理手段と三次元処理手段とを受け付ける。ここで、二次元処理手段には二次元情報の処理が含まれる。また、三次元処理手段には三次元情報の取得の開始の処理と三次元情報の終了の処理とが含まれる。そして、画像処理装置２０では、受け取った画像処理の順番において、三次元処理手段の三次元情報の取得の開始の後で三次元処理手段である三次元処理の終了の前で二次元処理手段が行われる、画像処理の順番が並べ替え可能とする。これにより、画像処理装置２０は、二次元情報の処理を含む二次元処理手段と三次元情報の取得の開始の処理と三次元情報の終了の処理とを含む三次元処理手段とを効率的に併用したシーケンスを作成することができる。以下では、処理手段について詳しく説明する。また、以下では、画像処理装置２０がシーケンスを作成する処理について詳しく説明する。
【００３０】
＜処理手段の種類＞
この一例において、処理手段には、第１処理手段〜第６処理手段の６種類の処理手段が含まれる。なお、処理手段には、第１処理手段〜第６処理手段の一部又は全部に代えて、他の処理手段が含まれる構成であってもよく、第１処理手段〜第６処理手段の全部に加えて、他の処理手段が含まれる構成であってもよい。
【００３１】
第１処理手段は、他の処理手段が行う処理と無関係に二次元処理を行わせることが可能な処理手段である。すなわち、第１処理手段は、他の処理手段が行った処理の結果を用いて二次元処理を行うこともでき、当該結果を用いずに二次元処理を行うこともできる。また、第１処理手段が行った処理の結果は、他の処理手段が処理を行う対象とされてもよく、当該処理を行う対象とされなくてもよい。画像処理装置２０は、ユーザーにより指定された第１処理手段に対応する二次元処理を、ユーザーから入力されたパラメーターに基づいて行う。画像処理装置２０は、例えば、第１処理手段によって撮像部１０から取得された二次元情報に対して二次元処理を行う構成であってもよく、画像処理装置２０に予め記憶された二次元情報に対して二次元処理を行う構成であってもよい。
【００３２】
第２処理手段は、他の処理手段が行う処理と無関係に三次元処理を行わせることが可能な処理手段である。すなわち、第２処理手段は、他の処理手段が行った処理の結果を用いて三次元処理を行うこともでき、当該結果を用いずに三次元処理を行うこともできる。また、第２処理手段が行った処理の結果は、他の処理手段が処理を行う対象とされてもよく、当該処理を行う対象とされなくてもよい。画像処理装置２０は、ユーザーにより指定された第２処理手段に対応する三次元処理を、ユーザーから入力されたパラメーターに基づいて行う。画像処理装置２０は、例えば、第２処理手段によって撮像部１０から取得された三次元情報に対して三次元処理を行う構成であってもよく、画像処理装置２０に予め記憶された三次元情報に対して三次元処理を行う構成であってもよい。
【００３３】
第３処理手段は、後述する第５処理手段が処理を行う対象となる結果を生成する三次元処理を行う処理手段である。この場合、第５処理手段が処理を行う対象は、例えば、当該三次元情報のうちの第３処理手段の結果である三次元情報である。画像処理装置２０は、ユーザーにより指定された第３処理手段に対応する三次元処理を、ユーザーから入力されたパラメーターに基づいて行う。画像処理装置２０は、例えば、第２処理手段によって撮像部１０から取得された三次元情報に対して第３処理手段により三次元処理を行う構成であってもよく、画像処理装置２０に予め記憶された三次元情報に対して第３処理手段により三次元処理を行う構成であってもよい。
【００３４】
第４処理手段は、後述する第６処理手段が処理を行う対象となる結果を生成する二次元処理を行う処理手段である。この場合、第４処理手段が処理を行う対象は、例えば、当該二次元情報のうちの第４処理手段の結果である二次元情報である。画像処理装置２０は、ユーザーにより指定された第４処理手段に対応する二次元処理を、ユーザーから入力されたパラメーター基づいて行う。画像処理装置２０は、例えば、第１処理手段によって撮像部１０から取得された二次元情報に対して第４処理手段により二次元処理を行う構成であってもよく、画像処理装置２０に予め記憶された二次元情報に対して第４処理手段により二次元処理を行う構成であってもよい。
【００３５】
第５処理手段は、第３処理手段が行った処理の結果に対して二次元処理を行う処理手段である。画像処理装置２０は、ユーザーにより指定された第５処理手段に対応する二次元処理を、ユーザーから入力されたパラメーターに基づいて行う。
【００３６】
第６処理手段は、第４処理手段が行った処理の結果に対して三次元処理を行う処理手段である。画像処理装置２０は、ユーザーにより指定された第６処理手段に対応する三次元処理を、ユーザーから入力されたパラメーターに基づいて行う。
【００３７】
第１処理手段が行う処理の一例は、撮像部１０からの二次元画像等の二次元情報の取得（以下、「二次元情報の取得（１）」という）、二次元情報からユーザーによって指定された二次元形状を検出する形状検出（以下、「形状検出（２）」という）等である。
第２処理手段が行う処理の一例は、撮像部１０からの三次元情報の取得の開始（以下、「三次元情報の取得の開始（３）」という）、当該取得の終了（以下、「三次元情報の取得の終了（４）」という）、三次元情報からユーザーによって指定される三次元形状を検出することによって部品が所定の位置に組み込まれているかどうかを検査する部品の組み込み位置の検査（以下、「部品の組み込み検査（５）」という）等である。
【００３８】
第３処理手段が行う処理の一例は、ある三次元情報からユーザーが指定した三次元形状を検出する三次元のパターンマッチング（以下、「三次元パターンマッチング（６）」という）等である。
第４処理手段が行う処理の一例は、ある二次元情報からユーザーが指定した二次元形状を検出する二次元のパターンマッチング（以下、「二次元パターンマッチング（７）」という）等である。
【００３９】
第５処理手段が行う処理の一例は、第３処理手段によって検出された２つの三次元情報に基づく当該三次元情報間の距離の算出（検出）（以下、「距離の検査（８）」という）等である。
第６処理手段が行う処理の一例は、第４処理手段によって検出された二次元情報に基づいて、当該二次元情報が表す形状が示す部品の組み込み位置を検出する部品の組み込み位置の検査（以下、「部品の組み込み位置の検査（９）」という）等である。
【００４０】
なお、各処理手段に含まれる処理には、上記の（１）〜（９）の一部又は全部に代えて、他の処理が含まれる構成であってもよく、上記の（１）〜（９）の全部に加えて、他の処理が含まれる構成であってもよい。
【００４１】
なお、画像処理装置２０では、第１処理手段〜第６処理手段の一部又は全部において、処理手段の依存関係をユーザーが入力することなく予め登録されている構成であってもよく、予めユーザーにより入力されている構成であってもよく、予め登録されておらず、後からユーザーが入力する構成であってもよい。ここで、依存関係とは、ある処理手段（依存元）が他の処理手段（依存先）による処理結果を使用することをいう。
次に、画像処理装置２０がシーケンスを作成する処理について説明する。
【００４２】
＜画像処理装置のハードウェア構成＞
以下、図２を参照し、画像処理装置２０のハードウェア構成について説明する。図２は、画像処理装置２０のハードウェア構成の一例を示す図である。画像処理装置２０は、例えば、ＣＰＵ（Central  Processing  Unit）２１と、記憶部２２と、入力受付部２３と、通信部２４と、表示部２５を備える。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。また、画像処理装置２０は、通信部２４を介して撮像部１０と通信を行う。
【００４３】
ＣＰＵ２１は、記憶部２２に格納された各種プログラムを実行する。
記憶部２２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部２２は、画像処理装置２０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部２２は、画像処理装置２０が処理する各種情報や画像、プログラム（前述の処理手段を実行するプログラムを含む）を格納する。
【００４４】
入力受付部２３は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部２３は、タッチパネルとして表示部２５と一体に構成されてもよい。
通信部２４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部２５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００４５】
＜画像処理装置の機能構成＞
以下、図３を参照し、画像処理装置２０の機能構成について説明する。図３は、画像処理装置２０の機能構成の一例を示す図である。画像処理装置２０は、記憶部２２と、入力受付部２３と、表示部２５と、画像取得部２７と、制御部２８とを備える。
【００４６】
画像取得部２７は、撮像部１０が撮像した撮像画像を撮像部１０から取得する。
制御部２８は、画像処理装置２０の全体を制御する。制御部２８は、撮像制御部３１と、表示制御部３３と、手段受付部３７と、シーケンス作成部３９と、シーケンス実行部４３を備える。制御部２８が備えるこれらの機能部は、例えば、ＣＰＵ２１が、記憶部２２に記憶された各種プログラムを実行することにより実現される。また、これらの機能部のうち一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００４７】
撮像制御部３１は、対象物Ｏを含む範囲を撮像部１０に撮像させる。
表示制御部３３は、入力受付部２３により受け付けられたユーザーからの操作に基づいて、ＧＵＩ（Graphical  User  Interface）を含む各種の画面を表示部２５に表示させる。また、表示制御部３３は、手段受付部３７が受け付けた処理手段を示す処理手段情報を表示部２５に表示させる。
【００４８】
手段受付部３７は、表示制御部３３が表示部２５に表示させた画面においてユーザーにより選択された１以上の処理手段情報に基づいて、当該処理手段情報が示す処理手段を受け付ける。処理手段情報は、処理手段を示す情報である。例えば、処理手段情報は、処理手段を示す画像、文字列等である。なお、処理手段情報は、これらに代えて、処理手段を示す他の情報であってもよい。手段受付部３７は、処理手段を受け付ける際、処理手段同士の依存関係を受け付ける構成であってもよい。具体的には、手段受付部３７は、処理手段の各々に対して、当該処理手段が他の処理手段の処理結果を使用する場合、当該他の処理手段を受け付けるようにしてもよい。
【００４９】
シーケンス作成部３９は、表示制御部３３が表示部２５に表示させた画面において受け付けられたユーザーからの操作に基づいて、手段受付部３７が受け付けた処理手段を並べたシーケンスを作成する。
【００５０】
具体的には、シーケンス作成部３９は、以下の(１)〜（７）の規則にしたがって、処理手段情報を並べることによってシーケンスを作成する。
（１）手段受付部３７が受け付けた処理手段に第４処理手段が含まれる場合、最初に第１処理手段のうち二次元情報の取得を行う第１処理手段を並べる。当該第１処理手段は、二次元情報取得手段の一例である。
（２）（１）にしたがって並べた後、当該第１処理手段の直後に第４処理手段を並べる。なお、第４処理手段が２以上ある場合、これらの第４処理手段の並び方は、ランダムであってもよく、ユーザーにより指定された並べ方であってもよい。
【００５１】
（３）（２）にしたがって並べた後、手段受付部３７が受け付けた処理手段に第６処理手段が含まれる場合、（２）にしたがって並べた第４処理手段の直後に、第２処理手段のうち三次元情報の取得の開始を行う第２処理手段を並べる。当該第２処理手段は、情報取得手段の一例である。なお、第４処理手段が２以上ある場合、これらの第４処理手段のうち順番が最後の第４処理手段の直後に当該第２処理手段を並べる。
（４）手段受付部３７が受け付けた処理手段に二次元情報の取得を行う第１処理手段を除く他の第１処理手段が含まれる場合、当該第１処理手段は、三次元情報の取得の開始を行う第２処理手段の直後に並べる。この場合、第１処理手段同士で依存関係があるものについては、依存先の第１処理手段、依存元の第１処理手段の順に並べる。
【００５２】
（５）（４）にしたがって並べた後、第２処理手段のうち三次元情報の取得の終了を行う第２処理手段を並べる。当該第２処理手段は、情報取得終了手段の一例である。
（６）（５）にしたがって並べた後、手段受付部３７が受け付けた処理手段に第３処理手段が含まれる場合、当該第２処理手段の直後に、第３処理手段を並べる。
（７）（６）にしたがって並べた後、手段受付部３７が受け付けた処理手段に、第２処理手段のうち三次元情報の取得の開始及び当該取得の終了のそれぞれを行う第２処理手段を除く第２処理手段と、第５処理手段と、及び第６処理手段との一部又は全部が含まれる場合、当該一部又は当該全部を（１）〜（６）にしたがって並べた後のシーケンスの最後に並べる。当該一部又は当該全部は、並行して実行されてもよく、順次実行されてもよい。
【００５３】
図４は、(１)〜（７）の規則にしたがって、処理手段を並べることによって作成されるシーケンスの一例である。この一例では、シーケンス作成部３９は、二次元情報の取得（ステップＳ１０）、第４処理手段による二次元処理（ステップＳ１１）、三次元情報の取得の開始（ステップＳ１１）の順に処理手段を並べる。さらに、シーケンス作成部３９は、三次元情報の取得の開始（ステップＳ１１）後、三次元情報の取得（ステップＳ１３−１）と第１処理手段による二次元処理（ステップＳ１３−２）とが並行して行われるように並べ、その後に三次元処理の取得の終了（ステップＳ１４）、第３処理手段による三次元処理（ステップＳ１５）を並べる。さらに、シーケンス作成部３９は、第３処理手段による三次元処理の後、二次元処理手段による三次元処理（ステップＳ１６−１）、第５処理手段による三次元処理（ステップＳ１６−２）、第６処理手段による三次元処理（ステップＳ１６−３）を並べる。ステップＳ１６−１−ステップＳ１６−３は、並行して実行されるように並べられてもよい。
【００５４】
また、シーケンス実行部４３は、表示制御部３３が表示部２５に表示させた画面においてユーザーにより選択されたシーケンスに含まれる処理手段を実行する。この際、シーケンス実行部４３は、表示制御部３３が表示部２５に表示させた画面においてユーザーにより入力されたパラメーターに基づいて、当該シーケンスに含まれる処理手段を順に実行する。
【００５５】
＜画像処理装置が行う処理＞
以下、図５〜図１０を参照し、画像処理装置２０がシーケンスを作成する処理について説明する。なお、ここでは、当該処理の一例として、表示制御部３３が表示部２５に表示させたメイン画面においてユーザーが選択した処理手段情報に基づいて制御部２８がシーケンスを作成する処理について説明する。
【００５６】
この一例におけるメイン画面は、ユーザーが処理手段情報を選択する操作、シーケンスを画像処理装置２０に作成させる操作等を画像処理装置２０が受け付ける画面である。画像処理装置２０は、メイン画面においてユーザーにより選択された１以上の処理手段情報に基づいて、当該処理手段情報のそれぞれが示す処理手段を受け付ける。また、画像処理装置２０は、受け付けた１以上の処理手段を前述の規則にしたがって並べることによってシーケンスを作成する。なお、メイン画面では、新たな処理手段の生成、処理手段が行う処理の内容の編集、処理手段の削除、シーケンスに含まれる処理手段の追加又は削除、処理手段を画像処理装置２０に実行させる際に必要なパラメーターの入力等が行われる構成であってもよいが、本実施形態においては、これらについての説明を省略する。また、以下において説明するメイン画面には、説明中に登場する機能やＧＵＩ、図形、文字列の一部又は全部に代えて、説明中に登場しない他の機能やＧＵＩ、図形、文字列が含まれる構成であってもよく、説明中に登場する機能やＧＵＩ、図形、文字列に代えて、説明中に登場しない他の機能やＧＵＩ、図形、文字列が含まれる構成であってもよい。
【００５７】
ここで、図５を参照し、メイン画面について説明する。図５は、メイン画面の一例を示す図である。図５に示したメイン画面の一例であるメイン画面Ｇ１は、領域Ｇ１１と、領域Ｇ１２と、ボタンＢ１０〜ボタンＢ１４を含む複数のボタンと、複数のプルダウンメニューを有する。
【００５８】
領域Ｇ１１には、ユーザーが選択した処理手段情報が表示される。メイン画面において、ボタンＢ１０に対して選択操作（押下、クリック、タップ）が行われた場合、ユーザーが処理手段を選択する画面である処理手段選択画面Ｇ１３が表示される。
図６は、処理手段選択画面Ｇ１３の一例を示す図である。処理手段選択画面Ｇ１３には、ユーザーが選択可能な処理手段のそれぞれを示す処理手段情報が表示される。図６に示した例では、当該処理手段情報として、ボタンＣ１１と、ボタンＣ１２と、ボタンＣ１３との３つの処理手段情報が表示されている。
【００５９】
ボタンＣ１１は、ある第１処理手段を示す処理手段情報（第１処理手段情報）である。ユーザーがボタンＣ１１に対して選択操作を行った後に、ユーザーが後述するボタンＣ１４に対して選択操作を行った場合、手段受付部３７は、ボタンＣ１１に対応する第１処理手段情報が示す第１処理手段を受け付ける。
ボタンＣ１２は、ある第２処理手段を示す処理手段情報（第２処理手段情報）である。ユーザーがボタンＣ１２に対して選択操作を行った後に、ユーザーがボタンＣ１４に対して選択操作を行った場合、手段受付部３７は、ボタンＣ１２に対応する第２処理手段情報が示す第２処理手段を受け付ける。
ボタンＣ１３は、ある第３処理手段を示す処理手段情報（第３処理手段情報）である。ユーザーがボタンＣ１３に対して選択操作を行った後に、ユーザーがボタンＣ１４に対して選択操作を行った場合、手段受付部３７は、ボタンＣ１３に対応する第３処理手段情報が示す第３処理手段を受け付ける。
【００６０】
また、処理手段選択画面Ｇ１３には、ボタンＣ１４と、ボタンＣ１５と、ボタンＣ１６とが表示される。
ボタンＣ１４は、ユーザーによる処理手段情報の選択を終了し、処理手段選択画面Ｇ１３を終了（閉じる、削除）するボタンである。
【００６１】
ボタンＣ１５は、新たな処理手段を示す処理手段情報を追加するボタンである。ユーザーがボタンＣ１５に対して選択操作を行った場合、表示制御部３３は、当該処理手段を追加する画面をメイン画面Ｇ１に重ねて表示する。
ボタンＣ１６は、ユーザーが処理手段情報（この一例では、ボタンＣ１１〜ボタンＣ１３のいずれか）に対して選択操作を行うことによる処理手段情報の選択の取り消し（キャンセル）を行うボタンである。例えば、ユーザーがボタンＣ１１に対して選択操作を行った後に、ユーザーがボタンＣ１６に対して選択操作を行った場合、ユーザーによるボタンＣ１１の選択が取り消される。
【００６２】
なお、前述した通り、図６に示した処理手段選択画面Ｇ１３には、処理手段情報として、第１処理手段情報、第２処理手段情報、第３処理手段情報のみが表示されているが、第４処理手段を示す処理手段情報である第４処理手段情報、第５処理手段を示す処理手段情報である第５処理手段情報、第６処理手段を示す処理手段情報である第６処理手段情報のそれぞれが表示されてもよい。また、処理手段選択画面Ｇ１３には、第１処理手段情報〜第６処理手段情報の一部又は全部が複数表示されてもよい。また、例えば、処理手段選択画面Ｇ１３は、複数の頁により構成されてもよい。
【００６３】
表示制御部３３は、ユーザーにより処理手段情報が選択された場合、選択された処理手段情報を領域Ｇ１１に表示する。
【００６４】
図５に戻る。領域Ｇ１２には、画像処理装置２０が処理を行う対象となる画像であって、当該処理が行われる前の画像である処理前画像や、当該処理が行われた後の画像である処理後画像等が表示される。画像処理装置２０が処理を行う対象となる画像は、画像取得部２７が撮像部１０から取得した撮像画像であってもよく、予め記憶部２２に記憶された画像であってもよい。例えば、表示制御部３３は、画像処理装置２０が処理を行う対象となる画像として当該撮像画像が選択された場合、選択された当該撮像画像を領域Ｇ１２に表示する。
【００６５】
ボタンＢ１０は、領域Ｇ１１に表示されている処理手段情報の順序を上述した規則にしたがって並べるボタンである。ユーザーがボタンＢ１０に対して選択操作を行った場合、シーケンス作成部３９は、当該処理手段情報のそれぞれが示す処理手段の順序を当該規則にしたがって並べ替える。そして、表示制御部３３は、シーケンス作成部３９が並べ替えた処理手段に基づいて、並べ替えられた処理手段の順に各処理手段を示す処理手段情報を並べて表示部２５に表示させる。
ボタンＢ１１は、前述した処理手段選択画面Ｇ１３を表示するボタンである。表示制御部３３は、ユーザーによりボタンＢ１１に選択操作が行われた場合、メイン画面Ｇ１に重ねて処理手段選択画面Ｇ１３を表示する。
【００６６】
ボタンＢ１２は、領域Ｇ１１に表示された処理手段情報のうちユーザーが選択した処理手段情報が示す処理手段を編集する画面である編集画面を表示するボタンである。処理手段の編集には、当該処理手段（依存元）が他の処理手段（依存先）の処理結果を使用する場合、依存先を示す情報の入力等が含まれる。表示制御部３３は、ユーザーがボタンＢ１２に対して選択操作を行った場合、図６に示した依存関係入力画面を表示する。ある処理手段情報に対応した依存関係入力画面は、当該処理手段情報が示す処理手段の依存先を示す情報を入力する画面である。例えば、ある第２処理手段により処理が行われる領域（座標）を、ある第１処理手段により行われる二次元パターンマッチングの結果に基づいて動的に変更する場合、依存関係入力画面内における当該第２処理手段の設定項目に、依存先を示す情報として当該第１処理手段が当該第２処理手段の依存先であることを示す情報を入力する。
【００６７】
図７は、依存関係入力画面の一例を示す図である。図７に示した依存関係入力画面Ｇ１４は、ある処理手段（依存元）の依存関係入力画面の一例である。依存先入力欄Ｄ１１は、当該処理手段が処理を行う対象のＸ軸方向についての情報を取得する依存先となる他の処理手段が依存先であることを示す情報を入力する欄である。当該Ｘ軸は、例えば、ワールド座標系ＷＣにおけるＸ軸や、ロボット座標系ＲＣにおけるＸ軸、撮像部１０により撮像された撮像画像上の位置を表す撮像部座標系ＣＣにおけるＸ軸等である。依存先入力欄Ｄ１２は、当該処理手段が処理を行う対象のＹ軸方向についての情報を取得する依存先となる他の処理手段が依存先であることを示す情報を入力する欄である。当該Ｙ軸は、例えば、ワールド座標系ＷＣにおけるＹ軸や、ロボット座標系ＲＣにおけるＹ軸、撮像部１０により撮像された撮像画像上の位置を表す撮像部座標系ＣＣにおけるＹ軸等である。依存先入力欄Ｄ１３は、当該処理手段が処理を行う対象のθ軸方向についての情報を取得する依存先となる他の処理手段が依存先であることを示す情報を入力する欄である。当該θ軸は、例えば、ワールド座標系ＷＣにおけるＺ軸周りの回転を表す軸や、ロボット座標系ＲＣにおけるＺ軸周りの回転を表す軸、撮像部１０により撮像された撮像画像上の位置を表す撮像部座標系ＣＣにおけるＺ軸周りの回転を表す軸等である。手段受付部３７は、ある処理手段の依存関係入力画面Ｇ１４に依存先を示す情報が入力された場合、入力された当該情報を当該処理手段に対応付ける。
【００６８】
ボタンＢ１３は、領域Ｇ１１に表示された処理手段情報のうちのユーザーにより選択された処理手段情報が示す処理手段を、画像処理装置２０が処理を行う対象となる画像（二次元画像、三次元画像）に対して実行するボタンである。シーケンス実行部４３は、ユーザーがボタンＢ１３に対して選択操作を行った場合、領域Ｇ１１に表示された処理手段情報のうちユーザーにより選択された処理手段情報が示す処理手段を当該画像に対して実行する。
【００６９】
ボタンＢ１４は、画像処理装置２０が処理を行う対象となる画像に対して、領域Ｇ１１に表示された１以上の処理手段情報を含むシーケンスを実行する処理ボタンである。シーケンス実行部４３は、ユーザーがボタンＢ１４に対して選択操作を行った場合、領域Ｇ１１に表示されたシーケンスに含まれる処理手段情報を上から順に１つずつ選択し、選択した処理手段情報が示す処理手段を、当該画像に対して順に実行する。
【００７０】
このようなメイン画面Ｇ１においてユーザーにより処理手段情報が選択され、選択された処理手段情報が示す処理手段が実行される際に、制御部２８は、例えば、図８に示したフローチャートの各処理を行う。図８は、メイン画面Ｇ１においてユーザーにより処理手段が選択され、選択された処理手段が実行される際に、制御部２８が行う処理の流れの一例を示すフローチャートである。なお、図８に示したフローチャートのステップＳ１００の処理は、画像取得部２７が撮像部１０から撮像画像を取得した後の処理であり、表示制御部３３が当該撮像画像を領域Ｇ１２に表示させた後の処理である。
【００７１】
表示制御部３３は、メイン画面Ｇ１において入力受付部２３によりユーザーからボタンＢ１１を押下する操作を受け付ける（ステップＳ１００）。次に、表示制御部３３は、ステップＳ１００において受け付けた操作に基づいて、メイン画面Ｇ１に重ねて処理手段選択画面Ｇ１３を表示する（ステップＳ１１０）。
【００７２】
ステップＳ１１０において処理手段選択画面Ｇ１３が表示された後、手段受付部３７は、処理手段選択画面Ｇ１３においてユーザーにより、１以上の処理手段情報（図６に示した例では、ボタンＣ１１、ボタンＣ１２、及びボタンＣ１３）が選択されるまで待機する。そして、手段受付部３７は、処理手段選択画面Ｇ１３においてユーザーにより、１以上の処理手段情報が選択された場合、選択された処理手段情報が示す処理手段を受け付ける（ステップＳ１２０）。そして、表示制御部３３は、処理手段選択画面Ｇ１３を閉じ、ステップＳ１２０において選択された処理手段情報を、メイン画面Ｇ１の領域Ｇ１１に表示する（ステップＳ１３０）。
【００７３】
ステップＳ１３０の処理が行われた後、手段受付部３７は、領域Ｇ１１に表示された各処理手段情報が示す処理手段の依存先を示す情報を、ユーザーにより依存関係入力画面Ｇ１から入力されるまで待機する。そして、手段受付部３７は、当該情報が受け付けられた場合、受け付けた情報を、当該情報に対応する処理手段に対応付ける（ステップＳ１４０）。なお、ユーザーが当該依存先を入力しない場合、ステップＳ１４０の処理は、省略される。
【００７４】
ステップＳ１４０の処理が行われた後、シーケンス作成部３９は、メイン画面Ｇ１においてユーザーがボタンＢ１０に対して選択操作を行うまで待機する。そして、当該選択操作が行われた後、シーケンス作成部３９は、領域Ｇ１１に表示された１以上の処理手段情報のそれぞれが示す処理手段を前述の規則に従って並べ替えることにより、シーケンスを作成する（ステップＳ１５０）。ここで、図９を参照し、ステップＳ１５０の処理について説明する。
【００７５】
図９に示したメイン画面Ｇ１には、領域Ｇ１１に９つの処理手段情報が表示されている。この一例において、９つの処理手段情報は、前述したように、二次元情報の取得（１）、形状検出（２）、三次元情報の取得の開始（３）、三次元情報の取得の終了（４）、部品の組み込み検査（５）、三次元パターンマッチング（６）、二次元パターンマッチング（７）、距離の検査（８）、部品の組み込み位置の検査（９）である。
当該メイン画面Ｇ１においてユーザーがボタンＢ１０に対して選択操作を行った場合、シーケンス作成部３９は、領域Ｇ１１に表示された９つの処理手段情報のそれぞれが示す処理手段を前述の規則にしたがって並べ替えることによってシーケンスを作成する。具体的には、シーケンス作成部３９は、例えば、当該処理手段のそれぞれに対応付けられた依存先に基づいて、当該処理手段のそれぞれを第１処理手段〜第６処理手段のいずれかに分類する。そして、シーケンス作成部３９は、分類した処理手段と、図４に示したシーケンスとに基づいて、当該処理手段を並べ替えることによりシーケンスを作成する。シーケンスが作成された後、表示制御部３３は、シーケンス作成部３９により作成されたシーケンスに含まれる処理手段のそれぞれを示す処理手段情報を、当該処理手段の順に領域Ｇ１１に表示させる。図１０は、図９に示した処理手段情報がステップＳ１５０の処理によって並べ替えられた後のメイン画面の一例を示す図である。図１０によれば、第２処理手段が行う三次元情報の取得の開始（３）後で、且つ第２処理手段が行う三次元情報の取得の終了（４）の前に第１処理手段が行う形状検出（２）か並べられる。
【００７６】
なお、図１０に示した例では、シーケンス作成部３９は、二次元パターンマッチング（７）を三次元情報の取得の開始（３）の前に並べているが、これに限られない。例えば、三次元情報を取得するアルゴリズムによっては、二次元パターンマッチング（７）は、三次元情報を取得する処理が行われている間でも問題がない場合がある。二次元パターンマッチング（７）による処理結果が三次元情報を取得する処理へ影響を及ぼさない場合、三次元処理が行われている間に当該二次元パターンマッチング（７）を実行するようにしてもよい。また、三次元処理手段の結果から、二次元撮像のパラメーターを調整する場合、三次元処理手段による処理の後に、二次元撮像を行う処理手段を再度加えてもよい。
【００７７】
図８に戻る。ステップＳ１５０においてメイン画面Ｇ１の領域Ｇ１１に並べ替えられた処理手段情報を含むシーケンスが表示された後、シーケンス実行部４３は、メイン画面Ｇ１においてユーザーによりボタンＢ１４に対する選択操作が行われるまで待機する。シーケンス実行部４３は、当該選択操作が行われた場合、画像処理装置２０が処理を行う対象に対して、シーケンスに含まれる処理手段を順に実行する。そして、表示制御部３３は、シーケンスが実行された結果をメイン画面Ｇ１に表示し（ステップＳ１６０）、処理を終了する。
【００７８】
上述した実施形態では、画像処理装置２０がユーザーにより選択された１以上の処理手段情報を並べることによってシーケンスが作成される場合について説明したが、この例に限られない。例えば、処理手段情報に順番が予め設定されており、画像処理装置２０は、当該順番にしたがって処理手段情報を並べることによってシーケンスを作成するようにしてもよい。
上述した実施形態では、画像処理装置２０が三次元情報の取得の開始と三次元処理の終了の間に第１処理手段が行う形状検出（２）を行う場合について説明したが、この例に限られない。例えば、画像処理装置２０が三次元情報の取得の開始と三次元処理の終了の間に第１処理手段が行う形状検出（パターンマッチング、幾何サーチなど）、色の検出、文字検出等を行うようにしてもよい。
【００７９】
このように、画像処理装置２０は、二次元処理手段と三次元処理手段とを受け付ける。ここで、二次元処理手段には二次元情報の処理が含まれる。また、三次元処理手段には三次元情報の取得の開始の処理と三次元情報の終了の処理とが含まれる。そして、画像処理装置２０では、受け取った画像処理の順番において、三次元処理手段の三次元情報の取得の開始の後で三次元処理手段である三次元処理の終了の前で二次元処理手段が行われる、画像処理の順番が並べ替え可能とする。これにより、画像処理装置２０は、二次元情報の処理を含む二次元処理手段と三次元情報の取得の開始の処理と三次元情報の終了の処理とを含む三次元処理手段とを効率的に併用したシーケンスを作成することができる。例えば、画像処理装置２０は、処理手段を含むシーケンスの処理時間が短くなるように処理手段を並べる。その結果、ユーザーが処理手段を任意に選択した場合でも、画像処理装置２０は、処理時間が短くなるようにシーケンスを作成できる。
【００８０】
＜実施形態の変形例＞
以下、図１１を参照し、実施形態の変形例について説明する。なお、実施形態の変形例では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
【００８１】
図１１は、実施形態の変形例に係るロボットシステム２の構成の一例を示す図である。ロボットシステム２は、撮像部１０と、ロボット３０と、ロボット制御装置５０を備える。また、ロボット制御装置５０は、画像処理装置２０を備える。より具体的には、ロボット制御装置５０は、画像処理装置２０が備える各機能部を備える。
【００８２】
ロボット３０は、アームＡと、アームＡを支持する支持台Ｂを備える単腕ロボットである。単腕ロボットは、この一例におけるアームＡのような１本のアーム（腕）を備えるロボットである。なお、ロボット３０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上のアーム（例えば、２本以上のアームＡ）を備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット３０は、２本のアームを備える双腕ロボットであってもよく、３本以上のアーム（例えば、３本以上のアームＡ）を備える複腕ロボットであってもよい。また、ロボット３０は、スカラロボットや、円筒型ロボット等の他のロボットであってもよい。
【００８３】
アームＡは、エンドエフェクターＥと、マニピュレーターＭを備える。
エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【００８４】
エンドエフェクターＥは、ケーブルによってロボット制御装置５０と通信可能に接続されている。これにより、エンドエフェクターＥは、ロボット制御装置５０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、エンドエフェクターＥは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置５０と接続される構成であってもよい。
【００８５】
マニピュレーターＭは、６つの関節を備える。また、当該６つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭを備えるアームＡは、６軸垂直多関節型のアームである。アームＡは、支持台Ｂと、エンドエフェクターＥと、マニピュレーターＭと、マニピュレーターＭが備える６つの関節それぞれのアクチュエーターとによる連携した動作によって６軸の自由度の動作を行う。なお、アームＡは、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。
【００８６】
マニピュレーターＭが備える６つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによってロボット制御装置５０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置５０から取得される制御信号に基づいて、マニピュレーターＭを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭが備える６つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置５０と接続される構成であってもよい。
【００８７】
ロボット制御装置５０は、この一例において、ロボットを制御する装置である。ロボット制御装置５０は、予め入力された動作プログラムに基づいて制御信号を生成する。ロボット制御装置５０は、生成した制御信号をロボット３０に送信し、ロボット３０に所定の作業を行わせる。所定の作業は、この一例において、ロボット３０がアームＡを動作させ、作業台ＴＢの上面に載置された対象物Ｏを把持し、把持した対象物Ｏを図示しない給材領域に配置する作業である。なお、所定の作業は、これに代えて、他の作業であってもよい。
【００８８】
ロボット制御装置５０は、ロボット３０に所定の作業を行わせる際、撮像部１０に対象物Ｏを含む範囲を撮像させる。ロボット制御装置５０は、撮像部１０が撮像した撮像画像を撮像部１０から取得する。そして、ロボット制御装置５０は、ユーザーにより選択された処理手段情報に基づいて、二次元処理と三次元処理とを併用したシーケンスを作成し、取得した撮像画像に対して当該シーケンスを実行する。これにより、ロボット制御装置５０は、対象物Ｏの位置及び姿勢を算出する。ロボット制御装置５０は、算出した位置及び姿勢に基づいてロボット３０に所定の作業を行わせる。
【００８９】
すなわち、ロボット制御装置５０は、実施形態において説明した画像処理装置２０を備え、画像処理装置２０が作成した二次元処理と三次元処理とを併用したシーケンスに基づいて、対象物Ｏの位置及び姿勢を算出させる。これにより、ロボット制御装置５０は、対象物Ｏの位置及び姿勢を算出させるのに要する時間を短縮することができる。
【００９０】
なお、ロボットシステム２において、ロボット制御装置５０と画像処理装置２０とは、別体であってもよい。この場合、ロボット制御装置５０は、画像処理装置２０から画像処理装置２０が算出した対象物Ｏの位置及び姿勢を取得し、取得した位置及び姿勢に基づいてロボット３０に所定の作業を行わせる。
【００９１】
以上説明したように、画像処理装置（この一例において、画像処理装置２０）は、第１処理（この一例において、第１処理ツール、第４処理ツール、第５処理ツール）と第２処理（この一例において、第２処理ツール、第３処理ツール、第６処理ツール）を含む画像処理の順番を受け付け、画像処理の順番において、第２処理の三次元情報の取得の開始の後で第２処理である三次元処理の終了の前で第１処理が行われる、画像処理の順番が並べ替えできる。これにより、画像処理装置は、二次元情報の処理を含む第１処理と三次元情報の取得の開始の処理と三次元情報の終了の処理とを含む第２処理とを効率的に併用したシーケンスを作成することができる。
【００９２】
また、画像処理装置では、画像処理の順番の並べ替えは、ボタン（この一例において、ボタンＢ１０）により実行できる。これにより、画像処理装置は、ボタンにより、二次元情報の処理を含む第１処理と三次元情報の取得の開始の処理と三次元情報の終了の処理とを含む第２処理とを効率的に併用したシーケンスを実行することができる。
【００９３】
また、画像処理装置では、第１処理に対して設定されている順番を示す情報と、第２処理に対して設定されている順番を示す情報とに基づいて、第１処理及び第２処理が並べられる。これにより、画像処理装置は、第１処理に対して設定されている順番を示す情報と、第２処理に対して設定されている順番を示す情報とに基づいて、二次元情報の処理を含む第１処理と三次元情報の取得の開始の処理と三次元情報の終了の処理とを含む第２処理とを効率的に併用したシーケンスを作成することができる。
【００９４】
また、画像処理装置では、第１処理が行った処理の結果を用いて第２処理を行う場合に、当該第１処理の後に、当該第２処理が並べられる。これにより、画像処理装置は、第１処理が行った処理の結果を用いて第２処理を行う場合に、当該第１処理の後に、当該第２処理が並べることにより、第１処理と第２処理とを効率的に併用したシーケンスを作成することができる。
【００９５】
また、画像処理装置では、第２処理が行った処理の結果を用いて第１処理を行う場合に、当該第２処理の後に、当該第１処理が並べられる。これにより、画像処理装置は、第２処理が行った処理の結果を用いて第１処理を行う場合に、当該第２処理の後に、当該第１処理が並べることにより、第１処理と第２処理とを効率的に併用したシーケンスを作成することができる。
【００９６】
また、画像処理装置では、三次元情報の取得を、第２処理の前に並べられる。これにより、画像処理装置は、三次元情報の取得を、第２処理の前に並べることにより、第１処理と第２処理とを効率的に併用したシーケンスを作成することができる。
【００９７】
また、画像処理装置では、三次元情報の取得を終了する情報取得終了の処理を、三次元情報の取得と第２処理との間に並べられる。これにより、画像処理装置は、三次元情報の取得を終了する情報取得終了の処理を、三次元情報の取得と第２処理との間に並べることにより、第１処理と第２処理とを効率的に併用したシーケンスを作成することができる。
【００９８】
また、画像処理装置では、二次元情報を取得する処理を行う二次元情報取得処理を、第１処理の前に並べられる。これにより、画像処理装置は、二次元情報を取得する処理を行う二次元情報取得処理を、第１処理の前に並べることにより、第１処理と第２処理とを効率的に併用したシーケンスを作成することができる。
【００９９】
また、画像処理装置では、三次元処理は、位相シフト法を用いて、前記三次元情報を用いた処理を行う。これにより、画像処理装置は、三次元情報を用いた処理を精度よく行うことができる。
【０１００】
また、ロボット制御装置は、上記に記載の画像処理装置を備え、ロボットを制御できる。これにより、ロボット制御装置は、第１処理と第２処理とを併用したシーケンスを用いた処理の結果に基づいて、ロボットに作業を効率的に行わせることができる。
【０１０１】
また、ロボットは、上記に記載のロボット制御装置に制御される。これにより、第１処理と第２処理とを併用したシーケンスを用いた処理の結果に基づいて、作業を効率的に行うことができる。
【０１０２】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１０３】
また、以上に説明した装置（例えば、画像処理装置２０、ロボット制御装置５０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating
System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１０４】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１０５】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【符号の説明】
【０１０６】
１…画像処理システム、２…ロボットシステム、１０…撮像部、２０…画像処理装置、２１…ＣＰＵ、２２…記憶部、２３…入力受付部、２４…通信部、２５…表示部、２７…画像取得部、２８…制御部、３０…ロボット、３１…撮像制御部、３３…表示制御部、３７…手段受付部、３９…シーケンス作成部、４３…シーケンス実行部、５０…ロボット制御装置
【図１】
2018005450.tif 000003
【図２】
2018005450.tif 000004
【図３】
2018005450.tif 000005
【図４】
2018005450.tif 000006
【図５】
2018005450.tif 000007
【図６】
2018005450.tif 000008
【図７】
2018005450.tif 000009
【図８】
2018005450.tif 000010
【図９】
2018005450.tif 000011
【図１０】
2018005450.tif 000012
【図１１】
2018005450.tif 000013