(57)【要約】      （修正有）【課題】物体の形状を取得するために適した間隔で、特徴を撮像画像から抽出するための画像処理を提供する。【解決手段】画像処理装置１０４は、物体の表面に配置するマーカーを基材上に形成するための画像データを生成する。マーカーにおける、物体の表面の形状を示す特徴を有する複数の印の間隔を、物体の表面の曲率又は曲率半径に基づいて決定するマーカー管理部２０５と、決定した印の間隔に基づいて、画像データを生成するマーカー作成部２０６と、を有する。【選択図】図２
2019185729.tif 000002
【特許請求の範囲】
【請求項１】
物体の表面に配置するマーカーを基材上に形成するための画像データを生成する画像処理装置であって、
前記マーカーにおける、前記物体の表面の形状を示す特徴を有する複数の印の間隔を、前記物体の表面の曲率又は曲率半径に基づいて決定する決定手段と、
前記決定手段によって決定された前記印の間隔に基づいて、前記画像データを生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記決定手段は、前記物体の表面の曲率が第１曲率である場合よりも、前記物体の表面の曲率が前記第１曲率よりも大きい第２曲率である場合の方が、前記印の間隔を狭くすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数の印のそれぞれは、前記物体における１点の位置を特定するための印であることを特徴とする請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記画像データと、前記画像データが表す前記マーカーに関する情報と、を登録する登録手段と、
前記登録手段によって登録された前記画像データ及び前記マーカーに関する情報の一覧を表示する表示手段と、
をさらに有することを特徴とする請求項１乃至請求項３のいずれか一項に記載の画像処理装置。
【請求項５】
前記画像データに基づいて、前記マーカーを前記基材上に形成する形成手段をさらに有することを特徴とする請求項１乃至請求項４のいずれか一項に記載の画像処理装置。
【請求項６】
前記形成手段によって形成された前記マーカーが表面に配置された物体の表面と、前記マーカーと、を撮像範囲に含めるように撮像することによって得られる撮像画像データを取得する撮像画像データ取得手段と、
前記撮像画像データが表す撮像画像において、前記マーカーに含まれるパターンを特徴として抽出する抽出手段と、
をさらに有することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記抽出手段によって抽出された前記特徴に基づいて、前記物体の表面の形状を表す形状データを生成する生成手段をさらに有することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
物体の表面と、前記物体の形状を取得するために用いる領域と、を撮像範囲に含めるように撮像することによって得られる撮像画像データを取得する撮像画像データ取得手段と、
前記撮像画像データが表す撮像画像において、前記領域に含まれるパターンを特徴として抽出する抽出手段と、を有し、
前記パターンは、前記物体における１点の位置を特定するための印が複数配置されたパターンであり、
前記パターンにおける前記印の間隔は、前記物体の表面の曲率に応じて決められることを特徴とする画像処理装置。
【請求項９】
前記抽出手段によって抽出された前記特徴に基づいて、前記物体の表面の形状を表す形状データを生成する生成手段をさらに有することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記印は、前記パターンに少なくとも３つ配置されていることを特徴とする請求項８又は請求項９に記載の画像処理装置。
【請求項１１】
前記抽出手段は、前記撮像画像におけるエッジの位置を特定することによって、前記特徴を抽出することを特徴とする請求項８乃至請求項１０のいずれか一項に記載の画像処理装置。
【請求項１２】
前記形状データは、３次元空間における前記物体の表面の座標を表すことを特徴とする請求項９乃至請求項１１のいずれか一項に記載の画像処理装置。
【請求項１３】
前記形状データは、前記物体の表面に対する法線を表すことを特徴とする請求項９乃至請求項１２のいずれか一項に記載の画像処理装置。
【請求項１４】
前記領域は、前記物体において前記パターンを含むマーカーが配置された領域であることを特徴とする請求項８乃至請求項１３のいずれか一項に記載の画像処理装置。
【請求項１５】
コンピュータを請求項１乃至請求項３のいずれか一項又は請求項８乃至請求項１４のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１６】
物体の表面に配置するマーカーを基材上に形成するための画像データを生成する画像処理方法であって、
前記マーカーにおける、前記物体の表面の形状を示す特徴を有する複数の印の間隔を、前記物体の表面の曲率又は曲率半径に基づいて決定する決定ステップと、
前記決定手段によって決定された前記印の間隔に基づいて、前記画像データを生成する生成ステップと、
を有することを特徴とする画像処理方法。
【請求項１７】
物体の表面と、前記物体の形状を取得するために用いる領域と、を撮像範囲に含めるように撮像することによって得られる撮像画像データを取得する取得ステップと、
前記撮像画像データが表す撮像画像において、前記領域に含まれるパターンを特徴として抽出する抽出ステップと、を有し、
前記パターンは、前記物体における１点の位置を特定するための印が複数配置されたパターンであり、
前記パターンにおける前記印の間隔は、前記物体の表面の曲率に応じて決められることを特徴とする画像処理方法。
【請求項１８】
物体の表面に配置されるマーカーであって、
前記物体の表面の形状を示す特徴を有する印を少なくとも３つ有し、
前記印の間隔は、前記物体の表面の曲率に応じていることを特徴とするマーカー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の形状を取得するための画像処理技術に関する。
【背景技術】
【０００２】
従来、カメラを用いて得られた撮像画像から特徴を抽出し、抽出した特徴に基づいて物体の形状を取得する技術が知られている。特許文献１は、点群が配置されているマーカーを物体に貼り付け、物体を撮像することによって得られた画像から上述した点群を特徴として抽出することによって、物体の曲率や傾きを算出する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２２９２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のような従来の物体の形状取得方法において、物体の形状によっては、形状を取得するために抽出する特徴の間隔が不適切である場合があった。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、物体の形状を取得するために適した間隔で、特徴を撮像画像から抽出するための画像処理を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る画像処理装置は、物体の表面に配置するマーカーを基材上に形成するための画像データを生成する画像処理装置であって、前記マーカーにおける、前記物体の表面の形状を示す特徴を有する複数の印の間隔を、前記物体の表面の曲率又は曲率半径に基づいて決定する決定手段と、前記決定手段によって決定された前記印の間隔に基づいて、前記画像データを生成する生成手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、物体の形状を取得するために適した間隔で、特徴を撮像画像から抽出することができる。
【図面の簡単な説明】
【０００８】
【図１】画像処理システムの構成を示す図
【図２】画像処理装置の構成を示すブロック図
【図３】画像処理装置が実行する処理を示すフローチャート
【図４】マーカーの例を示す図
【図５】ユーザインターフェースの例を示す図
【図６】マーカーを新規登録するための処理を示すフローチャート
【図７】メタデータの例を示す図
【図８】撮像画像に対する処理を示すフローチャート
【図９】形状を算出する処理を示すフローチャート
【図１０】形状データの一例を示す図
【図１１】マーカーの例を示す図
【図１２】印領域の配置を決定する方法を説明するための図
【図１３】画像処理システムの構成を示す図
【図１４】画像処理装置が実行する処理を示すフローチャート
【図１５】画像処理装置が実行する処理を示すフローチャート
【図１６】ユーザインターフェースの例を示す図
【図１７】ユーザインターフェースの例を示す図
【図１８】マーカーの例を示す図
【図１９】マーカーを新規登録するための処理を示すフローチャート
【図２０】マーカーの例を示す図
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照して説明する。尚、以下の実施形態は本発明を必ずしも限定するものではない。また、本実施形態において説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１０】
［第１実施形態］
本実施形態においては、立体物の形状を取得する。本実施形態における立体物は、曲面形状を有する車体である。
【００１１】
＜画像処理システムの構成＞
図１は、本実施形態における画像処理システムの構成を示す図である。画像処理システムは、撮像装置１０３と、画像処理装置１０４と、画像形成装置１０８と、から構成される。物体１０１は、形状を取得する対象物である。マーカー１０２は、物体１０１の形状を取得するために物体１０１の表面に貼り付けられるマーカーである。撮像装置１０３は、物体１０１の表面に貼り付けられたマーカー１０２を撮像範囲に含めるように、物体１０１を撮像するためのデジタルカメラである。本実施形態における物体１０１は、パーツごとに形状が異なる車体の外装や内装とするが、曲面形状を有する物体であれば物体１０１は上記一例に限られない。また、撮像装置１０３は、レンズとＣＭＯＳ等の４０００×２０００画素のエリアセンサとを備えており、Ｒ（レッド）値、Ｇ（グリーン）値、Ｂ（ブルー）値の各色８ビット、計２４ビットの色情報を画素ごとに有する画像を表す画像データを生成する。尚、撮像装置１０３は、撮像対象物の色情報の２次元分布を取得できるカメラであればどのようなものであってもよく、色数やビット深度、画素数などは上述した一例に限定されない。撮像装置１０３及び画像形成装置１０８はＵＳＢ（ユニバーサルシリアルバス）等のインターフェースを介して画像処理装置１０４に接続されている。画像処理装置１０４は、パーソナルコンピュータ等の汎用のコンピュータである。また、画像処理装置１０４には、ディスプレイ１０５、マウス１０６、キーボード１０７がＵＳＢ等のインターフェースを介して接続されている。画像形成装置１０８は、６００ｄｐｉの２値画像（モノクロ画像）を印刷可能なインクジェット方式のプリンタである。画像形成装置１０８は、シールやマグネット、吸着シートなど、物体１０１に貼り付けることが可能な素材の基材にマーカー１０２のパターンを記録する。尚、画像形成装置１０８は、記録媒体にマーカー１０２のパターンを記録できればどのようなものであってもよく、例えば、カラー画像を印刷可能なプリンタであってもよい。
【００１２】
＜マーカー１０２＞
次に、マーカー１０２について詳細な説明を行う。図４は、マーカー１０２のレイアウトの一例を示す図である。フレーム領域４０１は黒色の領域であり、フレーム領域４０１上に各種パターンが配置される。また、印領域４０２は白色の円領域であり、撮像画像に基づいて物体１０１の形状を算出するために用いられる領域である。マーカー１０２は、複数の印領域４０２から構成されるパターンを含む領域を有する。複数の印領域４０２のそれぞれは、物体１０１における１点の位置を特定するための印である。印領域４０２は、フレーム領域４０１上に少なくとも３つ以上配置され、撮像画像における印領域４０２の歪みを特定することによって物体１０１の形状が算出される。図４においては、横方向に６個、縦方向に３個並ぶ計１８個の印領域４０２が設けられている。尚、被写界深度の影響等によって、撮像画像における印領域４０２のエッジにボケが発生した場合、印領域４０２が円形領域である場合は、円形領域の中心座標を２値化の閾値等のパラメータに依らずに安定して算出することができる。曲面を有する物体など、様々な方向から撮像することが望ましい場合は特に画像にボケが発生し易い。よって、印領域４０２の形状は、円形が望ましい。また、ＩＤコード領域４０３は、識別情報をコード化した領域である。識別情報は、マーカー１０２を識別するための情報であり、印領域４０２の配置に応じて割り振られた番号である。この識別番号と物体１０１における領域を特定する情報とを対応付けておくことにより、物体１０１においてどの領域の形状を取得したかを特定することができ、また、生成した形状データを容易に管理することができる。ＩＤコード領域４０３のパターンは、領域を８×８画素の計６４個のブロックに分割し、各ブロックを白と黒との２値で表現することによって、６４ビットの識別番号が表現可能なものを使用する。
【００１３】
印領域４０２の色は、フレーム領域４０１とのコントラストを大きくすることによって、撮像画像から印領域４０２を抽出する処理を高精度に行うことができる。ここでは、印領域４０２の色を白、フレーム領域４０１の色を黒とするが、これに限るものではない。例えば、フレーム領域４０１を透明とし、物体１０１の色に応じて印領域４０２の色を決定してもよい。
【００１４】
マーカー１０２は、上述したレイアウトを、物体１０１の表面に合わせて自由に曲げることのできるフレキシブルな基材上に画像形成装置１０８を用いて印刷したものである。尚、基材はマグネットや吸着シートなど、貼ったり剥がしたりを繰り返すことのできる素材が望ましい。また、印刷に用いるインクやトナーなどの記録材を拡散性を有するマットな記録材とすることによって、光源や周囲の映り込みを低減することができるため、印領域４０２を高精度に抽出できるようになる。さらに、マーカー１０２は、マーカー１０２に皺ができないように、また、物体１０１の表面との間に隙間ができないように、貼り付けられることが望ましい。また、高精度に物体１０１の形状を取得するため、形状取得の対象領域において曲率半径が最も小さい方向に印領域４０２が密に並ぶように、対象領域にマーカー１０２が貼り付けられることが望ましい。
【００１５】
＜画像処理装置１０４のハードウェア構成＞
図２（ａ）は、画像処理装置１０４のハードウェア構成を示すブロック図である。画像処理装置１０４は、ＣＰＵ１００１、ＲＯＭ１００２、ＲＡＭ１００３を備える。また、画像処理装置１０４は、ＶＣ（ビデオカード）１００４、汎用Ｉ／Ｆ（インターフェース）１００５、ＳＡＴＡ（シリアルＡＴＡ）Ｉ／Ｆ１００６、ＮＩＣ（ネットワークインターフェースカード）１００７を備える。ＣＰＵ１００１は、ＲＡＭ１００３をワークメモリとして、ＲＯＭ１００２、ＨＤＤ（ハードディスクドライブ）１０１３などに格納されたＯＳ（オペレーティングシステム）や各種プログラムを実行する。また、ＣＰＵ１００１は、システムバス１００８を介して各構成を制御する。尚、後述するフローチャートによる処理は、ＲＯＭ１００２やＨＤＤ１０１３などに格納されたプログラムコードがＲＡＭ１００３に展開され、ＣＰＵ１００１によって実行される。ＶＣ１００４には、ディスプレイ１０５が接続される。汎用Ｉ／Ｆ１００５には、シリアルバス１００９を介して、マウス１０６やキーボード１０７などの入力デバイス１０１０や撮像装置１０３、画像形成装置１０８が接続される。ＳＡＴＡＩ／Ｆ１００６には、シリアルバス１０１２を介して、ＨＤＤ１０１３や各種記録メディアの読み書きを行う汎用ドライブ１０１４が接続される。ＮＩＣ１００７は、外部装置との間で情報の入力及び出力を行う。ＣＰＵ１００１は、ＨＤＤ１０１３や汎用ドライブ１０１４にマウントされた各種記録メディアを各種データの格納場所として使用する。ＣＰＵ１００１は、プログラムによって提供されるＵＩ（ユーザインターフェース）をディスプレイ１０５に表示し、入力デバイス１０１０を介して受け付けるユーザ指示などの入力を受信する。
【００１６】
＜画像処理装置１０４の機能構成＞
図２（ｂ）は、画像処理装置１０４の機能構成を示すブロック図である。ＯＳ２０１は、オペレーティングシステムであり、入出力の制御、および、アプリケーションの起動や切り替え等を行う命令群である。また、デバイスドライバ２０２は、ＯＳ２０１に含まれるデバイスドライバであり、画像処理装置１０４に接続された撮像装置１０３、画像形成装置１０８、ディスプレイ１０５、マウス１０６、キーボード１０７等の機器を制御する命令群である。各種アプリケーションは、ＯＳ２０１に所定の命令を送ることにより、これらの機器を制御することが可能である。
【００１７】
撮像アプリケーション２０３は、撮像装置１０３を用いた撮像を行い、撮像によって得られた画像データをＨＤＤ１０１３に保存する一連の操作を実現するための命令群である。具体的には、マウス１０６やキーボード１０７を介して入力されるユーザの指示に基づいて、撮像装置１０３のＩＳＯ感度、シャッター速度、絞り値等を変更する命令や、撮像実行命令、画像データの転送命令などをＯＳ２０１に送る。そして、その結果をディスプレイ１０５に表示する。
【００１８】
形状取得アプリケーション２０４は、マーカー１０２を作成するための命令群、及び、物体１０１の表面に貼り付けられたマーカー１０２を撮像することによって得られた撮像画像を処理し、物体１０１の形状を取得するための命令群である。形状取得アプリケーション２０４は、マーカー管理部２０５、マーカー作成部２０６、画像処理部２０７を有する。マーカー管理部２０５は、マーカー１０２の識別情報を管理するための命令群である。マーカー作成部２０６は、マーカー１０２を作成するための命令群である。画像処理部２０７は、物体１０１の表面に貼り付けられたマーカー１０２を撮像することによって得られた撮像画像を処理し、物体１０１の形状を取得するための命令群である。
【００１９】
マーカー作成部２０６は、レイアウト決定部２０８、メタデータ生成部２０９、形成制御部２１０を有する。レイアウト決定部２０８は、マーカー１０２における印領域４０２の配置などのレイアウトを決定する。メタデータ生成部２０９は、レイアウト決定部２０８が決定したレイアウトに基づいて、物体１０１の形状を算出するために用いるメタデータを生成する。形成制御部２１０は、画像形成装置１０８を制御して、レイアウト決定部２０８が決定したレイアウトのマーカー１０２を基材上に形成する。
【００２０】
画像処理部２０７は、撮像画像データ取得部２１１、抽出部２１２、メタデータ取得部２１３、形状算出部２１４を有する。撮像画像データ取得部２１１は、物体１０１の表面に貼り付けられたマーカー１０２を撮像することによって得られた撮像画像データを取得する。抽出部２１２は、撮像画像においてマーカー１０２のＩＤコード領域４０３を抽出し、マーカー１０２の識別番号を読み取る。また、抽出部２１２は、特徴点として、撮像画像においてマーカー１０２の印領域４０２を抽出する。メタデータ取得部２１３は、識別番号に応じたメタデータを取得する。形状算出部２１４は、撮像画像データとメタデータとに基づいて、物体１０１の形状を算出し、算出した形状を表す形状データを生成する。
【００２１】
＜画像処理システムが実行する処理＞
本実施形態における画像処理システムが実行する処理の流れを、図３のフローチャートを用いて説明する。以下、各ステップ（工程）は符号の前にＳをつけて表す。
【００２２】
Ｓ３０１において、マーカー管理部２０５は、マーカーに関する情報をユーザに入力させるためのＵＩをディスプレイ１０５に表示し、入力された情報に基づいてマーカーを検索する。図５に、Ｓ３０１において表示するＵＩの一例を示す。ＵＩ７０１には、プルダウンボックス７０２及び７０５と、テキストボックス７０３、７０４、７０６と、ボタン７０７と、が配置されている。プルダウンボックス７０２は、使用する用紙（基材）のサイズをユーザに選択させるための領域である。プルダウンボックス７０２がユーザによって選択されると、画像形成装置１０８が印刷に使用できる用紙サイズの選択肢のリストが表示される。例えば、Ａ５、Ｂ５、Ａ４、Ｂ４などの選択肢である。選択肢のうちの１つがユーザによって選択されると、使用する用紙のサイズとしてプルダウンボックス７０２に表示される。テキストボックス７０３及び７０４は、図４に示したマーカー１０２における印領域４０２の横方向の間隔ΔＸと、縦方向の間隔ΔＹと、をそれぞれ決定するためのパラメータをユーザに入力させる領域である。テキストボックス７０３及び７０４がユーザによって選択されると、カーソルが表示され、キーボード１０７を介して入力された数値が表示される。ここで入力されるパラメータは、物体１０１においてマーカーを貼り付ける領域の、曲率が最小となる方向Ｘにおける曲率半径の数値と、方向Ｘに直交する方向Ｙの曲率半径の数値と、である。尚、ここで入力される曲率半径は、入力された曲率半径に基づいて作成されたマーカー１０２で形状取得が可能な最小の曲率半径である。このため、入力される曲率半径よりも大きな曲率半径を有する形状取得の対象に対しても、入力された曲率半径に基づいて作成されたマーカー１０２を使用した形状取得が可能である。
【００２３】
プルダウンボックス７０５は、図４に示したマーカー１０２におけるＩＤコード領域４０３の位置をユーザに選択させるための領域である。プルダウンボックス７０５がユーザによって選択されると、位置の選択肢のリストが表示される。例えば、上、右、左、下などの選択肢である。選択肢のうちの１つがユーザによって選択されると、ＩＤコード領域４０３の位置としてプルダウンボックス７０２に表示される。テキストボックス７０６は、物体１０１のパーツの名称を示したコメントなど、ユーザに自由にテキストを入力させるための領域である。ボタン７０７は、マーカー１０２の検索を開始するためのボタンである。ボタン７０７がユーザによって選択されると、既に登録されているマーカー１０２の中から、プルダウンボックス７０２、テキストボックス７０３及び７０４に入力された条件と近い登録情報を有するマーカーを検索する。具体的には、用紙サイズが同じ、かつ、登録されている曲率半径がテキストボックス７０３及び７０４において入力された曲率半径以下であり、テキストボックス７０３及び７０４において入力された曲率半径に最も近いマーカーを検索する。検索条件に該当するマーカーが登録されていた場合は、処理をＳ３０３に移行する。検索条件に該当するマーカーが登録されていない場合は、処理をＳ３０２に移行する。
【００２４】
Ｓ３０２において、マーカー作成部２０６は、Ｓ３０１において入力された情報に基づいて、マーカーを新規登録する。Ｓ３０２における処理の詳細は後述する。Ｓ３０３において、マーカー作成部２０６は、画像形成装置１０８を用いて、マーカー１０２を基材上に印刷する。具体的には、形成制御部２１０が、印刷対象のマーカーを表す画像データに基づいて、画像形成装置１０８を制御することによって、マーカー１０２を基材上に印刷する。Ｓ３０４において、撮像アプリケーション２０３は、ユーザからの撮像指示に応じて、物体１０１におけるマーカー１０２が貼り付けられた領域を撮像装置１０３を用いて撮像する。撮像によって得られた撮像画像データは、ＨＤＤ１０１３に送られ、保存される。Ｓ３０５において、画像処理部２０７は、Ｓ３０４において保存された撮像画像データが表す撮像画像に対して処理を行い、物体１０１における対象領域の形状を表す形状データを生成する。Ｓ３０５における処理の詳細は後述する。
【００２５】
＜Ｓ３０２における処理＞
以下において、マーカー１０２を新規登録する処理（Ｓ３０２）の詳細を図６を用いて説明する。図６は、マーカー１０２を新規登録する処理の流れを示すフローチャートである。
【００２６】
Ｓ８０１において、レイアウト決定部２０８は、マーカー１０２において印領域４０２を配置することが可能な範囲を算出する。具体的には、プルダウンボックス７０２において入力された用紙サイズから、所定のＩＤコード領域４０３の印刷サイズとマージンの長さとを引いたサイズが印領域４０２を配置可能な範囲として算出される。例えば、プルダウンボックス７０５において左が入力されており、用紙サイズとしてＡ４が入力されている場合、印領域４０２を配置可能な範囲の横の長さは、（Ａ４の横の長さ−（ＩＤコード領域４０３の横の長さ＋２×マージンの長さ））となる。また、印領域４０２を配置可能な範囲の縦の長さは、（Ａ４の横の長さ−２×マージンの長さ）となる。ここで、マージンの長さはフレーム領域４０１の端から印領域４０２又はＩＤコード領域４０３までの距離であり、予め設定された値とする。
【００２７】
Ｓ８０２において、レイアウト決定部２０８は、印領域４０２の間隔ΔＸ、ΔＹを算出する。マーカー１０２を曲面に貼りつけた場合の印領域４０２間の円弧の距離と、直線距離と、の差が所定の閾値Ｔｈより小さくなるようにΔＸ、ΔＹを決定する。具体的には、式（１）を満たすようにΔＸを決定する。
【００２８】
【数１】
2019185729.tif 000003
【００２９】
ここで、ＲＸはテキストボックス７０３において入力されたＸ方向の曲率半径である。ΔＹについても同様に算出する。このように印領域４０２の間隔を設定すると、曲面の曲率半径が小さいほど、印領域４０２の間隔は狭くなる。また、ΔＸ及びΔＹの上限値は、（印領域４０２を配置可能な範囲−２×印領域４０２の半径）とする。ΔＸ、ΔＹが上限値以上の値となる場合は、上限値がΔＸ、ΔＹとして設定される。
【００３０】
Ｓ８０３において、レイアウト決定部２０８は、印領域４０２のＸ方向、Ｙ方向それぞれにおける数ＮＸ、ＮＹを算出する。ＮＸは、（印領域４０２を配置可能な範囲の横の長さ−２×印領域４０２の半径）／ΔＸを算出し、小数点を切り捨て、１を加えることによって算出する。同様に、ＮＹは、（印領域４０２を配置可能な範囲の縦の長さ−２×印領域４０２の半径）／ΔＹを算出し、小数点を切り捨て、１を加えることによって算出する。
【００３１】
Ｓ８０４において、レイアウト決定部２０８は、Ｓ８０３において算出したΔＸ及びΔＹに基づいて、マーカー１０２が作成可能か否かを判定する。具体的には、ΔＸ又はΔＹが（２×印領域４０２の半径＋マージンの長さ）より小さいか否かを判定する。ΔＸ又はΔＹが（２×印領域４０２の半径＋マージンの長さ）より小さい場合は、マーカー１０２を作成不可能と判定し、処理をＳ８０５に移行する。ΔＸ又はΔＹが（２×印領域４０２の半径＋マージンの長さ）以上である場合は、マーカー１０２を作成可能と判定し、処理をＳ８０６に移行する。Ｓ８０５において、レイアウト決定部２０８は、マーカー１０２を作成できないことをユーザに通知するために、エラー通知ウインドウをディスプレイ１０５に表示する。
【００３２】
Ｓ８０６において、レイアウト決定部２０８は、マーカー１０２を印刷するためのマーカー画像データを生成する。具体的には、まず、プルダウンボックス７０２において入力された用紙サイズで、６００ｄｐｉの解像度の画像を表すビットマップデータを生成する。生成されるビットマップデータが表す画像の各画素には１ビットで表現された画素値が記録されており、全画素の画素値は黒を示す０で初期化される。次に、プルダウンボックス７０５において指定された位置にＩＤコード領域４０３を、ビットマップデータが表す画像に描画する。ここでは、ＩＤ番号の中から空き番号を選択し、選択した番号をコード化したコード画像を生成し、コード画像をＩＤコード領域４０３として描画する。次に、所定の半径を有する円形の印を、印領域４０２として、ビットマップデータが表す画像に描画する。円形の印は、ビットマップデータが表す画像においてＳ８０１において算出された領域にΔＸ、ΔＹの間隔でＮＸ×ＮＹ個描画される。ＩＤコード領域４０３と印領域４０２とが描画された画像データは、ＴＩＦＦ（Ｔａｇｇｅｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）などの汎用フォーマットの画像データとして、ＨＤＤ１０１３に保存される。
【００３３】
Ｓ８０７において、メタデータ生成部２０９は、Ｓ８０６において生成したマーカー画像データについての情報を有するメタデータを生成する。図７は、メタデータの例を示す図である。図７（ａ）は、メタデータに記録される内容を示す図である。領域９０１は、印領域４０２の中心点の紙面上における３次元座標値（Ｘ，Ｙ，Ｚ）が記録される領域であり、ＮＸ×ＮＹ行記録される。この座標値には、左上の印領域４０２の中心点を原点とした場合の、原点との相対的な位置が記録される。領域９０２は、Ｓ８０６において生成されたマーカー画像における各印領域４０２の中心点の２次元座標値（ｕ，ｖ）が記録される領域である。２次元座標値（ｕ，ｖ）は、左上の印領域４０２の中心点を原点とした場合の、マーカー画像の画素単位の２次元座標値がＮＸ×ＮＹ行記録される。領域９０３は、ポリゴン情報が記録される領域である。本実施形態におけるポリゴンは、図７（ｂ）に示すように、４つの印領域４０２の中心点を頂点として有する矩形であり、ポリゴン情報は、矩形を構成する各頂点の情報である。具体的に、ポリゴン情報は、各行に、反時計回りに矩形の外周を回る順で４頂点分の、領域９０１の行の番号及び領域９０２の行番号が記録された情報である。また、Ｓ８０７において、メタデータ生成部２０９は、生成したメタデータにプルダウンボックス７０２及び７０５と、テキストボックス７０３、７０４、７０６と、において入力された情報を付加して、ＨＤＤ１０１３に保存する。
【００３４】
Ｓ８０８において、レイアウト決定部２０８は、マーカーの新規登録が終わったことをユーザに通知するための正常終了通知ウインドウをディスプレイ１０５に表示する。
【００３５】
＜Ｓ３０５における処理＞
以下において、物体１０１の形状を算出する処理（Ｓ３０５）の詳細を図８を用いて説明する。図８は、物体１０１の形状を算出する処理の流れを示すフローチャートである。
【００３６】
Ｓ２００１において、撮像画像データ取得部２１１は、Ｓ３０４における撮像によって得られた撮像画像データを取得する。具体的には、ファイルダイヤログ等をディスプレイ１０５に表示させ、入力デバイス１０１０を介したユーザの指示に応じて撮像画像データをＨＤＤ１０１３からＲＡＭ１００３等の主記憶装置に読み込む。
【００３７】
Ｓ２００２において、抽出部２１２は、撮像画像においてＩＤコード領域４０３に対応する領域を抽出し、抽出した領域のパターンからマーカー１０２の識別番号を読み取る。具体的には、抽出部２１２は、撮像画像の画素値を２値化する。この２値化処理は、所定の閾値以上の画素値を有する画素を白、所定の閾値未満の画素値を有する画素を黒とする２値化処理である。２値化処理後の撮像画像において公知のキャニー法を用いてエッジ位置を抽出し、８つの近傍画素にエッジ位置がある画素を同一の輪郭とみなしてグループ化する輪郭抽出を行う。抽出した複数の輪郭グループの中から四角形の輪郭を選択し、ＩＤコード領域４０３が実際の形状と同じになるように輪郭を変形する。変形された輪郭の内部のパターンを、８×８画素のブロックに分割し、各ブロックの濃淡に基づいて識別番号を読み取る。
【００３８】
Ｓ２００３において、メタデータ取得部２１３は、識別番号に対応するマーカー１０２のメタデータをＨＤＤ１０１３からＲＡＭ１００３等の主記憶装置に読み込む。
【００３９】
Ｓ２００４において、抽出部２１２は、撮像画像データに基づいて、印領域４０２の中心座標を算出する。ここでは、Ｓ２００２と同様に輪郭抽出までの処理を行い、輪郭グループの中から円または楕円となる輪郭の候補を挙げる。輪郭の候補として挙げられた円または楕円の輪郭により囲まれる面積を算出し、算出した各輪郭の面積と予め設定された印領域４０２の面積との差に応じて候補の順位づけを行う。順位１〜１８の印領域４０２の複数の輪郭を抽出し、各輪郭の中心座標値を算出する。また、各輪郭の中心座標値の相対的な位置関係が、領域９０２に記録されている座標値の相対的な位置関係と一致するように各輪郭の中心座標値をソートする。これにより、メタデータの領域９０３において定義される矩形と、その矩形に対応する、撮像画像における印領域４０２の中心座標と、の対応関係を容易に得ることができる。
【００４０】
Ｓ２００５において、形状算出部２１４は、抽出部２１２が算出した中心座標と、メタデータと、に基づいて、物体１０１の形状を算出する。Ｓ２００５における処理の詳細を図９に示すフローチャートを用いて説明する。
【００４１】
Ｓ１１０１において、形状算出部２１４は、メタデータから矩形の頂点の３次元座標値（Ｘ，Ｙ，Ｚ）を読み込む。具体的には、メタデータにおいて、領域９０３に示したポリゴン情報から一行を読み取り、ポリゴン情報が示す矩形の各頂点に対応する座標値を領域９０１から読み取る。
【００４２】
Ｓ１１０２において、形状算出部２１４は、Ｓ２００４において算出した印領域４０２の中心座標から、Ｓ１１０１において座標値を読み取った各頂点に対応する座標値を読み取る。印領域４０２の中心座標の順は、Ｓ２００４において、領域９０２に記録されている座標値の順と一致するようにソートされている。そのため、Ｓ１１０２においては、Ｓ１１０１と同様に領域９０３に記録されている頂点の番号に対応する中心座標を抽出すればよい。
【００４３】
Ｓ１１０３において、形状算出部２１４は、式（２）において示す係数ｒ１１〜ｒ３３からなる回転行列Ｒと、係数ｔ１〜ｔ３からなる並進ベクトルｔと、を推定する。この処理により、矩形の平面に対する撮像装置１０３の位置及び姿勢を算出することができる。
【００４４】
【数２】
2019185729.tif 000004
【００４５】
ここで、ｆｘ、ｆｙは、撮像装置１０３の位置を原点とする３次元空間における、ｘ方向及びｙ方向の撮像装置１０３の焦点距離である。ｃｘ、ｃｚは、ｘ方向及びｚ方向の撮像装置１０３の主点位置である。ｆｘ、ｆｙ、ｃｘ、ｃｚは、予め決められた値としてＨＤＤ１０１３において保持されている。また、式（２）における座標（ｕ，ｖ）は、Ｓ１１０２において読み取った撮像画像における印領域４０２の中心座標である。式（２）における座標（Ｘ，Ｙ，Ｚ）は、座標（ｕ，ｖ）に対応する、Ｓ１１０１において読み取ったメタデータに記録されている３次元座標値である。ｓはスケーリングファクタであり、式（２）の右辺の計算によって得られる３次元ベクトルの３行目の要素が１となるように、その逆数をとった値である。Ｓ１１０３において、形状算出部２１４は、矩形の４つの頂点における座標（ｕ，ｖ）と座標（Ｘ，Ｙ，Ｚ）との対応に基づいて、回転行列と並進ベクトルとを推定する。この推定方法は、３点以上の座標（ｕ，ｖ）と、座標（ｕ，ｖ）に対応する座標（Ｘ，Ｙ，Ｚ）と、を用いて回転行列及び並進ベクトルを推定する方法である。
【００４６】
Ｓ１１０４において、形状算出部２１４は、撮像装置１０３の位置を原点とする矩形の各頂点の３次元座標（ｘ，ｙ，ｚ）と、各頂点を含む平面に対する法線ベクトルと、を算出する。まず、式（３）において、各頂点の３次元座標（ｘ，ｙ，ｚ）を算出する。
【００４７】
【数３】
2019185729.tif 000005
【００４８】
ここで、ＲはＳ１１０３において算出した回転行列であり、ｔはＳ１１０３において算出した並進ベクトルである。座標（Ｘ，Ｙ，Ｚ）は、Ｓ１１０１において読み取ったメタデータにおける各頂点の３次元座標値である。次に、形状算出部２１４は、矩形における１つの頂点の座標（ｘ，ｙ，ｚ）を原点として他の２つの頂点の座標（ｘ，ｙ，ｚ）のベクトルを算出する。算出した２つのベクトルの外積ベクトルが示す方向の単位ベクトルを、矩形の表面に対する法線ベクトルとして算出する。尚、各頂点の座標（Ｘ，Ｙ，Ｚ）のＺ値が同じ場合は、回転行列Ｒの３列目のｒ１３、ｒ２３、ｒ３３を成分とする単位ベクトルを法線ベクトルとしてもよい。
【００４９】
形状算出部２１４は、上述したＳ１１０１〜Ｓ１１０４の処理を全ての矩形領域に対して行い、撮像装置１０３の位置を原点とする各矩形の頂点の３次元座標（ｘ，ｙ，ｚ）を取得する。得られた座標は、物体１０１が曲面であっても、各矩形が平面とみなせる間隔で配置されている場合であれば、物体１０１の３次元座標値であるとみなすことができる。
【００５０】
Ｓ１１０５において、形状算出部２１４は、印領域４０２の中心の３次元座標（ｘ，ｙ，ｚ）を決定する。Ｓ１１０１〜Ｓ１１０４の処理において算出した各矩形の頂点は、図９（ｂ）に示したように重複している。そこで、Ｓ１１０５において、形状算出部２１４は、重複した頂点の座標（ｘ，ｙ，ｚ）を再計算する。具体的には、まず、各矩形において、隣接する矩形と重複する頂点を含み、矩形の法線ベクトルを法線とする平面を算出する。次に、重複していない頂点の座標と原点とを通る直線を算出し、直線と平面との交点を新たな重複しない頂点の座標とする。このように座標値を再計算することによって、各矩形の法線ベクトルを維持することが可能となる。尚、重複する頂点の座標（ｘ，ｙ，ｚ）の平均値を、対応する印領域４０２の中心の３次元座標値としてもよい。
【００５１】
Ｓ１１０６において、形状算出部２１４は、矩形ごとに算出した法線ベクトルに基づいて、各印領域４０２の中心の法線ベクトルを算出する。具体的には、各印領域４０２の中心を頂点とする全矩形の法線ベクトルの平均値を各印領域４０２の中心の法線ベクトルとして算出する。
【００５２】
図８のフローチャートの説明に戻る。Ｓ２００６において、形状算出部２１４は、Ｓ２００５において算出した各印領域４０２の中心の３次元座標値と法線ベクトル情報とを所定のファイル形式で形状データとしてＨＤＤ１０１３に保存する。図１０は、形状データの例を示す図である。領域１２０１は、各印領域４０２の中心の３次元座標値が記録される領域であり、図７の領域９０１に記録された各印領域４０２の順番と同じ順で、Ｓ２００５において算出された座標（ｘ，ｙ，ｚ）が記録される。領域１２０２は、マーカー画像における各印領域４０２の中心の座標値が記録される領域である。領域１２０３は、各印領域４０２の中心の法線ベクトルが記録される領域であり、領域１２０１と同じ順番で各行に印領域４０２の中心の法線ベクトルが記録される。領域１２０４は、ポリゴン情報が記録される領域である。このポリゴン情報は、領域９０３に示した情報と同じ情報ではあるが、領域１２０３の法線ベクトルとの対応を示すために、ポリゴンの各頂点情報として、領域１２０１の行の番号、領域１２０２の行番号、領域１２０３の行番号が記録される。
【００５３】
＜第１実施形態の効果＞
以上説明したように、本実施形態における画像処理装置は、マーカーにおける、物体の表面の形状を示す特徴を有する複数の印の間隔を、物体の表面の曲率又は曲率半径に基づいて決定する。決定された印の間隔に基づいて、画像データを生成する。よって、物体の形状を取得するために適した間隔で、特徴を撮像画像から抽出することができる。この抽出された特徴を用いることによって、物体の形状を高精度に取得することができる。また、物体の表面の曲率に応じてマーカーに印を複数配置するため、必要以上に印を配置する必要がなく、データ量を削減することができる。また、物体の形状の算出においては、三角測量の原理の観点から、マーカーにおける印の間隔が広い方が精度が良い。本実施形態によれば、物体の表面の曲率に応じて印の間隔が決まるため、必要以上に細かい間隔で印を配置する必要がなく、より高精度に物体の形状を算出することができる。
【００５４】
［第２実施形態］
本実施形態においては、マーカーの管理をユーザが容易に行うための処理を説明する。尚、本実施形態における画像処理システムの構成は第１実施形態のものと同様であるため、説明を省略する。以下において、本実施形態と第１実施形態とで異なる部分を主に説明する。
【００５５】
＜画像処理システムが実行する処理＞
本実施形態における画像処理装置１０４が実行する処理の流れを、図１５のフローチャートを用いて説明する。
【００５６】
Ｓ１６０１において、マーカー管理部２０５は、図１６（ａ）に示すメインＵＩ１７０１をディスプレイ１０５に表示する。ここで、ボタン１７０２は新規のマーカーを登録する処理を実行するためのボタン、ボタン１７０３はマーカー１０２を印刷する処理を実行するためのボタンである。また、ボタン１７０４は撮像を行うためのボタン、ボタン１７０５は物体１０１の形状を算出する処理を実行するためのボタン、ボタン１７０６は処理を終了するためのボタンである。
【００５７】
Ｓ１６０２において、マーカー管理部２０５は、ユーザによる選択結果に応じて処理を次のステップに移行する。ユーザによってボタン１７０２が選択された場合、処理をＳ１６０３に移行する。ユーザによってボタン１７０３が選択された場合、処理をＳ１６０５に移行する。ユーザによってボタン１７０４が選択された場合、処理をＳ３０４に移行する。ユーザによってボタン１７０５が選択された場合、処理をＳ３０５に移行する。ユーザによってボタン１７０６が選択された場合、処理を終了する。尚、Ｓ３０２〜Ｓ３０５の処理内容は第１実施形態において説明した処理と同じであるため、説明を省略する。尚、Ｓ３０４又はＳ３０５の処理が終わると、処理はＳ１６０１に戻り、メインＵＩ１７０１がディスプレイ１０５に表示される。
【００５８】
Ｓ１６０３において、マーカー作成部２０６は、図１６（ｂ）に示す登録用ＵＩ１８０１をディスプレイ１０５に表示する。登録用ＵＩ１８０１には、プルダウンボックス７０２及び７０５と、テキストボックス７０３、７０４、７０６と、ボタン１８０２及び１８０３と、が配置されている。尚、プルダウンボックス７０２及び７０５と、テキストボックス７０３、７０４、７０６と、は第１実施形態において説明した機能と同じ機能を有するため、説明を省略する。Ｓ１６０４において、マーカー作成部２０６は、ユーザによる選択結果に応じて処理を次のステップに移行する。プルダウンボックス７０２及び７０５と、テキストボックス７０３、７０４、７０６と、に情報が入力され、ボタン１８０２が選択された場合、処理をＳ３０２に移行する。Ｓ３０２の処理が終わると、処理をＳ１６０１に戻し、メインＵＩ１７０１をディスプレイ１０５に表示する。ボタン１８０３が選択された場合、Ｓ３０３の処理を行わずに、処理をＳ１６０１に戻し、メインＵＩ１７０１をディスプレイ１０５に表示する。
【００５９】
Ｓ１６０５において、マーカー管理部２０５は、図１７（ａ）に示す印刷用ＵＩ１９０１をディスプレイ１０５に表示する。印刷用ＵＩ１９０１には、登録されているマーカー１０２の一覧を表示するリスト表示部１９０２、各種の処理を実行するためのボタン１９０３、１９０４、１９０５が配置されている。リスト表示部１９０２には、登録されているマーカー１０２ごとに、識別番号（ＩＤ）や、物体１０１のパーツの名称などを示したコメント、登録時に設定した曲率半径や出力サイズなどの情報が表示される。また、リスト表示部１９０２には、選択状態を表示する選択欄が設けられている。マーカー管理部２０５は、ユーザによって選択された行の選択欄にチェック印を表示する。
【００６０】
Ｓ１６０６において、マーカー管理部２０５は、ユーザによる選択結果に応じて処理を次のステップに移行する。ユーザによってボタン１９０３が選択された場合、処理をＳ３０３に移行する。チェック印が表示されたマーカー１０２を印刷する処理をＳ３０３において行った後、処理をＳ１６０５に戻し、印刷用ＵＩ１９０１をディスプレイ１０５に表示する。ユーザによってボタン１９０４が選択された場合、処理をＳ１６０７に移行する。ユーザによってボタン１９０５が選択された場合、処理をＳ１６０１に戻し、メインＵＩ１７０１をディスプレイ１０５に表示する。
【００６１】
Ｓ１６０７において、マーカー管理部２０５は、図１７（ｂ）に示す登録用ＵＩ２１０１をディスプレイ１０５に表示する。登録用ＵＩ２１０１には、プルダウンボックス７０２及び７０５と、テキストボックス７０３及び７０４と、ボタン２１０２と、が配置されている。プルダウンボックス７０２及び７０５と、テキストボックス７０３及び７０４と、に情報が入力され、ボタン２１０２が選択されると、処理をＳ１６０８に移行する。
【００６２】
Ｓ１６０８において、マーカー管理部２０５は、プルダウンボックス７０２及び７０５と、テキストボックス７０３及び７０４と、に入力された情報が示す条件と近い登録情報を有するマーカー１０２を検索する。さらに、マーカー管理部２０５は、検索した識別番号やその他の登録情報を表示するためのダイヤログをディスプレイ１０５に表示し、処理をＳ１６０５に戻す。このようにすることによって、ユーザは、ダイヤログで表示された登録情報に基づいて、リスト表示部１９０２の行を選択し、所望のマーカー１０２を印刷することが可能となる。
【００６３】
＜第２実施形態の効果＞
以上説明したように、本実施形態における画像処理装置は、印刷するマーカー１０２を登録情報から選択するためのＵＩを表示した。これにより、マーカー１０２の登録情報を容易に管理することができ、必要な分だけマーカーを登録させておくことができるため、ＨＤＤ１０１３に保持させておくデータ量を削減できる。また、登録情報の一覧を表示することにより、対象となる物体１０１のパーツの種別をユーザが確認することができるため、マーカー１０２を誤用する可能性を低減させることができる。
【００６４】
［第３実施形態］
第１実施形態においては、入力された曲率半径に基づいてマーカー１０２における印領域４０２の配置を決定したが、本実施形態においては、印領域４０２の配置を予め決められた複数の選択肢から選択する。尚、本実施形態における画像処理システムの構成は第１実施形態のものと同様であるため、説明を省略する。以下において、本実施形態と第１実施形態とで異なる部分を主に説明する。
【００６５】
＜マーカー１０２＞
図１８は、本実施形態におけるマーカー１０２のレイアウトの一例を示す図である。マーカー１０２は、四角形の印領域２２０１、三角形の印領域２２０２、円形の印領域２２０３を有する。図１８に示すように、印領域は、横方向にΔＸＦ、縦方向にΔＹＦの間隔で配置されている。また、四角形の印領域２２０１又は三角形の印領域２２０２は、横方向に２ΔＸＦ、縦方向に２ΔＹＦの間隔で配置されている。また、四角形の印領域２２０１は、横方向に４ΔＸＦ、縦方向に４ΔＹＦの間隔で配置されている。本実施形態においては、入力された各方向の曲率半径に基づいて、マーカー１０２における印領域を、四角形の印領域２２０１のみにするか、四角形の印領域２２０１と三角形の印領域２２０２とにするか、３種類全ての形の印領域とするかが決定される。図１８は、マーカー１０２における印領域を３種類全ての形の印領域とした場合のマーカー１０２のレイアウトである。
【００６６】
＜Ｓ３０２における処理＞
図１９は、マーカー１０２を新規登録する処理（Ｓ３０２）の流れを示すフローチャートである。まず、Ｓ８０２において、レイアウト決定部２０８は、第１実施形態と同様に、印領域の間隔ΔＸ、ΔＹを算出する。次に、Ｓ２４０１において、レイアウト決定部２０８は、予め決められた複数のレイアウトから、１つのレイアウトを選択する。具体的には、四角形の印領域２２０１のみを印領域とするか、四角形の印領域２２０１と三角形の印領域２２０２とを印領域とするか、３種類全ての形の印領域を印領域とするかを決定する。
【００６７】
図２０は、Ｓ２４０１において決定されるマーカー１０２のレイアウトを示す図である。Ｓ２４０１において、レイアウト決定部２０８は、図２０（ａ）〜（ｉ）のレイアウトからどのレイアウトを採用するかを決定する。具体的には、ΔＸＦ≦ΔＸ＜２ΔＸＦ、かつ、ΔＹＦ≦ΔＹ＜２ΔＹＦとなる場合は、印領域を３種類全ての形の印領域とした、図２０（ａ）のレイアウトを採用する。２ΔＸＦ≦ΔＸ＜４ΔＸＦ、かつ、２ΔＹＦ≦ΔＹ＜４ΔＹＦとなる場合は、印領域を四角形の印領域２２０１及び三角形の印領域２２０２とした、図２０（ｅ）のレイアウトを採用する。４ΔＸＦ≦ΔＸ、かつ、４ΔＹＦ≦ΔＹとなる場合は、印領域を四角形の印領域２２０１のみとした、図２０（ｉ）のレイアウトを採用する。また、ΔＸＦ≦ΔＸ＜２ΔＸＦ、かつ、２ΔＹＦ≦ΔＹ＜４ΔＹＦとなる場合は、印領域を四角形の印領域２２０１および三角形の印領域２２０２を含む行のみとした、図２０（ｄ）のレイアウトを採用する。同様に、２ΔＸＦ≦ΔＸ＜４ΔＸＦ、かつ、ΔＹＦ≦ΔＹ＜２ΔＹＦとなる場合は、図２０（ｂ）のレイアウトを採用し、４ΔＸＦ≦ΔＸ、かつ、ΔＹＦ≦ΔＹ＜２ΔＹＦとなる場合は、図２０（ｃ）のレイアウトを採用する。４ΔＸＦ≦ΔＸ、かつ、２ΔＹＦ≦ΔＹ＜４ΔＹＦとなる場合は、図２０（ｆ）のレイアウトを採用する。ΔＸＦ≦ΔＸ＜２ΔＸＦ、かつ、４ΔＹＦ≦ΔＹとなる場合は、図２０（ｇ）のレイアウトを採用し、２ΔＸＦ≦ΔＸ＜４ΔＸＦ、かつ、４ΔＹＦ≦ΔＹとなる場合は、図２０（ｈ）のレイアウトを採用する。
【００６８】
次に、Ｓ２４０２において、レイアウト決定部２０８は、Ｓ２４０１において決定したレイアウトに基づいて、マーカー画像データを生成し、第１実施形態のＳ８０６と同様に、ＨＤＤ１０１３に保存する。Ｓ２４０３において、メタデータ生成部２０９は、メタデータを生成する。この処理は、図２０（ａ）〜（ｉ）の９種類に対応するメタデータを予め生成しておき、Ｓ２４０１において決定したレイアウトに対応するメタデータを選択する。選択したメタデータの複製をＨＤＤ１０１３に保存する。Ｓ８０８において、レイアウト決定部２０８は、マーカーの新規登録が終わったことをユーザに通知し、処理を終了する。
【００６９】
＜Ｓ３０５における処理＞
本実施形態のＳ３０５における、物体１０１の形状の算出は、第１実施形態において説明した処理と同様の処理により行うことができる。しかしながら、印領域４０２の中心座標を算出する処理（Ｓ２００４）は、印領域４０２の形状が異なるため変更が必要である。具体的には、公知のテンプレートマッチング法等を用いて印領域２２０１〜２２０３に対応する円形、三角形、四角形のパターンを抽出し、それらの重心座標を中心座標とみなして処理を行う。
【００７０】
＜第３実施形態の効果＞
以上説明したように、本実施形態における画像処理装置は、マーカー１０２のレイアウトを予め決められたものから選択した。これにより、マーカー１０２のレイアウトが限定されるため、登録や選択等の管理が容易となる。また、例えば、物体１０１の形状ごとにマーカー１０２のレイアウトを作り直す必要がないため、１度作成したマーカー１０２を再利用することが可能となり、印刷のコストを削減できる。
【００７１】
＜第３実施形態の変形例＞
尚、本実施形態では、印領域の例として、四角形、三角形、円形を示したが、複数種類の印領域として区別できれば、印領域の形はこれらに限られない。また、色の違う同一形状のパターンや、ＱＲコード（登録商標）等の２次元コードパターンを印領域として使用してもよい。
【００７２】
［その他の実施形態］
上述した実施形態におけるマーカー１０２は、図４などに示したレイアウトであったが、マーカーのレイアウトは上記の例に限定されない。図１１は、マーカー１０２の例を示す図である。図１１に示すように、マーカー１０２は、印領域４０２の座標を撮像画像から抽出することができれば、ＩＤコード領域４０３を有していなくてもよい。また、印領域４０２の色を反転させたものであってもよい。さらに、印領域４０２の配置は、必ずしも図４に示したレイアウトに限らない。印領域４０２は、３つ以上存在し、メタデータにおける領域９０１に示した３次元座標値が既知であればどのような配置であってもよい。例えば、図１１に示したように、行ごとに互い違いとなるように印領域４０２を配置することによって、印領域４０２の密度が場所によらず均一になるようにしてもよい。この場合、領域９０３に示したポリゴン情報は、３つの印領域４０２を頂点とする三角形の情報としても良い。
【００７３】
また、上述した実施形態においては、物体１０１における対象領域の最小曲率半径を方向ごとに取得し、取得した最小曲率半径に基づいて印領域４０２の配置を決定したが、印領域４０２の配置を決定方法は上記一例に限られない。例えば、物体１０１の製図情報等を用いて印領域４０２の配置を決定してもよい。図１２は、印領域４０２の配置を決定する方法を説明するための図である。ここで、図１２に示す曲線１４０１及び曲線１４０２は、Ｘ座標を横軸とし、Ｚ座標（高さ）を縦軸とした場合の物体１０１の高さの変化を表している。この高さの変化は、製図情報等の形状情報から得ることができる。尚、ここではＹ座標方向にＺ座標は変化しないものとして説明する。図１２（ａ）の場合は、曲線１４０１の二次微分が零となるＸ座標値をまず計算し、その位置に印領域４０２を配置する。さらに、二次微分が零となるＸ座標値より左側、右側でそれぞれ最小曲率半径を算出し、Ｓ８０２における処理と同じ処理でそれぞれにおける印領域４０２の間隔を算出する。図１２（ｂ）の場合は、まず、曲線１４０２の曲率ｋを式（４）を用いて算出する。
【００７４】
【数４】
2019185729.tif 000006
【００７５】
ここで、Ｚ（Ｘ）は、ＺをＸの関数とした曲線１４０２を表す。Ｚ′（Ｘ）は、Ｚ（Ｘ）に対する一次微分の結果であり、Ｚ″（Ｘ）は、Ｚ（Ｘ）に対する二次微分の結果である。次に、曲率ｋが最大となる位置に印領域４０２を配置する。ここで最初に配置した印領域を第１印領域と呼ぶ。次に、曲率ｋが最大となる位置の曲率半径を１／ｋとして、第１印領域から第１印領域の隣に配置する印領域４０２までの間隔をＳ８０２における処理によって決定する。第１印領域の隣に配置する印領域４０２を第２印領域と呼ぶ。同様にして、第２印領域から第２印領域の隣に配置する印領域４０２までの間隔を、第２印領域の位置における曲率ｋの大きさに応じて決定する。この処理を繰り返すことによって、全ての印領域４０２の位置を決定することができる。
【００７６】
また、上述した実施形態のＳ３０５において、画像処理部２０７は、マーカー１０２における全ての印領域４０２を物体１０１の形状の算出に用いたが、物体１０１の形状の算出に用いる印領域は、マーカー１０２における印領域４０２の一部であってもよい。例えば、予め細かい間隔の印領域を有するマーカー１０２を用いて、物体１０１の形状の算出に用いる印領域４０２を選択してもよい。具体的には、図２０（ａ）のレイアウトを有するマーカー１０２を印刷し、物体１０１に貼り付けて、マーカー１０２が貼り付けられた物体１０１を撮像する。抽出部２１２は、印領域の中心座標を算出する処理（Ｓ２００４）において、入力された曲率半径に基づいて、物体１０１の形状の算出に用いる印領域の形状を選択する。例えば、入力された曲率半径ΔＸ、ΔＹに対し、４ΔＸＦ≦ΔＸ、かつ、４ΔＹＦ≦ΔＹとなる場合は、図２０（ｉ）のレイアウトのように、四角形の印領域２２０１のみ抽出し、抽出した印領域２２０１の中心座標に基づいて物体１０１の形状を算出する。この方法により、１種類のマーカー１０２のみを用いて、物体１０１のさまざまな形状を高精度に取得することができる。
【００７７】
また、上述した実施形態においては、メタデータに記録された印領域４０２の３次元座標値と、撮像画像において抽出された各印領域４０２の座標値との対応関係に基づいて、物体１０１の対象領域の３次元座標を取得した。これにより、１度の撮像で簡易に形状を取得することが可能となる。しかしながら、物体１０１の対象領域の３次元座標を取得する方法は上記一例に限定されない。例えば、撮像装置１０３としてデジタルカメラ２台を組み合わせたステレオカメラ１５０１を用いてもよい。図１３は、画像処理システムの構成を示す図である。この場合、まず、ステレオカメラ１５０１を構成する各カメラの撮像により得られた撮像画像データに基づいて、各印領域４０２の中心の座標を算出する。各印領域４０２の中心の座標は、Ｓ２００４における処理と同じ方法によって算出する。各撮像画像データに対応する印領域４０２の中心の座標と、カメラ間の相対的な位置関係と、に基づいて、三角測量の原理により、印領域４０２の中心の３次元座標値を算出する。この方法の場合は、メタデータに記録された印領域４０２の３次元座標値は必要なく、メタデータは領域９０１に記録された情報を有していなくてもよい。また、この場合であっても、印領域４０２の間隔は、対象領域の曲面を近似するために十分な間隔より密である必要がある。そのため、曲面の曲率半径が小さい方向に印領域４０２がより密に配置されていることが望ましい。尚、複数の方向から１台のデジタルカメラを用いて物体１０１を撮像し、公知のＳｆＭ（Ｓｔｒｕｃｔｕｒｅ  ｆｒｏｍ  Ｍｏｔｉｏｎ）のアルゴリズムを用いて３次元座標値を算出してもよい。
【００７８】
また、上述した実施形態における印領域４０２の形状は円形であったが、印領域４０２の形状は円形に限られない。例えば、印領域４０２の形状は三角形であってもよい。また、ＩＤコード領域４０３を有さないマーカーを用いる場合や、ＩＤコード領域４０３と大きさによって区別することができる場合には、印領域４０２の形状は四角形であってもよい。
【００７９】
また、上述した実施形態におけるマーカー１０２は、物体１０１に貼り付けられたが、物体１０１の形状に応じた撮像ができるように配置されていれば、貼り付けられていなくてもよい。
【００８０】
また、上述した実施形態におけるポリゴン情報に対応するポリゴンは矩形であったが、ポリゴンは矩形に限られない。例えば、ポリゴンは、矩形を対角線で半分にした三角形であってもよい。
【００８１】
また、上述した実施形態においては、物体の対象領域の曲率半径を用いて印領域４０２の間隔を決定したが、曲率半径ではなく曲率を用いて印領域４０２の間隔を決定してもよい。
【００８２】
また、上述した実施形態においては、Ｓ２００２において、抽出部２１２は、キャニー法を用いてエッジの抽出を行ったが、エッジの抽出方法は上記一例に限定されない。例えば、ソーベルフィルタを用いてエッジの抽出を行ってもよい。
【００８３】
また、上述した実施形態における画像処理システムは、撮像装置１０３と、画像処理装置１０４と、画像形成装置１０８と、から構成されていたが、画像処理システムの構成は上記一例に限定されない。例えば、画像処理システムは、画像処理装置１０４と、画像形成装置１０８と、の２つから構成されていてもよい。この場合の画像処理装置１０４は、図１４（ａ）のフローチャートが示すように、上述したＳ３０１〜Ｓ３０３の処理を行う。また、画像処理システムは、撮像装置１０３と、画像処理装置１０４と、の２つから構成されていてもよい。この場合の画像処理装置１０４は、図１４（ｂ）のフローチャートが示すように、上述したＳ３０４及びＳ３０５の処理を行う。
【００８４】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８５】
１０４  画像処理装置
２０８  レイアウト決定部
【図１】
2019185729.tif 000007
【図２】
2019185729.tif 000008
【図３】
2019185729.tif 000009
【図４】
2019185729.tif 000010
【図５】
2019185729.tif 000011
【図６】
2019185729.tif 000012
【図７】
2019185729.tif 000013
【図８】
2019185729.tif 000014
【図９】
2019185729.tif 000015
【図１０】
2019185729.tif 000016
【図１１】
2019185729.tif 000017
【図１２】
2019185729.tif 000018
【図１３】
2019185729.tif 000019
【図１４】
2019185729.tif 000020
【図１５】
2019185729.tif 000021
【図１６】
2019185729.tif 000022
【図１７】
2019185729.tif 000023
【図１８】
2019185729.tif 000024
【図１９】
2019185729.tif 000025
【図２０】
2019185729.tif 000026