(57)【特許請求の範囲】
【請求項１】
撮像された画像を二値化する二値化工程と、
前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、
前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、
前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、
前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程と、
を備えることを特徴とするマーカー処理方法。
【請求項２】
前記マーカー判定工程で検出されたマーカーを、前記領域重心の多重度取得工程で求められた領域重心の重なり度、前記マーカーの前記各領域の面積比、あるいは前記マーカーの前記各領域の大きさの比の少なくとも１つを用いて前記マーカーの種別を識別するマーカー種別識別工程と、
をさらに備えることを特徴とする請求項１に記載のマーカー処理方法。
【請求項３】
前記マーカー判定工程は、領域重心の重なり度が３以上の場合にマーカーとして検出することを特徴とする請求項１または請求項２に記載のマーカー処理方法。
【請求項４】
前記マーカーは、
重心を共通にする少なくとも３個以上の図形
を備えることを特徴とする請求項１から請求項３のいずれか１項に記載のマーカー処理方法。
【請求項５】
撮像された画像を二値化する二値化部と、
前記二値化部で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング部と、
前記ラベリング部でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得部と、
前記領域重心取得部で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得部と、
前記領域重心の多重度取得部で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定部と、
を備えることを特徴とするマーカー処理装置。
【請求項６】
コンピュータに、
撮像された画像を二値化する二値化工程と、
前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、
前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、
前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、
前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程と、
を実行させるためのマーカー処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マーカー処理方法、マーカー処理装置、およびマーカー処理プログラムに関する。
【背景技術】
【０００２】
マーカーが付加された物体を撮像した画像からマーカーを検出する方法として、形状の対称性を検出する方法や色の組み合わせを検出する方法が知られている。
形状の対称性を検出する方法として、位置決め用シンボルを持つ二次元コードを検出する方法が提案されている。この位置決め用シンボルは所定の位置に配置され、撮像した画像から検出された位置決め用シンボルにより、二次元コードの位置や回転角度を算出できる（例えば、特許文献１参照）。
【０００３】
色の組み合わせを検出する方法としては、ある色相の領域に全周を囲まれた、それとは異なる色の相領域をマーカーとして検出する方法が提案されている。このマーカーに用いる２つの色相領域は、色の組み合わせごとの識別番号が予め付与されている。このため、撮像された画像から、色相画像を抽出し、抽出された色相画像から、色相の変化パターンを走査により探索する。この色相探索によりマーカーと予想できる領域を検出し、検出された色相の変化パターンが予め定められた組み合わせと一致しているか判定することで、マーカーを検出する（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２５４０３７号公報
【特許文献２】特開２００５−３０９７１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の技術による形状の対称性を検出する方法では、特許文献１の図２のように、明暗の期間の比率が暗：明：暗：明：暗＝１：１：３：１：１に設定されている位置決め用シンボルを走査により検出するため、走査間隔によっては回転および傾いているシンボルの検出可能範囲が狭くなるという課題があった。また、マーカーを検出する走査線が、いろいろな方向から横切った場合に対応するには、マーカー自体に高い対称性が必要になるため、多数のマーカーを生成する上での制限になるという課題があった。また、明暗の周期が１：１：３：１：１の比率になっていることのみ要求されるため、絶対周期には基本的に制限が無いため、マーカー検出側でマーカーの大きさによる周期変化に対応する必要があるという課題があった。また、マーカーに白黒反転周期を用いているため、入力画像にノイズが混入した場合に周期判定が困難になる。このため、ノイズ対策が必要になるという課題があった。
すなわち、特許文献１の技術では、マーカー検出において、マーカーの姿勢（位置、回転、傾き）に依存し、またマーカーの大きさに依存し、さらにまた画像中のノイズの影響が大きいという課題があった。
【０００６】
また、上述の技術による色の組み合わせを検出する方法では、白黒画像を用いる場合に比較して約３倍のデータ処理を行う必要がある。このため、白黒画像と同等の処理量にするためには、画像の解像度を下げたり、画像を取り込むフレームレートを下げる必要があるという課題があった。また、撮像された画像中の色相情報は、照明条件などの強い影響を受け、また撮像するカメラのホワイトバランスなどの影響も大きいため、これらに対する対策が必要になるという課題があった。また、使用するマーカーを構成する材料中の色素や色材が経年変化するため、この経年変化に対する対応が必要になるという課題があった。
【０００７】
本発明は、上記の問題点に鑑みてなされたものであって、マーカーの姿勢（位置、回転、傾き）に依存せず、またマーカーの大きさに依存せず、さらにまた画像中のノイズに対して耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカー処理方法、マーカー処理装置、およびマーカー処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明は、マーカー処理方法において、撮像された画像を二値化する二値化工程と、前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程と、を備えることを特徴としている。
なお、画像の構成要素とは、撮像された画像に含まれている面積を備える点、線、図形であり、領域重心とは、ラベリングされた図形の重心（図心でも可）であり、領域重心の重なり度とは、一定の範囲内に収まる重心（図心でも可）を有するラベリングの個数である。
【０００９】
また、本発明は、マーカー処理方法において、前記マーカー判定工程で検出されたマーカーを、前記領域重心の多重度取得工程で求められた領域重心の重なり度、前記マーカーの前記各領域の面積比、あるいは前記マーカーの前記各領域の大きさの比の少なくとも１つを用いて前記マーカーの種別を識別するマーカー種別識別工程と、をさらに備えることを特徴としている。
なお、マーカー判定工程とは、撮像された画像の中からどれがマーカーであるかを認識することであり、マーカー種別識別工程とは、撮像された画像の中のマーカーの種類を識別することである。
【００１０】
さらにまた、本発明は、マーカー処理方法において、前記マーカー判定工程は、領域重心の重なり度が３以上の場合にマーカーとして検出することを特徴としている。
【００１１】
さらにまた、本発明は、マーカー処理方法において、前記マーカーは、重心を共通にする少なくとも３個以上の図形を備えることを特徴としている。
【００１２】
さらにまた、本発明は、マーカー処理装置において、撮像された画像を二値化する二値化部と、前記二値化部で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング部と、前記ラベリング部でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得部と、前記領域重心取得部で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得部と、前記領域重心の多重度取得部で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定部と、を備えることを特徴としている。
【００１７】
上記目的を達成するため、本発明は、マーカー処理プログラムにおいて、コンピュータに、撮像された画像を二値化する二値化工程と、前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程とを実行させることを特徴としている。
【００１８】
本発明によれば、撮像された画像からラベリングされた各領域の重心（図心であっても可）を求めて、求めた各ラベルに対応する各領域の重心の重なり度からマーカーを検出するようにしたので、マーカーの姿勢や大きさに依存せず、さらにまた画像中のノイズに対して高い耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカー処理方法、マーカー処理装置、およびマーカー処理プログラムを提供することが可能になる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態に係るマーカーの一例を示す図である。
【図２】同実施形態に係る図１（ｂ）のマーカーの構成要素を説明する図である。
【図３】同実施形態に係る図１（ｂ）のマーカーの構成要素の重心を説明する図である。
【図４】同実施形態に係るマーカー処理装置の構成の一例を示すブロック図である。
【図５】同実施形態に係るマーカーを貼った検出物体を含む画像の一例を示す図である。
【図６】同実施形態に係る処理方法のフローチャートである。
【図７】同実施形態に係る前処理のフローチャートである。
【図８】同実施形態に係る領域重心取得部が求めた各ラベルの重心座標を示すデータの一例を示す図である。
【図９】同実施形態に係る位置出力部１０９が出力するマーカー情報の一例を示す図である。
【図１０】同実施形態に係るマーカー候補領域リスト記憶部１０８に記憶されているマーカー候補リストのデータ構成の一例である。
【図１１】同実施形態に係る入力画像を二値化した画像情報の一例を示す図である。
【図１２】同実施形態に係るラベリング処理を説明する図である。
【図１３】同実施形態に係る同一ラベルを持つ領域の重心を求めた結果の一例を示す図である。
【図１４】同実施形態に係るマーカー検出において姿勢に依存しないことを説明する図である。
【図１５】同実施形態に係るマーカー検出において大きさに依存しないことを説明する図である。
【図１６】同実施形態に係る他のマーカーの一例を示す図である。
【図１７】同実施形態に係る冗長部分を含むマーカーの一例を示す図である。
【図１８】同実施形態に係る手書きによるマーカーの一例を示す図である。
【図１９】本発明の第２の実施形態に係るマーカー処理装置の構成の一例を示すブロック図である。
【図２０】同実施形態に係る処理方法のフローチャートである。
【図２１】同実施形態に係る領域ラベリング部１０４のラベリング処理で得られた情報の一例を示す図である。
【図２２】同実施形態に係るマーカーの多重度の違いによりマーカーを識別する例を説明する図である。
【図２３】同実施形態に係るマーカーの領域面積比、領域の大きさ比でマーカー種別を識別する例を説明する図である。
【図２４】本発明の第３の実施形態に係るマーカーに付加的な情報を埋め込む処理のフローチャートである
【図２５】同実施形態に係る保護領域付加マーカー作成の方法を説明する図である。
【図２６】同実施形態に係るマーカーへの付加データ方法を説明する図である。
【図２７】同実施形態に係るマーカーの付加データを埋め込める領域、および実際に付加データを埋め込んだ一例を示す図である。
【図２８】本発明の第４の実施形態に係るマーカーを備える物体の一例を示す図である。
【図２９】本発明の第５の実施形態に係るマーカーを備える物体の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について、図１〜２９を用いて説明する。なお、本発明は斯かる実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【００２１】
[第１実施形態]
図１は、第１の実施形態におけるマーカーの一例を示す図である。図１において、図（ａ）〜（ｄ）の各マーカーは、後述するように、各マーカーにおける各ラベルの重心位置が一致するように生成されている。また、図１（ａ）〜（ｄ）のマーカーは４個の重心を備えている。
【００２２】
図２は、第１の実施形態における図１（ｂ）のマーカーの構成要素を説明する図である。図１（ｂ）のマーカーは、白黒により分離される構成要素として、構成要素１と、構成要素２と、構成要素３（黒丸）と、構成要素４（白丸）から構成されている。これらの構成要素は、後述するラベリング処理により、各構成要素である領域ごとにラベリングされる。
【００２３】
図３は、第１の実施形態における図１（ｂ）のマーカーの構成要素の重心を説明する図である。図１（ｂ）マーカーは、図３のように各構成要素１−４で図形の重心が、符号ａに示す位置において一致するように重ねられて生成されている。なお、図３において、重心は説明のためにバツ（×）印を用いて表しているが、このマーカーの構成要素にはバツ（×）印はない。すなわち構成要素１−４で図形の重心が共通であるように配置されている。なお、各構成要素１−４で図形の重心座標の関係は、例えばこのマーカーを撮像するカメラの解像度や、マーカーの大きさや、あるいはマーカーをプリントするプリンタの解像度により、予め定められた範囲内の誤差を備えている場合でも、重心が一致していると定義する。なお、重心は図心であっても良い。
【００２４】
図４は、第１の実施形態におけるマーカー処理装置の構成の一例を示すブロック図である。マーカー処理装置１００は、画像データ取り込み部１０１と、二値化部１０２と、二値化閾値設定部１０３と、領域ラベリング部１０４と、領域重心取得部１０５と、領域重心の多重度取得部１０６と、マーカー判定部１０７と、マーカー候補領域リスト記憶部１０８と、マーカー位置出力部１０９から構成されている。また、マーカー処理装置１００は、カメラ１２０が撮像した画像を受ける。またマーカー処理装置１００は、処理により検出されたマーカー情報を画像表示装置１２１に出力する。
【００２５】
カメラ１２０は、例えば受光レンズとＣＣＤカメラ等で構成され、マーカーが貼られた検出物体を含む画像を撮像し、撮像された画像をマーカー処理装置１００に送信する。
【００２６】
画像データ取り込み部１０１は、カメラ１２０により撮像された画像を所定のタイミングで取り込み、二値化部１０２と二値化閾値設定部１０３に出力する。画像の取り込みタイミングは、例えばマーカー判定毎に行っても良く、または一定周期毎に画像を取り込むようにしても良い。
【００２７】
二値化部１０２は、画像データ取り込み部１０１から撮像された画像が入力される。また、二値化部１０２は、受け取った画像を二値化閾値設定部１０３で設定された閾値を用いて二値化し、二値化された画像情報を領域ラベリング部１０４に出力する。
【００２８】
二値化閾値設定部１０３は、画像データ取り込み部１０１から撮像された画像が入力される。また、二値化閾値設定部１０３は、受け取った画像から二値化を行う際の閾値を設定し、設定された閾値を二値化部１０２に出力する。
なお、閾値の設定方法は、例えば１９７９年に大津展之によって提案された方法（以下、大津の方法）を用いる。
【００２９】
領域ラベリング部１０４（ラベリング部）は、二値化部１０２から二値化された画像情報が入力される。
また、領域ラベリング部１０４は、受け取った二値化された画像情報に対して、一般的なラベリング方法で領域のラベリング処理を行い、領域のラベリングされた情報を領域重心取得部１０５に出力する。このラベリング処理により、二値化された画像情報は、画像を構成している図形に分離される。
なおラベリング処理の方法は、４連結処理や８連結処理などがあるが、すでに公知のものであるためその説明は省略する。
また、領域のラベリングされた情報とは、このラベリング処理過程で求まる、ラベリングされた各領域を構成するピクセルの総数および、各領域におけるＸ座標の最大値と最小値、およびＹ座標の最大値と最小値、ラベリング処理により分離された領域に付けられたラベル番号などである。
【００３０】
領域重心取得部１０５は、領域ラベリング部１０４から領域のラベリング処理された情報が入力される。また、領域重心取得部１０５は、受け取った領域のラベリング処理された情報を用いて、領域毎に一般的な方法により重心の座標を求め、求めた重心座標の情報を領域重心の多重度取得部１０６に出力する。
【００３１】
領域重心の多重度取得部１０６は、領域重心取得部１０５から取得された各領域の重心座標の情報が入力される。また、領域重心の多重度取得部１０６は、受け取った各領域の重心座標の情報を用いて、各領域の重心座標の位置を比較する。領域重心の多重度取得部１０６は、比較の結果、互いの重心座標が所定の誤差範囲であれば同じ座標にあると判定し、重心の重なり度である多重度を取得する。重心の重なり度である多重度とは、所定の誤差範囲内に収まっている複数の図形の重心の個数である。例えば、第１の図形の重心と第２の図形の重心が所定の誤差範囲内に収まるっている時の多重度は２である。また、互いの重心座標が重なっているか否かを判定する誤差範囲は、例えば撮像するカメラ１２０の解像度や焦点距離、マーカー生成時の重心位置精度、マーカーをプリントするプリンタの解像度などに基づき決めることができる。
【００３２】
マーカー判定部１０７は、領域重心の多重度取得部１０６から取得された各領域の重心座標の多重度が入力される。また、マーカー判定部１０７は、マーカー候補領域リスト記憶部１０８に記憶されているマーカー候補領域リストから後述するマーカー候補領域の情報を読み出す。また、マーカー情報とは、ラベル番号、重心座標、多重度等である。また、マーカー判定部１０７は、領域重心の多重度取得部１０６から受け取った各領域の重心座標の多重度と、マーカー候補領域リスト記憶部１０８から読み出したマーカー候補領域の情報を用いて、多重度が所定以上の多重度の重心座標か否かを判定する。また、マーカー判定部１０７は、判定の結果、多重度が所定値以上の場合に、カメラ１２０が撮像した画像をマーカーと判定し、マーカーと判定された領域のマーカー候補領域の情報をマーカー情報としてマーカー位置出力部１０９に出力する。マーカーか否かの判定における所定値以上の多重度は、例えば３以上とする。
【００３３】
マーカー候補領域リスト記憶部１０８は、領域重心の多重度取得部１０６により記憶された第１の領域と第２の領域の各重心座標と、各多重度を記憶している。
図１０は、マーカー候補領域リスト記憶部１０８に記憶されているマーカー候補リストのデータ（マーカー候補領域の情報）構成の一例である。図１０のように、マーカー候補領域リストは、ラベル番号、重心座標、および重心の多重度が関連付けられて記憶されている。
【００３４】
マーカー位置出力部１０９は、マーカー判定部１０７から判定されたマーカー情報が入力され、受け取ったマーカー情報に基づき画像表示装置に表示する情報を生成して画像表示装置１２１に出力する。
図９は、マーカー位置出力部１０９が出力するマーカー情報の一例を示す図である。図９のように、マーカー位置出力部１０９が出力するマーカー情報は、マーカーと判定された重心座標（マーカーのＸ座標とマーカーＹ座標の組み合わせ）と、その重心の多重度と、重心が重なっている各構成要素に対応する領域情報であるラベル名などが関連付けられて出力される。
【００３５】
画像表示装置１２１は、マーカー処理装置１００から生成されたマーカー情報を表示する画像が入力され、受け取った画像を表示する。
【００３６】
図５は、第１の実施形態におけるマーカーを貼った検出物体を含む画像の一例を示す図である。図５の例では、検出物体は４個あり、各検出物体には、図１（ａ）〜（ｄ）の各マーカーのうちいずれか１つが貼られている。また、図５のように、マーカーが貼られている各検出物体のマーカーは、位置が異なり、さらに回転を伴い、配置による遠近感の影響による拡大・縮小を伴って配置されている。
【００３７】
次に、第１の実施形態におけるマーカー処理方法を図６と図７のフローチャート、図８の前処理で得られる重心データの一例を用いて説明する。図６は、第１の実施形態におけるマーカー処理方法のフローチャートである。図７は、第１の実施形態における前処理のフローチャートである。図８は、領域重心取得部１０５が求めた各ラベルの重心座標を示すデータの一例を示す図である。まず、前処理で各々の領域の重心を求める（ステップＳ１）。
【００３８】
このステップＳ１における前処理について、図７のフローチャートを用いて説明する。
画像データ取り込み部１０１は、カメラ１２０により撮像された画像を取得する（画像取得工程：ステップＳ１０１）。
画像データ取り込み部１０１は、取り込んだ画像を二値化部１０２と二値化閾値設定部１０３に出力する。二値化閾値設定部１０３は、画像データ取り込み部１０１から受け取った画像に基づき、二値化するための閾値を、例えば大津の方法で求める（二値化閾値設定工程：ステップＳ１０２）。
次に、二値化部１０２は、画像データ取り込み部１０１から受け取った画像を二値化閾値設定部１０３で求められた閾値を用いて二値化する（画像二値化工程（二値化工程）：ステップＳ１０３）。
二値化部１０２は、二値化された画像情報を領域ラベリング部１０４に出力する。
次に、領域ラベリング部１０４は、この二値化部１０２から受け取った二値化された画像情報から、領域のラベリングを行う（領域ラベリング工程（ラベリング工程）：ステップＳ１０４）。また、領域ラベリング部１０４は、ラベリングされた情報を領域重心取得部１０５に出力する。
次に、領域重心取得部１０５は、領域ラベリング部１０４から受け取ったラベリングされた情報から各ラベル領域（ラベリングされた各構成要素の各領域）の各重心の座標を求める（領域重心取得工程：ステップＳ１０５）。領域重心取得部１０５は、求められた各ラベル領域の各重心の座標を領域重心の多重度取得部１０６に出力する。
以上で、前処理を終了する。
【００３９】
図６に戻り、領域重心の多重度取得部１０６とマーカー判定部１０７は、全ての未処理領域の処理が終了したか判定する（ステップＳ２）。未処理領域の処理とは、領域重心の多重度取得部１０６による全てのラベリングされた領域の組み合わせの多重度の取得、およびマーカー判定部１０７による全ての領域の組み合わせのマーカー判定が完了しているか否かである。
ステップＳ２で、全ての未処理領域の処理が終了していないと判定された場合（ステップＳ２；Ｎｏ）、領域重心の多重度取得部１０６はマーカー候補領域リスト記憶部１０８に記憶されているマーカー候補領域のリストのデータを削除して空にする（ステップＳ３）。
次に、領域重心の多重度取得部１０６は、領域重心取得部１０５から受け取った各ラベル領域の各重心の座標から未処理の第１領域を１つ選択する（ステップＳ４）。
次に、領域重心の多重度取得部１０６は、選択された未処理の第１領域をマーカー候補領域リスト記憶部１０８のリストに追加する（ステップＳ５）。すなわち、マーカー候補領域リストとは、領域重心の多重度取得部１０６により選択されたラベリングされた領域情報であり、マーカー判定部１０７によりマーカーか否かの判定を行うマーカーの候補のリストである。
次に、領域重心の多重度取得部１０６は、領域重心の多重度取得部１０６内の多重度記憶部に記憶されている多重度を１にリセットする（ステップＳ６）。
【００４０】
次に、領域重心の多重度取得部１０６は、全ての未処理領域の処理が終了したか判定する（ステップＳ７）。
ステップＳ７で、全ての未処理領域の処理が終了していないと判定された場合（ステップＳ７；Ｎｏ）、領域重心の多重度取得部１０６は、ステップＳ４で選択された未処理の第１領域以外の１つの未処理の第２領域を選択する（ステップＳ８）。
次に、領域重心の多重度取得部１０６は、ステップＳ４で選択された未処理の第１領域とステップＳ８で選択された未処理の第２領域の重心座標を比較する。また、領域重心の多重度取得部１０６は、重心座標を比較した結果、未処理の第１領域と未処理の第２領域の重心座標が、予め定められている誤差範囲内で一致するか否かを判定する（ステップＳ９）。この予め定められている誤差範囲は、例えば撮像するカメラ１２０の焦点距離や、マーカー生成時の重心位置精度、マーカーをプリントするプリンタの解像度等に基づいて決められている値である。
ステップＳ９で、未処理の第１領域と未処理の第２領域の重心座標が、予め定められている誤差範囲内で一致すると判定された場合（ステップＳ９；Ｙｅｓ）、領域重心の多重度取得部１０６は、重心の多重度に１を加算し（ステップＳ１０）、領域重心の多重度取得部１０６が備える多重度記憶部に記憶する（ステップＳ１１）。
また、領域重心の多重度取得部１０６は、マーカー候補領域リスト記憶部１０８に未処理の第２領域の重心座標と多重度を記憶する。
ここでは、図１０のように、ラベル番号、重心座標、および重心の多重度が関連付けられて記憶されている。
一方、ステップＳ９で、未処理の第１領域と未処理の第２領域の重心座標が、予め定められている誤差範囲内で一致しないと判定された場合（ステップＳ９；Ｎｏ）、領域重心の多重度取得部１０６はステップＳ７の処理に戻す。
なお、ステップＳ７〜Ｓ１１は、重心位置多重度取得工程（領域重心の多重度取得工程）である。
【００４１】
ステップＳ７で、全ての未処理領域の処理が終了していると判定された場合（ステップＳ７；Ｙｅｓ）、マーカー判定部１０７は、マーカー候補領域リスト記憶部１０８に記憶されている未処理の第１領域と未処理の第２領域のマーカー候補領域について、各候補領域の重心の多重度が所定値、例えば３以上であるか否かを判定する（ステップＳ１２）。ステップＳ１２で、各候補領域の重心の多重度が所定値以上であると判定された場合（ステップＳ１２；Ｙｅｓ）、マーカー判定部１０７は、未処理の第１領域と未処理の第２領域の組み合わせを処理済みにする（ステップＳ１３）。
一方、ステップＳ１２で、各候補領域の重心の多重度が所定値以上でないと判定された場合（ステップＳ１２；Ｎｏ）、マーカー判定部１０７はステップＳ２に戻す。
次に、マーカー判定部１０７は、重心の多重度が所定値以上のマーカー候補をマーカーと判定して、マーカー位置出力部１０９に出力する（ステップＳ１４）。
なお、ステップＳ１２〜Ｓ１４は、マーカー判定工程である。
【００４２】
上記ステップＳ２〜Ｓ１４を繰り返し、全てのラベリングされた領域の組み合わせの多重度を求めて、さらに求められた多重度に基づいてマーカーか否かを判定する。
マーカー位置出力部１０９は、マーカー判定部１０７からマーカーと判定されたマーカー情報が入力される。また、マーカー位置出力部１０９は、受け取ったマーカー情報に基づき画像表示装置に表示する画像データを生成し、生成された画像情報を画像表示装置１２１に出力する。
ここでは、図９のように、マーカーと判定された重心座標と、その重心の多重度と、重心が重なっている領域情報であるラベル名などが関連付けられて出力される。
以上の処理により、マーカー処理は終了する。
なお、マーカーの検出は、２つの領域を比較する毎に行う方法について説明したが、これに限られず、領域重心の多重度取得部１０６が先に全ての領域の組み合わせについて比較を行い、比較の結果により順次、多重値を求める。さらに、全ての多重値が求まった後に、マーカー判定部１０７がマーカーを判定するようにしても良い。
【００４３】
次に、マーカー処理の具体的な例を、図１１〜１３を用いて説明する。図１１は、第１の実施形態における入力画像を二値化した画像の一例を示す図である。図１２は、第１の実施形態におけるラベリング処理を説明する図である。図１３は、第１の実施形態における同一ラベルを持つ領域の重心を求めた結果の一例を示す図である。
カメラ１２０で取得された画像をマーカー処理の過程を説明するために簡略化し、二値化部１０２で二値化された画像が図１１である場合について説明する。
領域ラベリング部１０４は、二値化部１０２で二値化された画像情報を図１２のように構成要素１０〜２１にラベリングする。なお、ここでは、構成要素１０が背景としてラベリングされる場合について説明する。
次に、領域重心取得部１０５は、領域ラベリング部１０４でラベリングされた各ラベルの重心座標を取得する。図１３のように、領域重心取得部１０５により取得された各ラベルの重心は座標３０〜４１に対応している。図１３において、座標３０はラベル１０の重心座標、座標３１はラベル１１の重心座標のように対応している。なお、図１３において重心は、バツ（×）印で表している。
【００４４】
次に領域重心の多重度取得部１０６は、領域重心取得部１０５で取得された重心座標を順次比較して、重心が重なっている座標（誤差範囲内で重心が一致する座標）の多重度を算出していく。図１３において、領域重心の多重度取得部１０６は、ラベル１０〜２１の重心座標３０〜４１を順次比較していく。図１１と図１３において、ラベル１１〜１３の重心座標３１〜３３は、お互いに一致すると判定され多重度＝３である。また、ラベル１８〜２１の重心座標３８〜４１は、お互いに一致すると判定され多重度＝４である。一方、ラベル１０、１４〜１７の各重心座標３０、３４〜３７は一致する座標がないため多重度＝１である。
次に、マーカー判定部１０７は、マーカー候補領域リスト記憶部１０８に記憶されているマーカー候補領域の各候補について、各候補領域の重心の多重度が所定値、例えば３以上であるか否かを判定する。図１３において、マーカー判定部１０７は、重心の多重度が３以上の領域、すなわち、ラベル１１〜１３（重心３１〜３３、重心の多重度＝３）とラベル１８〜２１（重心３８〜４１、重心の多重度＝４）の２箇所をマーカーと判定する。
また、マーカー判定部１０７は、マーカーと判定された領域の重心座標（マーカーのＸ座標，Ｙ座標）、重心の多重度（マーカー多重度）、およびマーカーの構成要素に付与されたラベル番号を関連付けてマーカー位置出力部１０９に出力する。
以上のマーカー処理により、撮像された画像は、マーカーとマーカーではない図形に分離される。ここでは、図１２において、ラベル１１〜１３、およびラベル１８〜２１はマーカーであり、ラベル１０、１４〜１７はマーカー以外である。
【００４５】
次に、第１の実施形態によるマーカー、およびマーカー処理方法がマーカーの回転や傾き、そして大きさ（拡大、縮小）の影響を受けないことを図１４と図１５を用いて説明する。図１４は、マーカー検出において姿勢に依存しないことを説明する図である。図１５は、マーカー検出において大きさに依存しないことを説明する図である。
図１４（ａ）はマーカーに傾きがない例の図であり、図１４（ｂ）と（ｃ）はマーカーが傾いている（回転している）例の図である。図１５（ａ）〜（ｃ）は、マーカーの大きさが拡大、縮小されて大きさが変化した場合の一例を示す図である。図１４と図１５のように、マーカーが回転、傾いていても、あるいはマーカーが拡大、縮小して大きさが変化しても、第１の実施形態によるマーカー処理によれば、マーカーの重心座標という点の情報を取得して、重心座標の重なりからマーカー判定を行うため、マーカー検出の際にマーカーの姿勢（位置、回転、傾き）、及びマーカーの大きさに依存しない。
【００４６】
次に、第１の実施形態における他のマーカーの例を、図１６（ａ）〜（ｆ）、図１７（ａ）〜（ｆ）、図１８（ａ）〜（ｄ）に示す。
図１６は、第１の実施形態における他のマーカーを示す図である。図１６において（ａ）〜（ｆ）は、重心が４重のマーカーの一例を示す図である。なお、図１６において重心は、バツ（×）印で表している。図１６のように、第１の実施形態におけるマーカー処理方法によれば多様なマーカーが生成できる。
第１の実施形態において、マーカー、およびマーカー処理の条件は、所定の構成要素の領域（ラベル）の重心が重なっていることのみなので、領域以外の空間に冗長な要素を埋め込んでも同様の効果が得られる。このため、マーカーに冗長な要素を埋め込んだ例を図１７に示す。図１７は、冗長部分を含むマーカーの一例を示す図である。図１７のように、図１７（ａ）と（ｅ）は重心が４重の例であり、図１７（ｂ）、（ｃ）、および（ｆ）は重心が３重の例であり、図１７（ｄ）は重心が５重の例である。また、図１７において、５１〜７２は、それぞれマーカーの構成要素である領域を表している。例えば、図１７（ａ）において、構成要素の領域は５１〜５４であり、この４つの領域の重心は一箇所で一致している（多重度＝４）。
また、図１８（ａ）〜（ｄ）は、手書きによるマーカーの一例を示す図である。図１８のように、重心が所定の誤差範囲に入る、もしくは手書きマーカーの重心の誤差が収まる範囲に重心の誤差を設定することで、第１の実施形態によれば、手書きのマーカーの場合でも同様にマーカー処理が行える。
【００４７】
以上のように、第１の実施形態によれば、撮像された画像を二値化部１０２が二値化して、二値化された画像情報から領域ラベリング部１０４がラベリングを行い、ラベリングされた各領域の重心（図心でも可）を領域重心取得部１０５が求める。次に、領域重心の多重度取得部１０６が求められた各ラベルを持つ領域の重心を比較し、重心の重なり具合である多重度を求める。さらに、マーカー判定部１０７が、求められた多重度が所定の値以上か否かによりマーカー判定を行う。このため、マーカーの姿勢（位置、回転、傾き）、およびマーカーの大きさに依存しないマーカーを提供、およびマーカー処理を行うことが可能になる。
【００４８】
[第２実施形態]
次に、第２の実施形態について、図１９〜２３を用いて説明する。第１の実施形態では、領域ラベリング部１０４でラベリングされた領域について、各領域の重心の重なり度である多重度を用いてマーカー判定を行った。第２の実施形態では、領域ラベリング部１０４でラベリングされた領域について、さらにマーカーの種別の識別を行う。
図１９は、第２の実施形態におけるマーカー処理装置の構成の一例を示すブロック図である。マーカー処理装置１００Ａは、画像データ取り込み部１０１と、二値化部１０２と、二値化閾値設定部１０３と、領域ラベリング部１０４と、領域重心取得部１０５と、領域重心の多重度取得部１０６と、マーカー判定部１０７と、マーカー候補領域リスト記憶部１０８と、マーカー種別識別部２０１と、マーカー位置・種別出力部２０２から構成されている。また、マーカー処理装置１００Ａは、カメラ１２０が撮像した画像が入力される。
またマーカー処理装置１００Ａは、検出されたマーカー情報を画像表示装置１２１に出力する。第１の実施形態との違いは、マーカー種別識別部２０１と、マーカー位置・種別出力部２０２である。この図において、図４の各部に対応する部分に同様の符号を付し、その説明を省略する。
【００４９】
マーカー種別識別部２０１は、領域ラベリング部１０４からラベリング処理において得られた各領域の情報を受ける。
図２１は、領域ラベリング部１０４のラベリング処理で得られた情報の一例を示す図である。図２１のように、領域ラベリング部１０４のラベリング処理により、ラベリングされた全てのラベル番号と、各領域のラベルの重心座標、各領域のラベルの面積と、各領域のラベルの最大Ｘ座標と、各領域のラベルの最大Ｙ座標と、各領域のラベルの最小Ｘ座標と、各領域のラベルの最小Ｙ座標が得られる。なお、重心は図心であっても良い。
また、マーカー種別識別部２０１は、領域ラベリング部１０４から受けた領域情報を用いて、各領域の大きさの比、もしくは領域の面積の比によりマーカーの識別を行う。ラベルの領域の面積は、取得された画像において、例えば同じラベルを持つピクセルの合計にあたる。また、同じラベルを持つ全てのピクセルの座標値について、順次、最大値と最小値を比較していくことで、ラベルにおける座標の最大値と最小値が求められる。これら、座標の最大値、最小値、および同じラベルを持つピクセル数を用いて、各ラベルの面積を演算により求める。
マーカー判定部１０７は、まず、領域重心の多重度取得部１０６で取得された多重度からマーカー判定を行う。
マーカー種別識別部２０１は、マーカー判定部１０７でマーカーと判定された情報について、各マーカーの多重度、もしくは各マーカーの各領域の面積比、あるいは大きさの比の少なくとも１つを用いてマーカーの種別を識別する。
また、マーカー種別識別部２０１は、判定・識別されたマーカー情報をマーカー位置・種別出力部２０２に出力する。
【００５０】
マーカー位置・種別出力部２０２は、マーカー種別識別部２０１から識別されたマーカーの位置情報、マーカーの種別情報、多重度、およびマーカーを構成するラベル番号等が入力され、受け取ったマーカー情報に基づき画像表示装置に表示する情報を生成して画像表示装置１２１に出力する。
【００５１】
図２２は、マーカーの多重度の違いによりマーカーを識別する例を説明する図である。
図２２において、図２２の（ａ）〜（ｄ）は多重度＝３のマーカーの一例であり、図２２の（ｅ）〜（ｈ）は多重度＝４のマーカーの一例であり、図２２の（ｉ）〜（ｌ）は多重度＝５のマーカーの一例である。例えば、識別したい検出物体が３個あった場合に、多重度の異なるマーカーを貼っておけば、それぞれのマーカーを多重度の相違に基づいて識別できるため、マーカーが貼られている検出物体の位置や予めマーカーと関連付けられている検出物体の種類も識別できる（例えば、マーカー処理装置１００Ａが、予めマーカーが貼られる検出物体の種類をマーカーに関連づけて記憶しておく）。また、検出物体とマーカーが関連付けられていない場合でも、取得された画像から、多重度の異なるマーカーを識別し、その位置を求めることができる。
【００５２】
図２３は、マーカーの領域面積比、領域の大きさ比でマーカー種別を識別する例を説明する図である。図２３において、（ａ）〜（ｌ）はすべて多重度＝３のマーカーの例である。例えば、図２３の（ｄ）、（ｈ）、および（ｌ）は、マーカーの大きさは３つのマーカーともに同一だが、各ラベルの領域面積の大きさが異なっている。このため、図２３（ｄ）、（ｈ）、および（ｌ）のマーカーは、領域間の面積を比較することで種別できる。同様に、他のマーカーにおいても、各領域の面積の比や、大きさの比を比較することで、各々のマーカーを識別することが可能である。
【００５３】
次に、第２の実施形態におけるマーカー処理方法を図２０のフローチャートを用いて説明する。なお、第１の実施形態と同じ動作については説明を省略する。図２０において、ステップＳ２０１〜ステップＳ２０７は、第１の実施形態のステップＳ１（ステップＳ１０１〜ステップＳ１０５）〜Ｓ１４の処理と同一である。
次に、マーカー種別識別部２０１は、マーカー判定部１０７から判定されたマーカー情報と、領域ラベリング部１０４から領域のラベリングされた情報が入力される。また、マーカー種別識別部２０１は、受け取ったマーカー判定部１０７により判定されたマーカー情報と、領域ラベリング部１０４によりラベリングされた領域のラベリングされた情報を用いて、マーカーの多重度、マーカーの各領域の面積比、あるいはマーカーの各領域の大きさの比のうち少なくとも１つによりマーカーを識別する（マーカー種別識別工程：ステップＳ２０８）。
次に、マーカー種別識別部２０１は、識別されたマーカー情報（マーカーの重心座標、マーカーを構成するラベル番号、多重度、およびマーカー種別）をマーカー位置・種別出力部２０２に出力する（マーカー位置・種別出力工程：ステップＳ２０９）。
以上により、第２の実施形態によるマーカー処理を終了する。
【００５４】
以上のように、第２の実施形態によれば、撮像された画像を二値化部１０２が二値化して、二値化された画像情報から領域ラベリング部１０４がラベリングを行い、ラベリングされた各領域の重心を領域重心取得部１０５が求める。次に、領域重心の多重度取得部１０６により求められた各ラベルを持つ領域の重心を比較し、重心の重なり具合である多重度を求める。さらに、マーカー判定部１０７が、求められた多重度が所定の値以上か否かによりマーカー判定を行う。さらに、マーカー種別識別部２０１は、領域ラベリング部１０４でラベリング処理時に生成された情報と、領域重心の多重度取得部１０６により求められた多重度、およびマーカー判定部１０７により判定されたマーカー情報を用いてマーカーを識別する。
また、第２の実施形態によれば、マーカーである領域の重心、あるいは面としての情報を用いているために、ノイズ成分が積分により低減または平均化されることが期待され、耐ノイズ性が従来技術によるマーカー、およびマーカー処理方法より高い。
このように、第２の実施形態によれば、マーカーの重心（図心でも可）の多重度、マーカーの各領域の面積比、あるいは各領域の大きさの比によりマーカーを識別するようにしたので、マーカーの姿勢（位置、回転、傾き）、およびマーカーの大きさに依存せず、さらに撮像された画像中のノイズに対しても十分な耐性を備えるマーカーの提供、およびマーカー処理を行うことが可能になる。
【００５５】
[第３実施形態]
次に、第３の実施形態について、図２４〜図２７を用いて説明する。第３の実施形態は、付加情報を埋め込めこんだマーカーの生成方法に関するものである。第１の実施形態の図１７でも説明したように、本発明におけるマーカー、マーカー処理方法、およびマーカー処理装置は、所定の要素の領域（ラベル）の重心が重なっていることのみなので、領域以外の空間に冗長な要素を埋め込んでも同様の効果が得られる。
【００５６】
マーカーに冗長な情報を埋め込む方法の例について、図２４〜図２６を用いて説明する。
図２４は、マーカーに付加的な情報を埋め込む処理のフローチャートである。図２５は、保護領域付加マーカー作成の方法を説明する図である。図２６は、マーカーへの付加データ方法を説明する図である。以下のマーカー生成、およびマーカーに付加情報を埋め込む処理は、例えばコンピュータにより行われ、具体的には、ＣＰＵ（中央演算装置）に接続されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）もしくはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）  Ｉ／Ｆを介して接続されるＵＳＢメモリー等の記憶装置に保存されているプログラムにより実行する。
まず、図２４と２５において、コンピュータは、自身に設けられているマーカー要素領域記憶部からマーカー要素領域を読み出す（ステップＳ３０１）。
次に、コンピュータは、マーカー要素領域記憶部から読み出されたマーカー要素領域の中から、マーカー生成に用いるマーカー要素領域を選択する（マーカー要素領域選択工程：ステップＳ３０２）。マーカー構成要素は、マーカーの生成を行うコンピュータによりランダム、あるいは予め定められた選択基準に基づいて選択され、例えば、図２５（ｂ）と（ｄ）が選択される。
【００５７】
次に、図２５（ｅ）のように、コンピュータは、選択されたマーカー要素領域について、必要に応じて拡大、縮小、回転処理を単独あるいは組み合わせて行う。（マーカー要素領域変形工程：ステップＳ３０３）。例えば、図２５において、コンピュータにより、選択された要素領域（ｂ）は拡大による変形処理が行われ、選択されたマーカー要素領域（ｄ）は、縮小、および縮小と回転処理による変形が行われる。また、マーカー領域の大きさは、埋め込まれる付加情報、例えば、二次元コードにおけるデータ欠落時の補正が可能な範囲になるように、マーカー、およびマーカーの保護領域を設定するようにしても良い。マーカーの保護領域とは、埋め込まれる画像を配置しない領域である。
次に、ステップＳ３０３で変形された各マーカー要素領域について、コンピュータは、最小領域幅の検出を行う（最小領域幅検出工程：ステップＳ３０４）。これは、マーカー要素領域に付加情報を埋め込む際に、マーカー要素を埋め込んだ付加情報から分離し、保護するためのガードであり、この最小領域幅は、例えばカメラ１２０の解像度や、マーカーを印刷する際に用いるプリンタの解像度、および生成しようとしているマーカーの大きさ等に基づいて設定されている領域幅である。
次に、図２５（ｆ）のように、コンピュータは、ステップＳ３０４で検出された最小領域幅を、ステップＳ３０３で変形させた各マーカー要素領域に重畳する（保護領域重畳工程：ステップＳ３０５）。
【００５８】
次に、図２５（ｇ）のように、コンピュータは、ステップＳ３０５で保護領域が重畳されたマーカー要素領域を、重心（図心でも可）の座標が一致するように合成して保護領域付きマーカーを配置する（保護領域付きマーカー配置工程：ステップＳ３０６）。
次に、図２４、２６において、コンピュータは、マーカーに埋め込むデータを取得する（埋め込みデータ取得工程：ステップＳ３０７）。埋め込むデータは、例えば、ＲＯＭ、ＨＤＤもしくはＵＳＢ  Ｉ／Ｆを介して接続されるＵＳＢメモリー等の記憶装置に記憶されているデータを読み出すか、ＵＳＢメモリーやネットワーク経由等で取得するようにしても良い。
次に、図２６（ａ）のように、コンピュータは、ステップＳ３０７で取得された埋め込むデータを用いて、冗長化データを生成する（冗長化データ生成工程：ステップＳ３０８）。冗長化データ生成は、例えば、予め定められた方法、例えば一般的な二次元コードの生成方法を用いる。
【００５９】
次に、コンピュータは、ステップＳ３０６で配置された保護領域付きマーカーに、ステップＳ３０８で生成された冗長化データを重畳し、冗長化データを埋め込んだマーカーを生成する（保護領域付きマーカー重畳工程：ステップＳ３０９）。例えば、コンピュータは、図２６（ｂ）（図２５（ｇ）と同一）の保護領域付きマーカーに、図２６（ａ）の冗長化データを重畳し、図２６（ｃ）の冗長化データを埋め込んだマーカーを生成する。
次に、コンピュータは、ステップＳ３０８で生成された冗長化データを埋め込んだマーカーから、保護領域を削除し、マーカー生成を行い、例えばＲＯＭ、ＨＤＤもしくはＵＳＢ  Ｉ／Ｆを介して接続されるＵＳＢメモリー等の記憶装置、もしくはコンピュータに接続されているプリンタ装置へ出力する（マーカー出力工程：ステップＳ３１０）。
以上により、付加データを埋め込んだマーカーの生成を終了する。
【００６０】
次に、マーカーに付加データを埋め込んだ例を、図２７を用いて説明する。図２７は、マーカーの付加データを埋め込める領域、および実際に付加データを埋め込んだ一例を示す図である。図２７（ａ）は多重度＝３のマーカーの例を示す図であり、図２７（ｂ）は図２７（ａ）のマーカーに付加データを埋め込んだ一例を示す図である。同様に、図２７（ｃ）は多重度＝３のマーカーの例を示す図であり、図２７（ｄ）は図２７（ｃ）のマーカーに付加データを埋め込んだ一例を示す図である。図２７（ｅ）は多重度＝４のマーカーであり、付加データである任意のデータ範囲の一例を示す図である。
【００６１】
以上のように、第３の実施形態によれば、生成しようとしているマーカーに保護領域を設けて付加データを重畳するようにしたので、マーカー検出処理に影響を与えない付加データを配置できる範囲に、マーカーに付加データを埋め込こむことが可能になる。このように、本発明によるマーカー処理方法とマーカーを用いた場合、第１の実施形態、第２の実施形態で示したように、多様なマーカーを生成できる上、第３の実施形態で説明した方法を用いて、付加情報を埋め込むことも可能であり、応用、実用範囲が広い。
【００６２】
また、第３の実施形態によれば、付加データを表す図形を、マーカーの構成要素を取り囲むように配置したマーカーを生成することができる。
【００６３】
なお、第３の実施形態について、マーカーおよびマーカーへの付加情報の埋め込みは、コンピュータを用いて生成する方法について説明したが、図２４〜２７の各工程の処理を行う機能を備えたマーカー生成装置で行っても良い。
【００６４】
［第４実施形態］
次に、第４の実施形態について、図２８を用いて説明する。第４の実施形態は、第３の実施形態の方法により生成されたマーカーを備える物体に関するものである。図２８は、本実施形態に係るマーカーを備える物体の一例を示す図である。図２８（ａ）は、ドライバー３０１にマーカー３０２を付けた例の図であり、図２８（ｂ）は、スパナ３１１にマーカー３１２を付けた例の図である。物体が備えるマーカーは、多重度が異なるものでもよく、第２の実施形態で説明した各領域の大きさの比、もしくは領域の面積の比が異なるものでもよい。そして、予めマーカー３０２とマーカー３１２にドライバー３０１とスパナ３１１を関連づけてマーカー処理装置に記憶しておくことにより、マーカーの識別を行うことで物体を識別できる。
マーカーの識別は、第１の実施形態の方法により、全てのラベリングされた領域の組み合わせの多重度を求めて、さらに求められた多重度に基づいてマーカーか否かを判定する。また、第２の実施形態の方法により、各領域の大きさの比、もしくは領域の面積の比によりマーカーの識別を行う。また、図５のように、撮像された画像中に複数のマーカーを備える物体がある場合においても、そして、物体の配置によりマーカーが回転していても拡大縮小されていても精度良く識別することができる。また、マーカー３０２とマーカー３１２は、ドライバー３０１とスパナ３１１にシール等で貼っても良く、あるいは各物体に印刷しても良く、あるいは各物体の製造時に金型等で形成するようにしても良い。
【００６５】
以上のように、第４の実施形態によれば、第３の実施形態の方法により生成されたマーカーを物体が備え、第１の実施形態および第２の実施形態の方法によりマーカーを識別するようにしたので、マーカーの姿勢や大きさに依存せず、さらにまた画像中のノイズに対して高い耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカーを備える物体を提供することができる。
【００６６】
［第５実施形態］
次に、第５の実施形態について、図２９を用いて説明する。第５の実施形態は、マーカーを備える物体の他の実施形態に関するものである。図２９は、本実施形態に係るマーカーを備える物体の一例を示す図である。図２９において、物体（本、または雑誌など）３２１は、ページ内にマーカー３２２が印刷されている。マーカー３２２は、第３の実施形態で生成された付加情報が埋め込まれたものである。マーカー処理装置は、予めマーカーが付けられたページに関連した記事や広告が載っているインターネット上のｕｒｌ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）アドレス等を登録しておく。そして、マーカー処理装置は、第１の実施形態の方法により、全てのラベリングされた領域の組み合わせの多重度を求めて、さらに求められた多重度に基づいてマーカーか否かを判定する。また、第２の実施形態の方法により、各領域の大きさの比、もしくは領域の面積の比によりマーカーの識別を行う。さらに、マーカー処理装置は、二次元コードを読み取り、読み取った二次元コードに基づくｕｒｌアドレス等にアクセスして付加される情報に関連した記事や広告を表示する。
なお、物体３２１に付けたマーカーの例として付加情報が埋め込まれた場合を説明したが、例えば複数のマーカー毎に異なるインターネット上のｕｒｌアドレス等を関連づけてマーカー処理装置に登録する場合、ページに付けるマーカーは付加情報がないものでも良い。また、マーカーもしくはマーカーに埋め込まれた付加情報に関連づける情報は、ｕｒｌアドレスに限られず、他の情報でも良く、例えば、画像や文字情報などに直接関連づけるようにしても良い。
【００６７】
以上のように、第５の実施形態によれば、第３の実施形態の方法により生成されたマーカーを物体に付け、第１の実施形態および第２の実施形態の方法によりマーカーを識別し、さらに物体に付けられたマーカーもしくはマーカーに埋め込まれた付加情報に関連づけてｕｒｌアドレス等を予めマーカー処理装置に登録し、登録されているマーカーもしくはマーカーに埋め込まれた付加情報に関連づけられている情報に基づき情報を読み出して表示等するようにしたので、マーカーの姿勢や大きさに依存せず、さらにまた画像中のノイズに対して高い耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカーを備える物体を提供することができる。
【００６８】
さらにまた、第１の実施形態〜第５の実施形態において、マーカーは白黒のパターンを用いる例について説明したが、撮像された画像が白黒のパターンと同等にコントラストが得られる範囲でのグレースケールであっても良く、また色相の組合せであっても良い。
【００６９】
さらにまた、第１の実施形態〜第５の実施形態において、マーカーは円、四角形、線などを用いた例について説明したが、これに限られず、多角形、曲線で囲まれた形など、領域として面積や重心を備え、かつそれらの重心座標が、所定の誤差範囲であれば良い。
【００７０】
なお、第１の実施形態の図４、および第２の実施形態の図１９の機能の全て、もしくは一部を、マーカー処理装置の図示しないＣＰＵに接続されたＲＯＭ、ＨＤＤもしくはＵＳＢ  Ｉ／Ｆを介して接続されるＵＳＢメモリー等の記憶装置に保存されているプログラムにより実行することも可能である。
【符号の説明】
【００７１】
１００・・・マーカー処理装置
１０１・・・画像データ取り込み部
１０２・・・二値化部
１０３・・・二値化閾値設定部
１０４・・・領域ラベリング部
１０５・・・領域重心取得部
１０６・・・領域重心の多重度取得部
１０７・・・マーカー判定部
１０８・・・マーカー候補領域リスト記憶部
１０９・・・マーカー位置出力部
２０１・・・マーカー種別識別部
２０２・・・マーカー位置・種別出力部
【図１】
0005447235.tif 000002
【図２】
0005447235.tif 000003
【図３】
0005447235.tif 000004
【図４】
0005447235.tif 000005
【図５】
0005447235.tif 000006
【図６】
0005447235.tif 000007
【図７】
0005447235.tif 000008
【図８】
0005447235.tif 000009
【図９】
0005447235.tif 000010
【図１０】
0005447235.tif 000011
【図１１】
0005447235.tif 000012
【図１２】
0005447235.tif 000013
【図１３】
0005447235.tif 000014
【図１４】
0005447235.tif 000015
【図１５】
0005447235.tif 000016
【図１６】
0005447235.tif 000017
【図１７】
0005447235.tif 000018
【図１９】
0005447235.tif 000019
【図２０】
0005447235.tif 000020
【図２１】
0005447235.tif 000021
【図２２】
0005447235.tif 000022
【図２３】
0005447235.tif 000023
【図２４】
0005447235.tif 000024
【図２５】
0005447235.tif 000025
【図２６】
0005447235.tif 000026
【図２７】
0005447235.tif 000027
【図２８】
0005447235.tif 000028
【図２９】
0005447235.tif 000029
【図１８】
0005447235.tif 000030