(57)【要約】【課題】拡張現実マーカの検出率向上と検出処理速度の向上を同時に実現できるようにする。【解決手段】ＡＲマーカ１１の各隅の位置（４点位置）には、発光体としてＬＥＤ１２が配設されている。複数のＬＥＤ１２によって囲まれているＡＲマーカ１１が撮影されると、その撮影画像をＬＥＤ１２の輝度に応じて二値化してその二値化画像の中から複数のＬＥＤ１２を検出した後、この複数のＬＥＤ１２によって囲まれている領域を更に二値化してその二値化画像を基にＡＲマーカ１１の検出を行う。【選択図】  図２
2014056450.tif 000002
【特許請求の範囲】
【請求項１】
複数の発光体によって囲まれている拡張現実マーカを撮影する撮影手段と、
前記撮影手段によって撮影された撮影画像を所定の閾値で二値化する処理を行う第１の二値化手段と、
前記第１の二値化手段により二値化された二値化画像の中から前記複数の発光体を検出する処理を行う第１の検出手段と、
前記第１の検出手段によって検出された複数の発光体によって囲まれている領域を二値化する処理を行う第２の二値化手段と、
前記第２の二値化手段により二値化された二値化画像を基に前記拡張現実マーカを検出する処理を行う第２の検出手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記第１の二値化手段は、前記複数の発光体によって囲まれている拡張現実マーカが前記撮影手段によって撮影された場合に、その撮影画像を前記発光体の輝度に合わせた閾値を用いた固定閾値二値化法によって二値化する処理を行う、
ようにしたことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第１の二値化手段により二値化された二値化画像の中から前記各発光体の輝度の違いに応じた輝度パターンを認識する輝度パターン認識手段を更に備え、
前記第１の検出手段は、前記輝度パターン認識手段によって認識された輝度パターンが予め決められているパターンであることを条件に前記複数の発光体を検出したものとする、
ようにしたことを特徴とする請求項１あるいは請求項２に記載の画像処理装置。
【請求項４】
前記第１の二値化手段により二値化された二値化画像の中から前記各発光体の発光色の違いに応じた色パターンを認識する色パターン認識手段を更に備え、
前記第１の検出手段は、前記色パターン認識手段によって認識された色パターンが予め決められているパターンであることを条件に前記複数の発光体を検出したものとする、
ようにしたことを特徴とする請求項１あるいは請求項２に記載の画像処理装置。
【請求項５】
前記第１の二値化手段により二値化された二値化画像の中から前記各発光体の点滅状態に応じた点滅パターンを認識する点滅パターン認識手段を更に備え、
前記第１の検出手段は、前記点滅パターン認識手段によって認識された点滅パターンが予め決められているパターンであることを条件に前記複数の発光体を検出したものとする、
ようにしたことを特徴とする請求項１あるいは請求項２に記載の画像処理装置。
【請求項６】
前記第１の二値化手段により二値化された二値化画像の中から前記各発光体の発光状態に応じた発光パターンを認識する発光パターン認識手段と、
前記発光パターン認識手段によって認識された発光パターンに基づいて前記拡張現実マーカの向きを認識する向き認識手段と、
前記向き認識手段によって認識された認識結果に基づいて前記拡張現実マーカを所定の向きに変更する変更手段と、
を更に備える、
ようにしたことを特徴とする請求項１〜請求項５のいずれかに記載の画像処理装置。
【請求項７】
前記第１の二値化手段、前記第１の検出手段、前記第２の二値化手段、前記第２の検出手段の動作を順次実行している状態において前記第２の検出手段で拡張現実マーカが検出された場合には、それ以降、前記第１の二値化手段及び前記第１の検出手段の発光体検出動作を繰り返し実行させ、この発光体検出動作の繰り返し実行中において前記第１の検出手段によって発光体を検出できなかった場合には、再度、前記第１の二値化手段、前記第１の検出手段、前記第２の二値化手段、前記第２の検出手段の動作を順次実行させる制御手段を更に備える、
ようにしたことを特徴とする請求項１〜請求項６のいずれかに記載の画像処理装置。
【請求項８】
前記第２の検出手段により拡張現実マーカが検出された場合に、前記撮影画像内のマーク位置に仮想画像を表示させる仮想画像表示手段と、
前記複数の発光体の発光状態に応じた発光パターンに対応付けて前記仮想画像の表示動作を記憶する動作記憶手段と、
前記第１の二値化手段により二値化された二値化画像の中から前記各発光体の発光状態に応じた発光パターンを認識する発光パターン認識手段と、
前記発光パターン認識手段によって認識された発光パターンに対応する表示動作を前記動作記憶手段から読み出し、その表示動作に応じて前記仮想画像を制御する仮想画像制御手段と、
を更に備える、
ようにしたことを特徴とする請求項１〜請求項７のいずれかに記載の画像処理装置。
【請求項９】
コンピュータに対して、
複数の発光体によって囲まれている拡張現実マーカを撮影する機能と、
前記撮影された撮影画像を所定の閾値で二値化する処理を行う機能と、
前記二値化された二値化画像の中から前記複数の発光体を検出する処理を行う機能と、
前記検出された複数の発光体によって囲まれている領域を二値化する処理を行う機能と、
前記領域が二値化された二値化画像を基に前記拡張現実マーカを検出する処理を行う機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影された画像の中から拡張現実マーカを検出する画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
一般に、スマートフォンなどの携帯端末装置にあっては、その多機能化が進み、カメラ機能（撮像機能）のほかに、ＡＲ（Augmented  Reality：拡張現実）機能という画像処理機能が搭載されており、撮影された画像内の所定の位置に仮想画像（例えば、キャラクタ画像など）を合成して表示するようにしている。すなわち、被写体の位置又はその付近に印刷物としての拡張現実マーカ（ＡＲマーカ）が配置されている状態において、その被写体が撮像機能によって撮影されると、携帯端末装置は、その撮影画像を解析することによりその中に含まれているＡＲマーカを認識し、このＡＲマーカの位置に仮想画像を合成して表示するようにしている。その際、ＡＲマーカを検出するために、撮影された画像を例えば、グレースケール化し、そのグレースケール画像を適応型二値化法を用いて二値化するようにしている。このように適応型二値化法を用いて画像を二値化する技術としては、例えば、特許文献１などが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−５７０８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した特許文献１のように、適応型二値化法を用いて撮影画像を二値化する技術にあっては、撮影された画像をフレーム毎に二値化処理するようにしているが、例えば、スマートフォンなどの携帯端末装置のＣＰＵ性能では、その処理が重くなり過ぎてしまい、処理速度が遅くなり、ＡＲマーカをスムーズに検出することができないという問題があった。
また、一般に、ＡＲマーカにあっては、そのマーカ領域を特定するために、例えば、正方形の黒枠内に白パターン（マーク模様）を配置するといったデザイン的な制約があった。
【０００５】
本発明の課題は、拡張現実マーカの検出率向上と検出処理速度の向上を同時に実現できるようにすることである。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために本発明の画像処理装置は、
複数の発光体によって囲まれている拡張現実マーカを撮影する撮影手段と、
前記撮影手段によって撮影された撮影画像を所定の閾値で二値化する処理を行う第１の二値化手段と、
前記第１の二値化手段により二値化された二値化画像の中から前記複数の発光体を検出する第１の検出手段と、
前記第１の検出手段によって検出された複数の発光体によって囲まれている領域を二値化処理する第２の二値化手段と、
前記第２の二値化手段により二値化された二値化画像を基に前記拡張現実マーカを検出する第２の検出手段と、
を備えることを特徴とする画像処理装置である。
【発明の効果】
【０００７】
本発明によれば、拡張現実マーカの検出率向上と検出処理速度の向上を同時に実現することができる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置として適用したカメラ機能付き多機能型携帯電話機の基本的な構成要素を示したブロック図。
【図２】（１）〜（４）は、複数のＬＥＤ１２によって囲まれたＡＲマーカ１１を示すと共に、それを撮影した画像を二値化した後の検出イメージを示した図。
【図３】（１）、（２）は、同時撮影した複数種のＡＲマーカ１１の中から所定のＡＲマーカ１１のみを検出する場合を説明するための図。
【図４】拡張現実撮影モードの切り換えに応じて実行開始される拡張現実処理を説明するためのフローチャート。
【図５】（１）〜（４）は、第１実施形態の変形例として、各ＬＥＤ１２の輝度が異なる場合での図２（１）〜（４）に対応する図。
【図６】（１）、（２）は、第１実施形態の変形例として、各ＬＥＤ１２の発光色（三原色）が異なる場合での図２（１）、（２）に対応する図。
【図７】（１）、（２）は、第１実施形態の変形例として、各ＬＥＤ１２の点滅状態（点灯、消灯、点滅）が異なる場合での図２（１）、（２）に対応する図。
【図８】（１）〜（４）は、第１実施形態の変形例として、ＡＲマーク１１の向きを変更する処理を説明するための図。
【図９】第２実施形態において、拡張現実撮影モードの切り換えに応じて実行開始される拡張現実処理を説明するためのフローチャート。
【図１０】第２実施形態において使用する動作テーブルＴを示した図。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
（実施形態１）
先ず、図１〜図４を参照して本発明の第１実施形態を説明する。
本実施形態は、画像処理装置としてカメラ機能付き多機能型携帯電話機（スマートフォン）に適用した場合を例示したもので、図１は、このカメラ機能付き多機能型携帯電話機の基本的な構成要素を示したブロック図である。
この多機能型携帯電話機は、通話機能、電子メール機能、インターネット接続機能、カメラ機能の基本機能のほか、カメラ機能によって撮影された画像内に所定の仮想画像（例えば、キャラクタ画像）を合成して表示する拡張現実処理機能などを備えている。
【００１０】
ＣＰＵ１は、二次電池（図示省略）を備えた電源部２からの電力供給によって動作し、記憶部３内の各種のプログラムに応じてこの携帯電話機の全体動作を制御する中央演算処理装置である。記憶部３には、プログラムメモリＭ１、ワークメモリＭ２などが設けられている。プログラムメモリＭ１は、図４に示した動作手順に応じて本実施形態を実現するためのプログラムや各種のアプリケーションなどが格納されているほか、それに必要とする情報などが記憶されている。ワークメモリＭ２は、携帯電話機が動作するために必要となる各種の情報（例えば、撮影された画像、フラグ、タイマなど）を一時的に記憶するワーク領域である。なお、記憶部３は、例えば、ＳＤカード、ＩＣカードなど、着脱自在な可搬型メモリ（記録メディア）を含む構成であってもよく、また、その一部が図示しない所定の外部サーバの領域を含むものであってもよい。
【００１１】
無線通信部４は、音声通話機能、電子メール機能、インターネット接続機能時に使用される広域通信部であり、通話機能の動作時には音声信号処理部５を介して通話用スピーカＳＰから音声出力させ、また、通話用マイクＭＣからの入力音声データを音声信号処理部５から取り込んでアンテナから発信出力させる。タッチ入力表示部６は、表示部６Ａとタッチ入力部６Ｂを有する構成で、高精細な表示部６Ａの前面にタッチ入力部６Ｂを配置することによりソフトウェアキー（タッチキー）を割り当て配置してその機能名を表示したり、指などによるタッチ操作を感知してそのタッチ操作に応じたデータを入力したりするデバイスである。表示部６Ａは、高精細液晶ディスプレイなどであり、カメラ機能の使用時には撮影された画像をライブビュー画像（モニタ画像）として表示するファインダ画面となる。
【００１２】
撮像部７は、被写体を高精細に撮影可能なカメラ部を構成するもので、ズームレンズやフォーカスレンズ（図示省略）などを備えたレンズ部７Ａと、ＣＣＤ又はＣＭＯＳなどの撮像素子７Ｂと、照度計などの各種のセンサを備えたセンサ部７Ｃを有するほか、更に撮像素子７Ｂで光電変換された画像信号（アナログ値の信号）に対して、色分離やＲＧＢの色成分毎のゲイン調整などを行ってデジタル値のデータに変換するアナログ処理回路７Ｄと、このアナログ処理回路７Ｄによりデジタル変換された画像データに対して色補間処理（デモザイク処理）などを施すデジタル信号処理回路７Ｅを有する構成となっている。本実施形態では、例えば、夜景撮影モード、夕焼け撮影モードなどの各種の撮影モードに切り換え可能となっており、この各種の撮影モードの中には拡張現実撮影モードが含まれている。この拡張現実撮影モードは、拡張現実処理機能を使用して撮影を行う撮影モードで、この拡張現実撮影モードに切り換えられると、オートフォーカス（ＡＦ）調整機能、自動露出（ＡＥ）調整機能、自動ホワイトバランス（ＡＷＢ）調整機能を動作させるようにしている。
【００１３】
図２は、拡張現実処理時に使用される拡張現実マーカ（ＡＲマーカ）１１を説明するための図である。
図２（１）、（２）は、ＡＲマーカ１１を被写体として撮影した場合の撮影画像を示している。ＡＲマーカ１１は、例えば、電子機器の表面に配設されているもので、正方形の黒枠内に任意形状の白領域のパターン（図示の例ではＬ字パターン）を配置した構成で、黒の領域と白の領域とは所定の割合となっている。このＡＲマーカ１１の黒枠四隅の各位置（４点位置）には、複数個の発光体として発光ダイオード（ＬＥＤ）１２が配設されている。
【００１４】
言い換えれば、ＡＲマーカ１１の全体は、複数個（４個）の発光体（ＬＥＤ）１２によって囲まれている。そして、各ＬＥＤ１２は、発光面が小さい点光源であり、同一のＬＥＤである。すなわち、各ＬＥＤ１２は、同一輝度で発光する同一サイズのＬＥＤで、その発光面がＡＲマーカ１１の黒枠四隅の位置にそれぞれ配設されている。この各ＬＥＤ１２を配置した電子機器は、例えば、各ＬＥＤ１２の点灯、消灯などを制御するようにしている。このようなＬＥＤ１２付きのＡＲマーカ１１が撮像部７によって撮影されると、その撮影画像は、ＡＲマーカ１１に対する撮影向きに応じて図２（１）あるいは（２）に示すような画像内容となる。
【００１５】
図２（１）は、複数のＬＥＤ１２によって囲まれたＬＥＤ１２付きのＡＲマーカ１１をその正面側から撮影した場合の撮影画像を示した図である。また、図２（２）は、ＬＥＤ１２付きのＡＲマーカ１１をその背面側の斜め右方向（図中、正面の右上方向）から撮影した場合を示した図である。ここで、図２（１）、（２）は、撮影画像内においてＬＥＤ１２付きのＡＲマーカ１１を概念的に示した図である。図中、円形は、ＬＥＤ１２の発光面を示し、正方形の黒枠は、ＡＲマーカ１１を構成する外枠を示し、内部のＬ字パターンは、ＡＲマーカ１１を構成する白領域を示しているが、実際のＬＥＤ１２、ＡＲマーカ１１と区別せずに撮影画像内でもＬＥＤ１２、ＡＲマーカ１１と呼称するものとする（以下、同様）。このようにしてＡＲマーカ１１が撮像部７によって撮影されると、ＣＰＵ１は、撮像素子７Ｂに映っている撮影画像（実画像）を解析することによってＡＲマーカ１１を検出するが、その際、その撮影画像を各ＬＥＤ１２の輝度に合わせた閾値を用いた固定閾値二値化法によって二値化することによって各ＬＥＤ１２をそれぞれ検出するようにしている。
【００１６】
図２（３）は、図２（１）で示した向きから撮影した画像を二値化した後の検出イメージを示した図であり、図２（４）は、図２（２）で示した向きから撮影した画像を二値化した後の検出イメージを示した図で、各ＬＥＤ１２だけが検出された場合を例示している。なお、図中、破線で囲んだ領域は、ＡＲマーカ１１が存在する領域（以下、同様）を示し、円形は、検出した発光面を示している。このように複数のＬＥＤ１２を検出すると、それらのＬＥＤ１２によって囲まれている領域内を適応型二値化法に従って二値化して、その二値化画像を基にＡＲマーカ１１の検出を行うようにしている。このように第１実施形態においては、撮影画像をＬＥＤ１２の輝度に応じて二値化して、その二値化画像の中から複数のＬＥＤ１２を検出した後、この各ＬＥＤ１２によって囲まれている領域内を更に二値化してその二値化画像を基にＡＲマーカ１１を検出する動作をフレーム毎に繰り返すようにしている。これによってＡＲマーカ１１を検出すると、ＣＰＵ１は、その検出したＡＲマーカ１１の位置に所定の仮想画像（例えば、キャラクタ画像など）を合成して重畳表示させるようにしている。
【００１７】
図３は、同時撮影した複数種のＡＲマーカ１１の中から所定のＡＲマーカ１１のみを検出する場合を説明するための図である。
上述したＡＲマーカ１１側の電子機器には、４種類のＡＲマーカ１１が隣接配設されており、そのいずれかのＡＲマーカ１１を囲むＬＥＤ１２のみを選択的に点灯するようにしている。図３（１）は、電子機器の表面に配設されている４種類のＡＲマーカ１１を同時に撮影した場合を示した図である。図示の例では、各ＡＲマーカ１１の黒枠四隅の各位置（４点位置）には、図２の場合と同様に、ＬＥＤ１２が配設されているが、隅部が隣り合うＡＲマーカ１１には共通のＬＥＤ１２が配設されている場合を例示している。ここで、図示の例は、４種類のＡＲマーカ１１のうちそのいずれかのＡＲマーカ１１のみを選択的に有効とするために、そのＡＲマーカ１１の周囲に存在している４個のＬＥＤ１２が点灯され、その他のＬＥＤ１２が全て消灯されている場合で、図中、塗りつぶしの円形は、点灯中の各ＬＥＤ１２を示している。
【００１８】
図３（２）は、図３（１）で示した撮影画像をＬＥＤ１２の輝度に合わせた閾値を用いた固定閾値二値化法によって二値化した後の検出イメージを示している。この場合、点灯中の４個のＬＥＤ１２だけが検出されるために、この点灯中のＬＥＤ１２によって囲まれた領域（図中、破線で囲んだ領域）に対して、適応型二値化法に従って二値化する処理を行う。これによってその領域内に存在しているＡＲマーカ１１だけが検出されることになる。ＣＰＵ１は、検出したＡＲマーカ１１の位置に所定の仮想画像（例えば、キャラクタ画像など）を合成して表示させるようにしている。
【００１９】
次に、本実施形態における多機能型携帯電話機の動作概念を図４に示すフローチャートを参照して説明する。ここで、このフローチャートに記述されている各機能は、読み取り可能なプログラムコードの形態で格納されており、このプログラムコードにしたがった動作が逐次実行される。また、ネットワークなどの伝送媒体を介して伝送されてきた上述のプログラムコードに従った動作を逐次実行することもできる。なお、図４は、多機能型携帯電話機の全体動作のうち、本実施形態の特徴部分の動作概要を示したフローチャートであり、この図３のフローから抜けた際には、全体動作のメインフロー（図示省略）に戻る。
【００２０】
図４は、拡張現実撮影モードの切り換えに応じて実行開始される拡張現実処理を説明するためのフローチャートである。
先ず、ＣＰＵ１は、ユーザ操作などにより拡張現実撮影モードに切り換えられると、拡張現実撮影アプリケーションを起動させた後、撮像素子７Ｂに映っている撮影画像（実画像）を取得し（ステップＡ１）、ＬＥＤ１２の輝度に合わせた閾値を用いた固定閾値二値化法によって撮影画像（実画像）を二値化する（ステップＡ２）。このようにＬＥＤ１２の輝度に合わせた閾値を用いて二値化することにより撮影画像内からＬＥＤ１２のみが検出可能となるが、この場合、ＬＥＤ１２の輝度は、ユーザ操作により予め任意に設定されており、その設定値（輝度値）を読み出すことによって二値化処理を行うようにしている。
【００２１】
そして、二値化した二値化画像を基に４点全てのＬＥＤ１２を検出することができたか否かを調べ（ステップＡ３）、４点のＬＥＤ１２を検出することができなければ（ステップＡ３でＮＯ）、最初から処理をやり直すためにステップＡ１に戻るが、４点のＬＥＤ１２を検出することができたとき、例えば、図２（３）や（４）あるいは図３（２）に示すように二値化画像内から４点全てのＬＥＤ１２を検出できたときには（ステップＡ３でＹＥＳ）、そのＬＥＤ１２の４点座標をそれぞれ取得する（ステップＡ４）。これによって取得した４点座標を基に二値化画像内でのＡＲマーカ１１の領域を特定すると共に、この特定したＡＲマーカ１１の領域内において、大津の二値化法（大津展之氏の論文、判別および最小２乗基準に基づく自動しきい値選定法」、電子通信学会論文誌、Ｖｏｌ．Ｊ６３−Ｄ、Ｎｏ．４、ｐｐ．３４９−３５６（１９８０）を参照。）を使用して、ＡＲマーカ１１の領域内での二値化閾値を算出する（ステップＡ５）。この場合、大津の二値化法ではＡＲマーカ１１の領域内においてクラス内分散及びクラス間分散を基準として、クラス内分散が最小となり、クラス間分散が最大となる閾値を二値化閾値として算出取得する。
【００２２】
そして、上述のようにして二値化した二値化画像を基にＡＲマーカ１１を検出することかできたかを調べる（ステップＡ６）。この場合、ＡＲマーカ１１内に描かれている白領域のパターンを特定することによりＡＲマーカ１１の認識を行う。その結果、ＡＲマーカ１１を検出することができなければ（ステップＡ６でＮＯ）、最初から処理をやり直すためにステップＡ１に戻るが、ＡＲマーカ１１を正常に検出することができたときには（ステップＡ６でＹＥＳ）、仮想画像を読み出して撮影画像内のＡＲマーカ１１上に重畳して合成表示させる（ステップＡ７）。以下、拡張現実処理の終了がユーザ操作により指示されたかを調べ（ステップＡ８）、終了指示があれば（ステップＡ８でＹＥＳ）、図４のフローから抜けるが、拡張現実処理の終了指示がなければ（ステップＡ８でＮＯ）、上述のステップＡ１に戻って、以下、上述の動作を繰り返す。
【００２３】
以上のように、第１実施形態においてＣＰＵ１は、複数のＬＥＤ１２によって囲まれているＡＲマーカ１１が撮像部７によって撮影されると、その撮影画像をＬＥＤ１２の輝度に応じて二値化してその二値化画像の中から複数のＬＥＤ１２を検出した後、この複数のＬＥＤ１２によって囲まれている領域を更に二値化してその二値化画像を基にＡＲマーカ１１を検出するようにしたので、ＬＥＤ１２を検出するだけでマーカ領域を特定することができ、マーク認識処理速度を向上させることができるほか、ＬＥＤ１２の認識はマーク枠（黒枠）の認識よりも精度が高いためにマーク認識率を向上させることができる。このように高認識率を維持しながら認識処理速度の向上が可能となり、実用性に富んだものとなる。また、従来のＡＲマーカ１１は、マークを特定するために黒枠を配置するという制約があったが、本実施形態においては、複数のＬＥＤ１２によってマークを特定することが可能となるために、黒枠の役目も有することになり、マーカデザインの自由度が向上する。
【００２４】
その撮影画像を二値化する場合に、ＬＥＤ１２の輝度に合わせた閾値を用いた固定閾値二値化法によって二値化するようにしたので、ＬＥＤ１２の検出する場合にその誤検出（誤認識）の確率を大幅に低くすることが可能となる。この場合、図３で示したように、電子機器側に複数種類のＡＲマーカ１１が隣接配設されていて、そのいずれかのＡＲマーカ１１を囲むＬＥＤ１２のみが選択的に点灯されている場合には、その撮影画像の中から点灯中のＬＥＤ１２によって囲まれた領域を二値化することにより、その領域内に存在しているＡＲマーカ１１だけを検出することが可能となる。
【００２５】
なお、上述した第１実施形態において各ＬＥＤ１２は、同一の輝度で発光するようにしたが、各ＬＥＤ１２の輝度が異なるようにしてもよい。
図５は、各ＬＥＤ１２の輝度が異なる場合であり、図５（１）は、図２（１）と同様に、ＡＲマーカ１１をその正面側から撮影した場合を示し、図５（２）は、図２（２）と同様に、ＡＲマーカ１１をその背面側の斜め右方向から撮影した場合を示した図である。図５（１）は、図中、左上及び右下のＬＥＤ１２の輝度が“暗め”、右上のＬＥＤ１２の輝度が“明るめ”、左下のＬＥＤ１２の輝度が“中間”の場合である。図５（２）は、図中、上及び右のＬＥＤ１２の輝度が“暗め”、下のＬＥＤ１２の輝度が“明るめ”、左のＬＥＤ１２の輝度が“中間”の場合である。
【００２６】
図５（３）は、図５（１）で示した向きから撮影した画像を二値化した後の検出イメージを示した図であり、また、図５（４）は、図５（２）で示した向きから撮影した画像を二値化した後の検出イメージを示した図であり、二値化画像内から各ＬＥＤ１２だけが検出された場合である。なお、図中、破線で囲んだ領域は、ＡＲマーカ１１が存在する領域を示し、円形は、検出された発光面を示しているが、その大きさの相違は、対応するＬＥＤ１２の輝度の違いを示している。ＣＰＵ１は、上述のようにＬＥＤ１２の輝度の違いに応じた輝度パターンを認識し、この輝度パターンが予め決められているパターンであることを条件にＬＥＤ１２を検出したものとする。
【００２７】
このように撮影画像を二値化した二値化画像の中から複数のＬＥＤ１２を検出する場合に、各ＬＥＤ１２の輝度の違いに応じた輝度パターンを認識し、この輝度パターンが予め決められているパターンであることを条件にＬＥＤ１２を検出したものとすれば、ＬＥＤ１２の検出精度をより向上させることが可能となる。
【００２８】
また、上述した第１実施形態において各ＬＥＤ１２は、同一の色で発光するようにしたが、各ＬＥＤ１２の発光色が異なるようにしてもよい。
図６は、各ＬＥＤ１２の発光色（三原色）が異なる場合であり、図６（１）は、図２（１）と同様に、ＡＲマーカ１１をその正面側から撮影した場合を示し、図６（２）は、図２（２）と同様に、ＡＲマーカ１１をその背面側の斜め右方向から撮影した場合を示した図である。図６（１）は、図中、右上及び左下のＬＥＤ１２の発光色が“緑色”、左上のＬＥＤ１２の発光色が“赤色”、右下のＬＥＤ１２の発光色が“青色”の場合である。図６（２）は、図中、上及び下のＬＥＤ１２の発光色が“緑色”、右のＬＥＤ１２の発光色が“赤色”、左のＬＥＤ１２の発光色が“青色”の場合である。ＣＰＵ１は、上述のようにＬＥＤ１２の発光色の違いに応じた色パターンを認識し、この色パターンが予め決められているパターンであることを条件にＬＥＤ１２を検出したものとする。
【００２９】
このように撮影画像を二値化した二値化画像の中から複数のＬＥＤ１２を検出する場合に、各ＬＥＤ１２の発光色の違いに応じた色パターンを認識し、この色パターンが予め決められているパターンであることを条件にＬＥＤ１２を検出したものとすれば、ＬＥＤ１２の検出精度をより向上させることが可能となる。
【００３０】
また、上述した第１実施形態において各ＬＥＤ１２は、点灯発光するようにしたが、各ＬＥＤ１２の点滅状態（点灯、消灯、点滅）が異なるようにしてもよい。
図７は、各ＬＥＤ１２の点滅状態（点灯、消灯、点滅）が異なる場合であり、図７（１）は、図２（１）と同様に、ＡＲマーカ１１をその正面側から撮影した場合を示し、図７（２）は、図２（２）と同様に、ＡＲマーカ１１をその背面側の斜め右方向から撮影した場合を示した図である。なお、この場合の撮影画像は、所定時間（例えば、１秒）に相当する複数フレーム分の画像であり、ＬＥＤ１２の点滅は、例えば、１秒間に数回、点灯／消灯を繰り返す。図７（１）は、図中、左上及び右上のＬＥＤ１２が“点滅”、左下及び右下のＬＥＤ１２が“点灯”の場合である。図７（２）は、図中、右及び下のＬＥＤ１２が“点滅”、左及び上のＬＥＤ１２が“消灯”の場合である。ＣＰＵ１は、上述のようにＬＥＤ１２の点滅状態の違いに応じた点滅パターンを認識し、この点滅パターンが予め決められているパターンであることを条件にＬＥＤ１２を検出したものとする。
【００３１】
このように撮影画像を二値化した二値化画像の中から複数のＬＥＤ１２を検出する場合に、各ＬＥＤ１２の点滅状態の違いに応じた点滅パターンを認識し、この点滅パターンが予め決められているパターンであることを条件にＬＥＤ１２を検出したものとすれば、ＬＥＤ１２の検出精度をより向上させることが可能となる。
【００３２】
また、上述したようにＬＥＤ１２の発光状態に応じた発光パターン（輝度パターン、色パターン、点滅パターン）を認識した場合に、その発光パターンに応じてＡＲマーク１１の向きを特定し、そのＡＲマーク１１が所定の向きでない場合には、ＡＲマーク１１が所定の向きとなるように、発光パターンを含めてＡＲマーク１１の全体を回転させてその向きを変更する処理を行うようにしてもよい。図８は、ＡＲマーク１１の向きを変更する処理を説明するための図である。図８（１）は、上述した所定の向きとして、予めユーザ操作によって記憶されているＬＥＤ１２の発光パターン（色パターン）とＡＲマーク１１の向きを示した図で、上述した図２（１）と同様にＡＲマーク１１をその正面から撮影した場合である。
【００３３】
図８（２）は、実際のＬＥＤ１２付きＡＲマーク１１を示し、図８（３）は、実際のＬＥＤ１２付きＡＲマーク１１を斜め方向から撮影した場合の撮影画像内の発光パターン（色パターン）を示した図である。図８（１）に示す発光パターン（色パターン）は、“正方形”であるのに対し、図８（３）に示す発光パターン（色パターン）は、“ひし形”であるため、この“ひし形”が所定の向きとなるように発光パターン（ＡＲマーク１１を含む）の全体を回転させてその向きを変更すると、変更後の発光パターンは、図８（４）に示すように“正方形”となる。
【００３４】
このようにＬＥＤ１２の発光状態に応じた発光パターンに応じてＡＲマーク１１の向きを特定し、そのＡＲマーク１１が所定の向きでない場合には、ＡＲマーク１１が所定の向きとなるように、発光パターンを含めてＡＲマーク１１の全体を回転させてその向きを変更する処理を行うようにすれば、発光パターンで囲まれている領域を二値化してマークを検出する処理が容易なものとなる。
【００３５】
（第２実施形態）
以下、この発明の第２実施形態について図９及び図１０を参照して説明する。
なお、上述した第１実施形態においては、撮影画像をＬＥＤ１２の輝度に応じて二値化してその二値化画像の中から複数のＬＥＤ１２を検出した後、この各ＬＥＤ１２によって囲まれている領域を更に二値化してその二値化画像を基にＡＲマーカ１１を検出する動作をフレーム毎に繰り返すようにしたが、この第２実施形態においては、上述した一連の動作でＡＲマーカ１１を検出することができた場合に、次回のフレーム以降ではＬＥＤ検出動作のみを繰り返すようにしたものである。更に、所定の仮想画像（例えば、キャラクタ画像など）を合成表示させる場合に、複数のＬＥＤ１２によって特定した発光パターンの種類に応じて仮想画像の表示動作を制御するようにしたものである。ここで、両実施形態において基本的あるいは名称的に同一のものは、同一符号を付して示し、その説明を省略すると共に、以下、第２実施形態の特徴部分を中心に説明するものとする。
【００３６】
図９は、第２実施形態において、拡張現実撮影モードの切り換えに応じて実行開始される拡張現実処理を説明するためのフローチャートである。
先ず、ＣＰＵ１は、上述した図４のステップＡ１〜Ａ６に対応する同様の処理を行う（ステップＢ１〜Ｂ６）。すなわち、撮影画像（実画像）を取得し（ステップＢ１）、ＬＥＤ１２の輝度に合わせた閾値を用いた固定閾値二値化法によって撮影画像を二値化する（ステップＢ２）。そして、二値化した二値化画像を基に４点のＬＥＤ１２を検出することができたか否かを調べる（ステップＢ３）。
【００３７】
その結果、４点のＬＥＤ１２を検出することができなければ（ステップＢ３でＮＯ）、最初から処理をやり直すためにステップＢ１に戻るが、４点のＬＥＤ１２を検出することができたときには（ステップＢ３でＹＥＳ）、そのＬＥＤ１２の４点座標を取得する（ステップＢ４）。これによって取得した４点座標を基に二値化画像内でのＡＲマーカ１１の領域を特定すると共に、この特定したＡＲマーカ１１の領域内において、大津の二値化法を使用して、ＡＲマーカ１１の領域内での二値化閾値を算出する（ステップＢ５）。そして、二値化した二値化画像を基にＡＲマーカ１１を検出することかできたかを調べ（ステップＢ６）、ＡＲマーカ１１を検出することができなければ（ステップＢ６でＮＯ）、最初から処理をやり直すためにステップＢ１に戻る。
【００３８】
ここで、ＡＲマーカ１１を検出することができたときには（ステップＢ６でＹＥＳ）、検出した各ＡＲマーカ１１からその発光パターンを特定すると共に、その発光パターンの種類を一時記憶しておく（ステップＢ７）。そして、この発光パターンの種類に基づいて動作テーブルＴ（図１０を参照）を検索することにより仮想画像の表示動作を特定する（ステップＢ８）。
図１０は、この動作テーブルＴを説明するための図である。動作テーブルＴは、「発光パターンの種類」に対応付けて仮想画像の「表示動作」を記憶する構成で、図示の例では、発光パターン（色パターン）の種類として、赤色が１個、緑色が２個、青色が１個の発光パターンに対応して「動作Ａ」が記憶され、赤色が１個、緑色が１個、青色が２個の発光パターンに対応して「動作Ｂ」が記憶され、赤色が２個、緑色が１個、青色が１個の発光パターンに対応して「動作Ｃ」が記憶されている。
【００３９】
これによって特定した表示動作の仮想画像を撮影画像内のＡＲマーカ１１上に重畳して合成表示させる（ステップＢ９）。このようにしてＡＲマーカ１１を検出してその位置に仮想画像を表示させた後は、撮影画像（実画像）を取得し（ステップＢ１０）、ＬＥＤ１２の輝度に合わせた閾値を用いた固定閾値二値化法によって撮影画像を二値化する（ステップＢ１１）。そして、二値化した二値化画像を基に４点のＬＥＤ１２を検出することができたか否かを調べる（ステップＢ１２）。
【００４０】
ここで、４点のＬＥＤ１２を検出することができたときには（ステップＢ１２でＹＥＳ）、そのＬＥＤ１２の４点座標を取得する（ステップＢ１３）。これによって取得した４点座標を基に二値化画像内でのＡＲマーカ１１の領域を特定すると共に、この特定したＡＲマーカ１１の領域の中心位置に仮想画像を重畳して合成表示させる（ステップＢ１４）。この場合、上述のステップＢ７で一時記憶した発光パターンの種類に対応して動作テーブルＴ１を検索することにより、それに対応付けられている仮想画像の表示動作を読み出して、仮想画像を合成表示させる。
【００４１】
そして、以下、拡張現実処理の終了がユーザ操作により指示されたかを調べ（ステップＢ１５）、終了指示があれば（ステップＢ１５でＹＥＳ）、図９のフローから抜けるが、拡張現実処理の終了指示がなければ（ステップＢ１５でＮＯ）、上述のステップＢ１０に戻って、以下、ＡＲマーカ１１を検出する動作を繰り返す。このようにＡＲマーカ１１を検出する動作を繰り返して実行している状態において、ＡＲマーカ１１を見失ってそれを検出することができなくなったときには（ステップＢ１２でＮＯ）、最初から処理をやり直すためにステップＢ１に戻る。
【００４２】
以上のように、第２実施形態においては、ＡＲマーカ１１を検出した場合に、次回のフレーム以降では複数のＬＥＤ１２（発光パターン）のみを検出する動作のみを繰り返すようにしたので、ＡＲマーカ１１を検出する動作が省略することができる。したがって、高認識率を維持しながら認識処理速度の向上が可能となる。
【００４３】
また、所定の仮想画像を合成表示させる場合に、複数のＬＥＤ１２によって特定した発光パターンの種類に応じて仮想画像の表示動作を制御するようにしたので、発光パターンを変化させるだけで仮想画像の表示動作を変えることができ、変化に富んだ表示を容易に実現することが可能となる。
【００４４】
なお、上述した各実施形態においてＡＲマーカ１１は、正方形の黒枠内に任意形状の白領域のパターンなどを配置した構成であるが、ＡＲマーカ１１の構成はこれに限らず、任意である。また、ＬＥＤ１２をＡＲマーカ１１の四隅に配置するようにしたが、ＡＲマーカ１１の形状などに応じてＬＥＤ１２の配置位置や個数なども任意である。すなわち、ＬＥＤ１２を配置することによってＡＲマーカ１１の領域を特定することが可能であれば、ＬＥＤ１２の配置位置や個数などは任意である。
【００４５】
また、上述した各実施形態においては、ＬＥＤ１２の４点座標を基に二値化画像内でのＡＲマーカ１１の領域内を二値化する場合に、大津の二値化法を使用するようにしたが、この場合の二値化は、これに限らず、任意である。
【００４６】
また、上述した実施形態においては、カメラ機能付き多機能型携帯電話機（スマートフォン）に適用した場合を例示したが、これに限らず、カメラ機能付きパーソナルコンピュータ・ＰＤＡ（個人向け携帯型情報通信機器）・音楽プレイヤー・電子ゲーム機などであってもよく、勿論、デジタルカメラ自体であってもよい。
【００４７】
また、上述した各実施形態において示した“装置”や“部”とは、機能別に複数の筐体に分離されていてもよく、単一の筐体に限らない。また、上述したフローチャートに記述した各ステップは、時系列的な処理に限らず、複数のステップを並列的に処理したり、別個独立して処理したりするようにしてもよい。
【００４８】
以上、この発明の実施形態について説明したが、この発明は、これに限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下、本願出願の特許請求の範囲に記載された発明を付記する。
（付記）
（請求項１）
請求項１に記載の発明は、
複数の発光体によって囲まれている拡張現実マーカを撮影する撮影手段と、
前記撮影手段によって撮影された撮影画像を所定の閾値で二値化する処理を行う第１の二値化手段と、
前記第１の二値化手段により二値化された二値化画像の中から前記複数の発光体を検出する処理を行う第１の検出手段と、
前記第１の検出手段によって検出された複数の発光体によって囲まれている領域を二値化する処理を行う第２の二値化手段と、
前記第２の二値化手段により二値化された二値化画像を基に前記拡張現実マーカを検出する処理を行う第２の検出手段と、
を備えることを特徴とする画像処理装置である。
（請求項２）
請求項２に記載の発明は、請求項１記載の画像処理装置において、
前記第１の二値化手段は、前記複数の発光体によって囲まれている拡張現実マーカが前記撮影手段によって撮影された場合に、その撮影画像を前記発光体の輝度に合わせた閾値を用いた固定閾値二値化法によって二値化する処理を行う、
ようにしたことを特徴とする画像処理装置である。
（請求項３）
請求項３に記載の発明は、請求項１あるいは請求項２に記載の画像処理装置において、
前記第１の二値化手段により二値化された二値化画像の中から前記各発光体の輝度の違いに応じた輝度パターンを認識する輝度パターン認識手段を更に備え、
前記第１の検出手段は、前記輝度パターン認識手段によって認識された輝度パターンが予め決められているパターンであることを条件に前記複数の発光体を検出したものとする、
ようにしたことを特徴とする画像処理装置である。
（請求項４）
請求項４に記載の発明は、請求項１あるいは請求項２に記載の画像処理装置において、
前記第１の二値化手段により二値化された二値化画像の中から前記各発光体の発光色の違いに応じた色パターンを認識する色パターン認識手段を更に備え、
前記第１の検出手段は、前記色パターン認識手段によって認識された色パターンが予め決められているパターンであることを条件に前記複数の発光体を検出したものとする、
ようにしたことを特徴とする画像処理装置である。
（請求項５）
請求項５に記載の発明は、請求項１あるいは請求項２に記載の画像処理装置において、
前記第１の二値化手段により二値化された二値化画像の中から前記各発光体の点滅状態に応じた点滅パターンを認識する点滅パターン認識手段を更に備え、
前記第１の検出手段は、前記点滅パターン認識手段によって認識された点滅パターンが予め決められているパターンであることを条件に前記複数の発光体を検出したものとする、
ようにしたことを特徴とする画像処理装置である。
（請求項６）
請求項６に記載の発明は、請求項１〜請求項５のいずれかに記載の画像処理装置において、
前記第１の二値化手段により二値化された二値化画像の中から前記各発光体の発光状態に応じた発光パターンを認識する発光パターン認識手段と、
前記発光パターン認識手段によって認識された発光パターンに基づいて前記拡張現実マーカの向きを認識する向き認識手段と、
前記向き認識手段によって認識された認識結果に基づいて前記拡張現実マーカを所定の向きに変更する変更手段と、
を更に備える、
ようにしたことを特徴とする画像処理装置である。
（請求項７）
請求項７に記載の発明は、請求項１〜請求項６のいずれかに記載の画像処理装置において、
前記第１の二値化手段、前記第１の検出手段、前記第２の二値化手段、前記第２の検出手段の動作を順次実行している状態において前記第２の検出手段で拡張現実マーカが検出された場合には、それ以降、前記第１の二値化手段及び前記第１の検出手段の発光体検出動作を繰り返し実行させ、この発光体検出動作の繰り返し実行中において前記第１の検出手段によって発光体を検出できなかった場合には、再度、前記第１の二値化手段、前記第１の検出手段、前記第２の二値化手段、前記第２の検出手段の動作を順次実行させる制御手段を更に備える、
ようにしたことを特徴とする画像処理装置である。
（請求項８）
請求項８に記載の発明は、請求項１〜請求項７のいずれかに記載の画像処理装置において、
前記第２の検出手段により拡張現実マーカが検出された場合に、前記撮影画像内のマーク位置に仮想画像を表示させる仮想画像表示手段と、
前記複数の発光体の発光状態に応じた発光パターンに対応付けて前記仮想画像の表示動作を記憶する動作記憶手段と、
前記第１の二値化手段により二値化された二値化画像の中から前記各発光体の発光状態に応じた発光パターンを認識する発光パターン認識手段と、
前記発光パターン認識手段によって認識された発光パターンに対応する表示動作を前記動作記憶手段から読み出し、その表示動作に応じて前記仮想画像を制御する仮想画像制御手段と、
を更に備える、
ようにしたことを特徴とする画像処理装置である。
（請求項９）
請求項９に記載の発明は、
コンピュータに対して、
複数の発光体によって囲まれている拡張現実マーカを撮影する機能と、
前記撮影された撮影画像を所定の閾値で二値化する処理を行う機能と、
前記二値化された二値化画像の中から前記複数の発光体を検出する処理を行う機能と、
前記検出された複数の発光体によって囲まれている領域を二値化する処理を行う機能と、
前記領域が二値化された二値化画像を基に前記拡張現実マーカを検出する処理を行う機能と、
を実現させるためのプログラムである。
【符号の説明】
【００４９】
１  ＣＰＵ
３  記憶部
６  タッチ入力表示部
６Ａ  表示部
７  撮像部
１１  ＡＲマーカ
１２  ＬＥＤ
Ｍ１  プログラムメモリ
【図１】
2014056450.tif 000003
【図２】
2014056450.tif 000004
【図３】
2014056450.tif 000005
【図４】
2014056450.tif 000006
【図５】
2014056450.tif 000007
【図６】
2014056450.tif 000008
【図７】
2014056450.tif 000009
【図８】
2014056450.tif 000010
【図９】
2014056450.tif 000011
【図１０】
2014056450.tif 000012