(57)【要約】【課題】画像から抽出されたエッジ線とモデルの稜線との対応付けを容易化できる表示制御プログラム等を提供する。【解決手段】表示制御プログラムは、コンピュータに以下の処理を実行させる。コンピュータは、撮像装置により撮像された構造物を含む撮像画像から抽出された複数のエッジ線と、構造物の構造データに応じたモデルに含まれる複数の稜線とを選択可能に表示する。コンピュータは、表示した複数のエッジ線のうちの所定数のエッジ線の選択と、表示した複数の稜線のうちの所定数の稜線の選択とを受け付ける。コンピュータは、選択された所定数のエッジ線それぞれの選択順と、選択された所定数の稜線それぞれの選択順とに基づき、所定数のエッジ線それぞれを、所定数の稜線それぞれに対応付ける。コンピュータは、所定数の稜線それぞれの位置が、該稜線に対応付けられたエッジ線の位置に対応する姿勢でモデルを撮像画像に重畳表示する。【選択図】図１
2018128803.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置により撮像された構造物を含む撮像画像から抽出された複数のエッジ線と、前記構造物の構造データに応じたモデルに含まれる複数の稜線とを選択可能に表示し、
表示した前記複数のエッジ線のうちの所定数のエッジ線の選択と、表示した前記複数の稜線のうちの前記所定数の稜線の選択とを受け付け、
選択された前記所定数のエッジ線それぞれの選択順と、選択された前記所定数の稜線それぞれの選択順とに基づき、前記所定数のエッジ線それぞれを、前記所定数の稜線それぞれに対応付け、
前記所定数の稜線それぞれの位置が、該稜線に対応付けられたエッジ線の位置に対応する姿勢で前記モデルを前記撮像画像に重畳表示する、
処理をコンピュータに実行させることを特徴とする表示制御プログラム。
【請求項２】
前記受け付ける処理は、前記複数のエッジ線または稜線の近傍を通過するカーソルの通過順に、前記所定数のエッジ線の選択、または、前記所定数の稜線の選択を受け付ける、
ことを特徴とする請求項１に記載の表示制御プログラム。
【請求項３】
前記受け付ける処理は、前記複数のエッジ線または稜線のクリック順に、前記所定数のエッジ線の選択、または、前記所定数の稜線の選択を受け付ける、
ことを特徴とする請求項１に記載の表示制御プログラム。
【請求項４】
前記選択可能に表示する処理は、前記撮像画像から抽出された直線である前記複数のエッジ線と、前記モデルに含まれる直線である前記複数の稜線とを選択可能に表示する、
ことを特徴とする請求項１〜３のいずれか１つに記載の表示制御プログラム。
【請求項５】
撮像装置により撮像された構造物を含む撮像画像から抽出された複数のエッジ線と、前記構造物の構造データに応じたモデルに含まれる複数の稜線とを選択可能に表示し、
表示した前記複数のエッジ線のうちの所定数のエッジ線の選択と、表示した前記複数の稜線のうちの前記所定数の稜線の選択とを受け付け、
選択された前記所定数のエッジ線それぞれの選択順と、選択された前記所定数の稜線それぞれの選択順とに基づき、前記所定数のエッジ線それぞれを、前記所定数の稜線それぞれに対応付け、
前記所定数の稜線それぞれの位置が、該稜線に対応付けられたエッジ線の位置に対応する姿勢で前記モデルを前記撮像画像に重畳表示する、
処理をコンピュータが実行することを特徴とする表示制御方法。
【請求項６】
撮像装置により撮像された構造物を含む撮像画像から抽出された複数のエッジ線と、前記構造物の構造データに応じたモデルに含まれる複数の稜線とを選択可能に表示する表示制御部と、
表示した前記複数のエッジ線のうちの所定数のエッジ線の選択と、表示した前記複数の稜線のうちの前記所定数の稜線の選択とを受け付ける受付部と、
選択された前記所定数のエッジ線それぞれの選択順と、選択された前記所定数の稜線それぞれの選択順とに基づき、前記所定数のエッジ線それぞれを、前記所定数の稜線それぞれに対応付ける対応付け部と、
前記所定数の稜線それぞれの位置が、該稜線に対応付けられたエッジ線の位置に対応する姿勢で前記モデルを前記撮像画像に重畳表示する重畳表示部と、
を有することを特徴とする表示制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示制御プログラム、表示制御方法および表示制御装置に関する。
【背景技術】
【０００２】
各種の部品等の構造物、例えば、パーソナルコンピュータのケースやヒートシンク、スマートフォンの外装部品等の設計では、３次元ＣＡＤ（Computer  Aided  Design）が用いられている。３次元ＣＡＤのデータに基づいて製作された構造物について、３次元ＣＡＤ上の構造物のモデル通りに製作されているか否かを確認したい場合がある。この場合、例えば、製作された構造物を撮像した撮像画像と、３次元ＣＡＤの構造物のモデルとを重ね合わせると確認しやすくなる。また、モックアップモデルを撮像した撮像画像上に、スタイラスで位置を指示されたＣＡＤの形状モデルを重畳表示することで、モックアップモデルに色や質感、模様などの特性を反映させることが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２２７８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、撮像画像の構造物と、３次元ＣＡＤの構造物のモデルとを正確に重ね合わせるには、例えば、撮像画像上の構造物のエッジ線と、モデルの稜線とを多数選択して対応付けることが求められる。このため、これら多数のエッジ線や稜線を選択するための操作回数が多くなり、構造物のエッジ線とモデルの稜線との対応付けの操作が煩雑となる。
【０００５】
一つの側面では、画像から抽出されたエッジ線とモデルの稜線との対応付けを容易化できる表示制御プログラム、表示制御方法および表示制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
一つの態様では、表示制御プログラムは、撮像装置により撮像された構造物を含む撮像画像から抽出された複数のエッジ線と、前記構造物の構造データに応じたモデルに含まれる複数の稜線とを選択可能に表示する処理をコンピュータに実行させる。表示制御プログラムは、表示した前記複数のエッジ線のうちの所定数のエッジ線の選択と、表示した前記複数の稜線のうちの前記所定数の稜線の選択とを受け付ける処理をコンピュータに実行させる。表示制御プログラムは、選択された前記所定数のエッジ線それぞれの選択順と、選択された前記所定数の稜線それぞれの選択順とに基づき、前記所定数のエッジ線それぞれを、前記所定数の稜線それぞれに対応付ける処理をコンピュータに実行させる。表示制御プログラムは、前記所定数の稜線それぞれの位置が、該稜線に対応付けられたエッジ線の位置に対応する姿勢で前記モデルを前記撮像画像に重畳表示する処理をコンピュータに実行させる。
【発明の効果】
【０００７】
画像から抽出されたエッジ線とモデルの稜線との対応付けを容易化できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例の表示制御装置の構成の一例を示すブロック図である。
【図２】図２は、選択順記憶部の一例を示す図である。
【図３】図３は、従来のエッジ線および稜線の選択における操作の一例を示す図である。
【図４】図４は、エッジ線および稜線の選択における操作の一例を示す図である。
【図５】図５は、実施例の表示制御処理の一例を示すフローチャートである。
【図６】図６は、起動直後のアプリケーション画面の一例を示す図である。
【図７】図７は、撮像画像および抽出したエッジ線の一例を示す図である。
【図８】図８は、構造物に対応するモデルの表示の一例を示す図である。
【図９】図９は、線ペアの選択を開始する状態の一例を示す図である。
【図１０】図１０は、１ペア目の選択の一例を示す図である。
【図１１】図１１は、４ペアの選択が完了した状態の一例を示す図である。
【図１２】図１２は、モデルを撮像画像上の構造物に重ね合わせた状態の一例を示す図である。
【図１３】図１３は、表示制御プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて、本願の開示する表示制御プログラム、表示制御方法および表示制御装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例】
【００１０】
図１は、実施例の表示制御装置の構成の一例を示すブロック図である。図１に示す表示制御装置１００は、構造物を撮像した撮像画像と、３次元ＣＡＤの構造物のモデルとを重ね合わせる表示制御処理を行うアプリケーションを実行するコンピュータの一例である。表示制御装置１００の一例としては、据置型のパーソナルコンピュータを採用できる。表示制御装置１００は、上記の据置型のパーソナルコンピュータの他にも、例えば、可搬型のパーソナルコンピュータや、タブレット端末等を採用することもできる。
【００１１】
表示制御装置１００は、撮像装置により撮像された構造物を含む撮像画像から抽出された複数のエッジ線と、構造物の構造データ（以下、ＣＡＤデータともいう。）に応じたモデルに含まれる複数の稜線とを選択可能に表示する。表示制御装置１００は、表示した複数のエッジ線のうちの所定数のエッジ線の選択と、表示した複数の稜線のうちの所定数の稜線の選択とを受け付ける。表示制御装置１００は、選択された所定数のエッジ線それぞれの選択順と、選択された所定数の稜線それぞれの選択順とに基づき、所定数のエッジ線それぞれを、所定数の稜線それぞれに対応付ける。表示制御装置１００は、所定数の稜線それぞれの位置が、該稜線に対応付けられたエッジ線の位置に対応する姿勢でモデルを撮像画像に重畳表示する。これにより、表示制御装置１００は、画像から抽出されたエッジ線とモデルの稜線との対応付けを容易化できる。
【００１２】
図１に示すように、表示制御装置１００は、通信部１１０と、表示部１１１と、操作部１１２と、入出力部１１３と、記憶部１２０と、制御部１３０とを有する。なお、表示制御装置１００は、図１に示す機能部以外にも、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００１３】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、図示しないネットワークを介して他の情報処理装置と有線または無線で接続され、他の情報処理装置との間で情報の通信を司る通信インタフェースである。
【００１４】
表示部１１１は、各種情報を表示するための表示デバイスである。表示部１１１は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部１１１は、制御部１３０から入力された表示画面等の各種画面を表示する。
【００１５】
操作部１１２は、表示制御装置１００のユーザから各種操作を受け付ける入力デバイスである。操作部１１２は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部１１２は、ユーザによって入力された操作を操作情報として制御部１３０に出力する。なお、操作部１１２は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部１１１の表示デバイスと、操作部１１２の入力デバイスとは、一体化されるようにしてもよい。
【００１６】
入出力部１１３は、例えば、メモリカードＲ／Ｗ（Reader/Writer）である。入出力部１１３は、メモリカードに記憶された撮像画像およびＣＡＤデータを読み出して制御部１３０に出力する。また、入出力部１１３は、例えば、制御部１３０から出力された重畳画像をメモリカードに記憶する。なお、メモリカードとしては、例えばＳＤメモリカード等を用いることができる。
【００１７】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、撮像画像記憶部１２１と、ＣＡＤデータ記憶部１２２と、選択順記憶部１２３とを有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。
【００１８】
撮像画像記憶部１２１は、入力された撮像画像を記憶する。撮像画像記憶部１２１は、例えば、３次元ＣＡＤのＣＡＤデータに基づいて製作された構造物を撮像装置で撮像した撮像画像を記憶する。
【００１９】
ＣＡＤデータ記憶部１２２は、入力されたＣＡＤデータを記憶する。ＣＡＤデータ記憶部１２２は、例えば、３次元ＣＡＤを実行するコンピュータで生成された構造物の構造データであるＣＡＤデータを記憶する。なお、ＣＡＤデータ記憶部１２２は、ＣＡＤデータに基づいて生成された構造物のモデルの情報をＣＡＤデータと対応付けて記憶するようにしてもよい。
【００２０】
選択順記憶部１２３は、ユーザによって選択された構造物のエッジ線の選択順と、当該構造物のＣＡＤデータに基づいて生成された構造物のモデルの稜線の選択順とを対応付けて記憶する。図２は、選択順記憶部の一例を示す図である。図２に示すように、選択順記憶部１２３は、「選択順」、「構造物」、「モデル」といった項目を有する。選択順記憶部１２３は、例えば、選択順ごとに１レコードとして記憶する。
【００２１】
「選択順」は、ユーザによって選択された構造物のエッジ線の選択順、および、モデルの稜線の選択順を示す情報である。「構造物」は、撮像画像上の構造物の選択されたエッジ線を識別する識別子である。「モデル」は、モデルの選択された稜線を識別する識別子である。図２の例では、構造物のエッジ線が「ＳＬ１１」、「ＳＬ１２」、「ＳＬ１３」の順に選択され、モデルの稜線が「ＭＬ１１」、「ＭＬ１２」、「ＭＬ１３」の順に選択されたことを示す。また、図２の例では、「ＳＬ１１」と「ＭＬ１１」、「ＳＬ１２」と「ＭＬ１２」、「ＳＬ１３」と「ＭＬ１３」とがそれぞれ対応付けられていることを示す。
【００２２】
図１の説明に戻って、制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。
【００２３】
制御部１３０は、表示制御部１３１と、受付部１３２と、対応付け部１３３と、算出部１３４とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部１３０は、入出力部１１３から入力された撮像画像およびＣＡＤデータを、それぞれ撮像画像記憶部１２１およびＣＡＤデータ記憶部１２２に記憶する。なお、制御部１３０は、入出力部１１３からの撮像画像およびＣＡＤデータの入力に代えて、通信部１１０を介して、他の情報処理装置から撮像画像およびＣＡＤデータを取得するようにしてもよい。
【００２４】
表示制御部１３１は、例えば、ユーザの操作により表示制御処理を行うアプリケーションが起動されると、アプリケーション画面を表示部１１１に表示する。表示制御部１３１は、アプリケーション画面において、例えば、ユーザの操作により撮像画像の表示が指示されると、撮像画像記憶部１２１を参照し、撮像画像を取得する。表示制御部１３１は、取得した撮像画像からエッジ線を抽出する。表示制御部１３１は、取得した撮像画像および抽出したエッジ線を選択可能な状態でアプリケーション画面に表示する。
【００２５】
また、表示制御部１３１は、ＣＡＤデータ記憶部１２２を参照し、ＣＡＤデータを取得する。表示制御部１３１は、アプリケーション画面において、例えば、ユーザの操作によりＣＡＤデータのモデルの表示が指示されると、ＣＡＤデータ記憶部１２２を参照し、ＣＡＤデータを取得する。表示制御部１３１は、取得したＣＡＤデータに基づいてモデルを生成し、生成したモデルをアプリケーション画面に表示する。なお、生成したモデルには、モデルの外形を示す稜線が含まれ、稜線は選択可能な状態で表示される。
【００２６】
すなわち、表示制御部１３１は、撮像装置により撮像された構造物を含む撮像画像から抽出された複数のエッジ線と、構造物の構造データに応じたモデルに含まれる複数の稜線とを選択可能にアプリケーション画面、つまり表示部１１１に表示する。表示制御部１３１は、撮像画像およびモデルをアプリケーション画面に表示すると、受付指示を受付部１３２に出力する。
【００２７】
なお、表示制御部１３１は、抽出するエッジ線、および、モデルの稜線として、例えば直線を用いる。すなわち、表示制御部１３１は、撮像画像から抽出された直線である複数のエッジ線と、モデルに含まれる直線である複数の稜線とを選択可能に表示する。
【００２８】
表示制御部１３１は、算出部１３４から調整後のモデルが入力されると、撮像画像の選択された各エッジ線と、調整後のモデルの選択された各稜線とが重なるように、調整後のモデルをアプリケーション画面に表示する。すなわち、表示制御部１３１は、所定数の稜線それぞれの位置が、該稜線に対応付けられたエッジ線の位置に対応する姿勢でモデルを撮像画像に重畳表示する。言い換えると、表示制御部１３１は、算出部１３４から調整後のモデルが入力されると、アプリケーション画面において、入力された調整後のモデルを撮像画像上の構造物に合わせて重畳表示する。表示制御部１３１は、例えば、ユーザの指示により、重畳表示中のアプリケーション画面を、重畳画像として入出力部１１３のメモリカードに保存する。なお、表示制御部１３１および算出部１３４は、重畳表示部の一例である。
【００２９】
受付部１３２は、表示制御部１３１から受付指示が入力されると、ユーザからの撮像画像のエッジ線の選択と、モデルの稜線の選択との受け付けを開始する。受付部１３２は、ユーザの選択操作の操作情報が操作部１１２から入力されると、操作情報に応じて、撮像画像のエッジ線の選択、または、モデルの稜線の選択を受け付ける。すなわち、受付部１３２は、表示部１１１に表示された複数のエッジ線のうちの所定数のエッジ線の選択と、表示された複数の稜線のうちの所定数の稜線の選択とを受け付ける。受付部１３２は、エッジ線および稜線のそれぞれについて、選択順とエッジ線または稜線の識別子とを対応付けて、対応付け部１３３に出力する。
【００３０】
対応付け部１３３は、受付部１３２から対応付けられた選択順およびエッジ線の識別子と、選択順および稜線の識別子とが入力されると、入力された選択順に基づいて、エッジ線の識別子と稜線の識別子とを対応付ける。すなわち、対応付け部１３３は、選択された所定数のエッジ線それぞれの選択順と、選択された所定数の稜線それぞれの選択順とに基づき、所定数のエッジ線それぞれを、所定数の稜線それぞれに対応付ける。なお、以下の説明では、対応付けられたそれぞれのエッジ線と稜線とを線ペアと称する。すなわち、対応付け部１３３は、入力されたエッジ線の識別子と稜線の識別子とを選択順に基づいて対応付けて、それぞれ線ペアとする。対応付け部１３３は、対応付けた選択順、エッジ線の識別子および稜線の識別子、つまり線ペアを選択順記憶部１２３に記憶する。
【００３１】
対応付け部１３３は、選択順記憶部１２３を参照し、線ペアが４ペア記憶されているか否か、つまり、線ペアが４ペア選択されているか否かを判定する。対応付け部１３３は、線ペアが４ペア選択されていない場合には、受付部１３２に対して、引き続きエッジ線の選択と、稜線の選択とを受け付けるように指示する。なお、対応付け部１３３は、選択順記憶部１２３に線ペアが５ペア以上記憶されている場合には、任意の４ペアを選択されている線ペアとすることができる。対応付け部１３３は、線ペアが４ペア選択されている場合には、算出部１３４に算出指示を出力する。
【００３２】
ここで、図３および図４を用いて、エッジ線および稜線の選択について説明する。図３は、従来のエッジ線および稜線の選択における操作の一例を示す図である。図３に示す表示画面２０は、従来のエッジ線および稜線を選択する画面の一例である。表示画面２０は、撮像画像を表示する領域２１を有し、領域２１には構造物２２が表示される。また、表示画面２０には、構造物２２に対応するモデル２３と、線ペアを追加するための追加ボタン２４とが表示される。
【００３３】
この場合に、ユーザが４つの線ペアを選択するには、まず、ユーザは、１つ目の線ペアとして、構造物２２のエッジ線ＳＬ１を選択し、モデル２３の稜線ＭＬ１を選択し、追加ボタン２４を押下するという３回の操作を行う（ステップＳ１）。次に、ユーザは、２つ目の線ペアとして、構造物２２のエッジ線ＳＬ２を選択し、モデル２３の稜線ＭＬ２を選択し、追加ボタン２４を押下するという３回の操作を行う（ステップＳ２）。次に、ユーザは、３つ目の線ペアとして、構造物２２のエッジ線ＳＬ３を選択し、モデル２３の稜線ＭＬ３を選択し、追加ボタン２４を押下するという３回の操作を行う（ステップＳ３）。次に、ユーザは、４つ目の線ペアとして、構造物２２のエッジ線ＳＬ４を選択し、モデル２３の稜線ＭＬ４を選択し、追加ボタン２４を押下するという３回の操作を行う（ステップＳ４）。すなわち、ユーザは、４つの線ペアを選択するために３回×４ペア＝１２回の操作を行うことになる。
【００３４】
これに対して、本願でのエッジ線および稜線の選択について図４を用いて説明する。図４は、エッジ線および稜線の選択における操作の一例を示す図である。図４に示す表示画面３０は、本願におけるエッジ線および稜線を選択する画面の一例である。表示画面３０は、撮像画像を表示する領域３１を有し、領域３１には構造物３２が表示される。また、表示画面３０には、構造物３２に対応するモデル３３と、線ペアを追加するための追加ボタン３４とが表示される。
【００３５】
この場合に、ユーザが４つの線ペアを選択するには、まず、ユーザは、構造物３２のエッジ線ＳＬ１１、ＳＬ１２およびＳＬ１３の近傍をマウスカーソルが順に通過するように、例えば、マウスの左クリックボタンを押下しながら一筆書きで入力を行う。次に、ユーザは、モデル３３の稜線ＭＬ１１、ＭＬ１２およびＭＬ１３の近傍をマウスカーソルが順に通過するように、例えば、マウスの左クリックボタンを押下しながら一筆書きで入力を行い、追加ボタン３４を押下する。つまり、ユーザは、エッジ線ＳＬ１１〜ＳＬ１３の選択、稜線ＭＬ１１〜ＭＬ１３の選択、および、追加ボタン３４の押下という３回の操作を行う（ステップＳ１１）。次に、ユーザは、構造物３２のエッジ線ＳＬ１４を選択し、モデル３３の稜線ＭＬ１４を選択し、追加ボタン３４を押下するという３回の操作を行う（ステップＳ１２）。すなわち、ユーザは、４つの線ペアを選択するために、３回＋３回＝６回の操作を行うことになる。
【００３６】
言い換えると、受付部１３２は、複数のエッジ線または稜線の近傍を通過するカーソルの通過順に、所定数のエッジ線の選択、または、所定数の稜線の選択を受け付ける。このように、本願の表示制御装置１００では、構造物のエッジ線とモデルの稜線との対応付けの操作を従前の操作と比較して１２回から６回へと減らすことができるので、画像から抽出されたエッジ線とモデルの稜線との対応付けを容易化できる。
【００３７】
なお、図４の例において、一筆書きを行わずに、構造物３２のエッジ線ＳＬ１１、ＳＬ１２、ＳＬ１３およびＳＬ１４を順番に選択し、モデル３３の稜線ＭＬ１１、ＭＬ１２、ＭＬ１３およびＭＬ１４を順番に選択して、追加ボタン３４を押下するようにしてもよい。この場合、ユーザは、４回＋４回＋１回＝９回の操作を行うことになる。言い換えると、受付部１３２は、複数のエッジ線または稜線のクリック順に、所定数のエッジ線の選択、または、所定数の稜線の選択を受け付ける。この場合に、本願の表示制御装置１００では、構造物のエッジ線とモデルの稜線との対応付けの操作を従前の操作と比較して１２回から９回へと減らすことができるので、画像から抽出されたエッジ線とモデルの稜線との対応付けを容易化できる。
【００３８】
図１の説明に戻って、算出部１３４は、対応付け部１３３から算出指示が入力されると、選択順記憶部１２３を参照し、４つの線ペアを読み出してモデルの移動回転行列を算出する。算出部１３４は、算出した移動回転行列に基づいて、モデルの各稜線が撮像画像の対応する各エッジ線と重なるように、モデルの大きさを調整して３次元での移動および回転を行う。算出部１３４は、調整後のモデルを表示制御部１３１に出力する。すなわち、算出部１３４は、算出した移動回転行列に基づいて、モデルの位置、大きさおよび姿勢を調整し、調整後のモデルを表示制御部１３１に出力する。
【００３９】
次に、実施例の表示制御装置１００の動作について説明する。図５は、実施例の表示制御処理の一例を示すフローチャートである。
【００４０】
表示制御部１３１は、例えば、ユーザの操作により表示制御処理を行うアプリケーションが起動されると、アプリケーション画面を表示部１１１に表示する。表示制御部１３１は、アプリケーション画面を表示すると、ユーザの指示により撮像画像記憶部１２１から撮像画像を取得してエッジ線を抽出する。表示制御部１３１は、取得した撮像画像および抽出したエッジ線をアプリケーション画面に表示する（ステップＳ１０１）。
【００４１】
表示制御部１３１は、ＣＡＤデータ記憶部１２２を参照してＣＡＤデータを取得する。表示制御部１３１は、取得したＣＡＤデータに基づいてモデルを生成し、生成したモデルをアプリケーション画面に表示する（ステップＳ１０２）。つまり、表示制御部１３１は、モデル、および、モデルに含まれる稜線をアプリケーション画面に表示する。表示制御部１３１は、撮像画像およびモデルをアプリケーション画面に表示すると、受付指示を受付部１３２に出力する。
【００４２】
受付部１３２は、表示制御部１３１から受付指示が入力されると、ユーザからの撮像画像のエッジ線の選択と、モデルの稜線の選択との受け付けを開始する。まず、受付部１３２は、撮像画像のエッジ線のうち所定数、例えば３つのエッジ線の選択を受け付ける（ステップＳ１０３）。続いて、受付部１３２は、モデルの稜線のうち所定数、例えば３つの稜線の選択を受け付ける（ステップＳ１０４）。受付部１３２は、エッジ線および稜線のそれぞれについて、選択順とエッジ線または稜線の識別子とを対応付けて、対応付け部１３３に出力する。
【００４３】
対応付け部１３３には、受付部１３２から対応付けられた選択順およびエッジ線の識別子と、選択順および稜線の識別子とが入力される。対応付け部１３３は、入力されたエッジ線の識別子と稜線の識別子とを選択順に基づいて対応付けて、それぞれ線ペアとする（ステップＳ１０５）。対応付け部１３３は、対応付けた選択順、エッジ線の識別子および稜線の識別子、つまり線ペアを選択順記憶部１２３に記憶する。
【００４４】
対応付け部１３３は、選択順記憶部１２３を参照し、線ペアが４ペア選択されているか否かを判定する（ステップＳ１０６）。対応付け部１３３は、線ペアが４ペア選択されていない場合には（ステップＳ１０６：否定）、ステップＳ１０３に戻り、受付部１３２に対して、引き続きエッジ線の選択と、稜線の選択とを受け付けるように指示する。対応付け部１３３は、線ペアが４ペア選択されている場合には（ステップＳ１０６：肯定）、算出部１３４に算出指示を出力する。
【００４５】
算出部１３４は、対応付け部１３３から算出指示が入力されると、選択順記憶部１２３を参照し、４つの線ペアを読み出してモデルの移動回転行列を算出する（ステップＳ１０７）。算出部１３４は、算出した移動回転行列に基づいて、モデルの位置、大きさおよび姿勢を調整し、調整後のモデルを表示制御部１３１に出力する。
【００４６】
表示制御部１３１は、算出部１３４から調整後のモデルが入力されると、アプリケーション画面において、入力された調整後のモデルを撮像画像上の構造物に合わせて重畳表示する（ステップＳ１０８）。表示制御部１３１は、例えば、ユーザの指示により、重畳表示中のアプリケーション画面を、重畳画像として入出力部１１３のメモリカードに保存して表示制御処理を終了する。これにより、表示制御装置１００は、画像から抽出されたエッジ線とモデルの稜線との対応付けを容易化できる。すなわち、表示制御装置１００は、撮像画像から抽出されたエッジ線の、構造データに応じたモデルに含まれる稜線への対応付けを容易化することができる。
【００４７】
続いて、図６から図１２を用いて、表示制御処理の具体例について説明する。図６は、起動直後のアプリケーション画面の一例を示す図である。図６に示すように、アプリケーション画面４０は、ファイルに関する操作領域４１と、モデルの３次元表示に関する操作領域４２と、重畳表示に関する操作領域４３と、撮像画像およびモデルを表示する表示領域４４とを有する。アプリケーション画面４０では、ユーザにより、操作領域４１が操作されて読み込む撮像画像が指定される。
【００４８】
図７は、撮像画像および抽出したエッジ線の一例を示す図である。図７は、読み込まれた撮像画像４５が表示領域４４に表示された状態である。撮像画像４５には構造物４６が含まれる。また、表示領域４４には、撮像画像４５から抽出された複数のエッジ線４７が表示される。図７に示すアプリケーション画面４０では、ユーザにより、操作領域４１が操作されて読み込むＣＡＤデータが指定される。
【００４９】
図８は、構造物に対応するモデルの表示の一例を示す図である。図８は、指定されたＣＡＤデータに基づくモデル４８が表示領域４４の任意の場所に、撮像画像４５に対して重畳して表示された状態である。つまり、図８では、構造物４６と、構造物４６に対応するモデル４８とが表示領域４４に表示される。
【００５０】
図９は、線ペアの選択を開始する状態の一例を示す図である。図９は、アプリケーション画面４０において、操作領域４３の線ペアの選択を開始するチェックボックス４９にチェックが入れられた状態である。図９では、構造物４６およびモデル４８のエッジ線および稜線が選択可能な状態である。
【００５１】
図１０は、１ペア目の選択の一例を示す図である。図１０では、ステップＳ２１、Ｓ２２およびＳ２３の順に操作が行われることで、１ペア目の線ペアが選択される。アプリケーション画面４０では、ユーザによって構造物４６のエッジ線ＳＬ２１が選択される（ステップＳ２１）。次に、アプリケーション画面４０では、ユーザによってモデル４８の稜線ＭＬ２１が選択される（ステップＳ２２）。その後、アプリケーション画面４０では、ユーザによって操作領域４３の追加ボタン５０が押下される（ステップＳ２３）。これにより、表示制御装置１００は、エッジ線ＳＬ２１と稜線ＭＬ２１とを、選択順「１」と対応付けて、選択順記憶部１２３に記憶する。
【００５２】
図１１は、４ペアの選択が完了した状態の一例を示す図である。図１１では、ステップＳ２４、Ｓ２５およびＳ２６の順に操作が行われることで、２ペア目から４ペア目の線ペアが選択される。アプリケーション画面４０では、ユーザによって構造物４６のエッジ線ＳＬ２２、ＳＬ２３およびＳＬ２４の近傍をマウスカーソルが順に通過するように入力が行われる（ステップＳ２４）。次に、アプリケーション画面４０では、ユーザによってモデル４８の稜線ＭＬ２２、ＭＬ２３およびＭＬ２４の近傍をマウスカーソルが順に通過するように入力が行われる（ステップＳ２５）。その後、アプリケーション画面４０では、ユーザによって操作領域４３の追加ボタン５０が押下される（ステップＳ２６）。これにより、表示制御装置１００は、エッジ線ＳＬ２２と稜線ＭＬ２２とを選択順「２」に、エッジ線ＳＬ２３と稜線ＭＬ２３とを選択順「３」に、エッジ線ＳＬ２４と稜線ＭＬ２４とを選択順「４」に、それぞれ対応付けて、選択順記憶部１２３に記憶する。
【００５３】
図１２は、モデルを撮像画像上の構造物に重ね合わせた状態の一例を示す図である。図１２は、図１１の状態で操作領域４３の重畳表示ボタン５１がユーザにより押下されることにより（ステップＳ２７）、構造物４６と、位置、大きさおよび姿勢が調整された調整後のモデル４８ａとが重畳表示された状態を示すものである。すなわち、図１２は、図７から図１１までの操作により対応付けられた４つの線ペアから移動回転行列が算出され、移動回転行列に基づいて調整された調整後のモデル４８ａが撮像画像上の構造物４６に合わせて重畳表示された状態である。このように、表示制御装置１００は、画像から抽出されたエッジ線とモデルの稜線との対応付けを容易化できる。
【００５４】
なお、上記実施例では、予め撮像された撮像画像を取得したが、これに限定されない。例えば、表示制御装置１００に撮像装置を設け、表示制御装置１００で撮像した撮像画像に含まれる構造物に、当該構造物のＣＡＤデータに基づくモデルを調整して重畳表示するようにしてもよい。
【００５５】
このように、表示制御装置１００は、撮像装置により撮像された構造物を含む撮像画像から抽出された複数のエッジ線と、構造物の構造データに応じたモデルに含まれる複数の稜線とを選択可能に表示する。また、表示制御装置１００は、表示した複数のエッジ線のうちの所定数のエッジ線の選択と、表示した複数の稜線のうちの所定数の稜線の選択とを受け付ける。また、表示制御装置１００は、選択された所定数のエッジ線それぞれの選択順と、選択された所定数の稜線それぞれの選択順とに基づき、所定数のエッジ線それぞれを、所定数の稜線それぞれに対応付ける。また、表示制御装置１００は、所定数の稜線それぞれの位置が、該稜線に対応付けられたエッジ線の位置に対応する姿勢でモデルを撮像画像に重畳表示する。その結果、表示制御装置１００は、画像から抽出されたエッジ線とモデルの稜線との対応付けを容易化できる。
【００５６】
また、表示制御装置１００は、複数のエッジ線または稜線の近傍を通過するカーソルの通過順に、所定数のエッジ線の選択、または、所定数の稜線の選択を受け付ける。その結果、表示制御装置１００は、ユーザによるエッジ線および稜線を選択する操作の回数を減らすことができる。
【００５７】
また、表示制御装置１００は、複数のエッジ線または稜線のクリック順に、所定数のエッジ線の選択、または、所定数の稜線の選択を受け付ける。その結果、表示制御装置１００は、ユーザによるエッジ線および稜線を選択する操作の回数を減らすことができる。
【００５８】
また、表示制御装置１００は、撮像画像から抽出された直線である複数のエッジ線と、モデルに含まれる直線である複数の稜線とを選択可能に表示する。その結果、表示制御装置１００は、直線であるエッジ線および稜線を基準として、撮像画像上の構造物に、当該構造物のモデルを重畳表示できる。
【００５９】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部１３２と対応付け部１３３とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【００６０】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００６１】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１３は、表示制御プログラムを実行するコンピュータの一例を示す図である。
【００６２】
図１３に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、データ入力を受け付ける入力装置２０２と、モニタ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る媒体読取装置２０４と、各種装置と接続するためのインタフェース装置２０５と、他の情報処理装置等と有線または無線により接続するための通信装置２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。また、各装置２０１〜２０８は、バス２０９に接続される。
【００６３】
ハードディスク装置２０８には、図１に示した表示制御部１３１、受付部１３２、対応付け部１３３および算出部１３４の各処理部と同様の機能を有する表示制御プログラムが記憶される。また、ハードディスク装置２０８には、撮像画像記憶部１２１、ＣＡＤデータ記憶部１２２、選択順記憶部１２３、および、表示制御プログラムを実現するための各種データが記憶される。入力装置２０２は、例えば、コンピュータ２００のユーザから操作情報等の各種情報の入力を受け付ける。モニタ２０３は、例えば、コンピュータ２００のユーザに対して表示画面等の各種画面を表示する。媒体読取装置２０４は、撮像画像およびＣＡＤデータ等の各種データを読み取る。インタフェース装置２０５は、例えば印刷装置等が接続される。通信装置２０６は、例えば、図１に示した通信部１１０と同様の機能を有し図示しないネットワークと接続され、図示しない他の情報処理装置と各種情報をやりとりする。
【００６４】
ＣＰＵ２０１は、ハードディスク装置２０８に記憶された各プログラムを読み出して、ＲＡＭ２０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ２００を図１に示した表示制御部１３１、受付部１３２、対応付け部１３３および算出部１３４として機能させることができる。
【００６５】
なお、上記の表示制御プログラムは、必ずしもハードディスク装置２０８に記憶されている必要はない。例えば、コンピュータ２００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ２００が読み出して実行するようにしてもよい。コンピュータ２００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの表示制御プログラムを記憶させておき、コンピュータ２００がこれらから表示制御プログラムを読み出して実行するようにしてもよい。
【００６６】
以上、本実施例を含む実施の形態に関し、さらに以下の付記を開示する。
【００６７】
（付記１）撮像装置により撮像された構造物を含む撮像画像から抽出された複数のエッジ線と、前記構造物の構造データに応じたモデルに含まれる複数の稜線とを選択可能に表示し、
表示した前記複数のエッジ線のうちの所定数のエッジ線の選択と、表示した前記複数の稜線のうちの前記所定数の稜線の選択とを受け付け、
選択された前記所定数のエッジ線それぞれの選択順と、選択された前記所定数の稜線それぞれの選択順とに基づき、前記所定数のエッジ線それぞれを、前記所定数の稜線それぞれに対応付け、
前記所定数の稜線それぞれの位置が、該稜線に対応付けられたエッジ線の位置に対応する姿勢で前記モデルを前記撮像画像に重畳表示する、
処理をコンピュータに実行させることを特徴とする表示制御プログラム。
【００６８】
（付記２）前記受け付ける処理は、前記複数のエッジ線または稜線の近傍を通過するカーソルの通過順に、前記所定数のエッジ線の選択、または、前記所定数の稜線の選択を受け付ける、
ことを特徴とする付記１に記載の表示制御プログラム。
【００６９】
（付記３）前記受け付ける処理は、前記複数のエッジ線または稜線のクリック順に、前記所定数のエッジ線の選択、または、前記所定数の稜線の選択を受け付ける、
ことを特徴とする付記１に記載の表示制御プログラム。
【００７０】
（付記４）前記選択可能に表示する処理は、前記撮像画像から抽出された直線である前記複数のエッジ線と、前記モデルに含まれる直線である前記複数の稜線とを選択可能に表示する、
ことを特徴とする付記１〜３のいずれか１つに記載の表示制御プログラム。
【００７１】
（付記５）撮像装置により撮像された構造物を含む撮像画像から抽出された複数のエッジ線と、前記構造物の構造データに応じたモデルに含まれる複数の稜線とを選択可能に表示し、
表示した前記複数のエッジ線のうちの所定数のエッジ線の選択と、表示した前記複数の稜線のうちの前記所定数の稜線の選択とを受け付け、
選択された前記所定数のエッジ線それぞれの選択順と、選択された前記所定数の稜線それぞれの選択順とに基づき、前記所定数のエッジ線それぞれを、前記所定数の稜線それぞれに対応付け、
前記所定数の稜線それぞれの位置が、該稜線に対応付けられたエッジ線の位置に対応する姿勢で前記モデルを前記撮像画像に重畳表示する、
処理をコンピュータが実行することを特徴とする表示制御方法。
【００７２】
（付記６）前記受け付ける処理は、前記複数のエッジ線または稜線の近傍を通過するカーソルの通過順に、前記所定数のエッジ線の選択、または、前記所定数の稜線の選択を受け付ける、
ことを特徴とする付記５に記載の表示制御方法。
【００７３】
（付記７）前記受け付ける処理は、前記複数のエッジ線または稜線のクリック順に、前記所定数のエッジ線の選択、または、前記所定数の稜線の選択を受け付ける、
ことを特徴とする付記５に記載の表示制御方法。
【００７４】
（付記８）前記選択可能に表示する処理は、前記撮像画像から抽出された直線である前記複数のエッジ線と、前記モデルに含まれる直線である前記複数の稜線とを選択可能に表示する、
ことを特徴とする付記５〜７のいずれか１つに記載の表示制御方法。
【００７５】
（付記９）撮像装置により撮像された構造物を含む撮像画像から抽出された複数のエッジ線と、前記構造物の構造データに応じたモデルに含まれる複数の稜線とを選択可能に表示する表示制御部と、
表示した前記複数のエッジ線のうちの所定数のエッジ線の選択と、表示した前記複数の稜線のうちの前記所定数の稜線の選択とを受け付ける受付部と、
選択された前記所定数のエッジ線それぞれの選択順と、選択された前記所定数の稜線それぞれの選択順とに基づき、前記所定数のエッジ線それぞれを、前記所定数の稜線それぞれに対応付ける対応付け部と、
前記所定数の稜線それぞれの位置が、該稜線に対応付けられたエッジ線の位置に対応する姿勢で前記モデルを前記撮像画像に重畳表示する重畳表示部と、
を有することを特徴とする表示制御装置。
【００７６】
（付記１０）前記受付部は、前記複数のエッジ線または稜線の近傍を通過するカーソルの通過順に、前記所定数のエッジ線の選択、または、前記所定数の稜線の選択を受け付ける、
ことを特徴とする付記９に記載の表示制御装置。
【００７７】
（付記１１）前記受付部は、前記複数のエッジ線または稜線のクリック順に、前記所定数のエッジ線の選択、または、前記所定数の稜線の選択を受け付ける、
ことを特徴とする付記９に記載の表示制御装置。
【００７８】
（付記１２）前記表示制御部は、前記撮像画像から抽出された直線である前記複数のエッジ線と、前記モデルに含まれる直線である前記複数の稜線とを選択可能に表示する、
ことを特徴とする付記９〜１１のいずれか１つに記載の表示制御装置。
【符号の説明】
【００７９】
１００  表示制御装置
１１０  通信部
１１１  表示部
１１２  操作部
１１３  入出力部
１２０  記憶部
１２１  撮像画像記憶部
１２２  ＣＡＤデータ記憶部
１２３  選択順記憶部
１３０  制御部
１３１  表示制御部
１３２  受付部
１３３  対応付け部
１３４  算出部
【図１】
2018128803.tif 000003
【図２】
2018128803.tif 000004
【図３】
2018128803.tif 000005
【図４】
2018128803.tif 000006
【図５】
2018128803.tif 000007
【図６】
2018128803.tif 000008
【図７】
2018128803.tif 000009
【図８】
2018128803.tif 000010
【図９】
2018128803.tif 000011
【図１０】
2018128803.tif 000012
【図１１】
2018128803.tif 000013
【図１２】
2018128803.tif 000014
【図１３】
2018128803.tif 000015