(57)【要約】      （修正有）【課題】画像データから認識対象画像以外の画像を効果的に除去し、認識対象画像を確実に抽出する。【解決手段】画像データから所定の画素条件を満たす画素情報をもち連続する画素からなる画素群の輪郭を抽出する輪郭抽出処理を行う輪郭抽出部と、前記輪郭抽出部によって抽出された輪郭の軌跡が所定の軌跡条件を満たすか否かを判定する輪郭判定部と、前記輪郭判定部によって所定の軌跡条件を満たさないと判定された場合に、前記輪郭抽出部によって抽出された輪郭を構成する各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更する画素情報変更部と、前記輪郭判定部によって所定の軌跡条件を満たすと判定された場合に、前記輪郭抽出部によって抽出された輪郭の内部領域に対応する画像データを前記認識対象画像として抽出する認識対象画像抽出部とを機能させる。【選択図】図１５
2008003765.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データから認識対象画像を抽出するためのコンピュータが実行可能なプログラムであって、
前記画像データから所定の画素条件を満たす画素情報をもち連続する画素からなる画素群の輪郭を抽出する輪郭抽出処理を行う輪郭抽出部と、
前記輪郭抽出部によって抽出された輪郭の軌跡が所定の軌跡条件を満たすか否かを判定する輪郭判定部と、
前記輪郭判定部によって所定の軌跡条件を満たさないと判定された場合に、前記輪郭抽出部によって抽出された輪郭を構成する各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更する画素情報変更部と、
前記輪郭判定部によって所定の軌跡条件を満たすと判定された場合に、前記輪郭抽出部によって抽出された輪郭の内部領域に対応する画像データを前記認識対象画像として抽出する認識対象画像抽出部と、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記輪郭抽出部は、
前記画像データから所定の画素条件を満たす画素情報をもつ画素を検出し、検出した画素を開始点として再び開始点に到達するまで前記所定の画素条件を満たす画素情報をもち隣接する画素を所定の規則に従ってトレースし、トレースした各画素の座標値に基づき前記輪郭抽出処理を行うことを特徴とするプログラム。
【請求項３】
請求項１または２において、
前記輪郭抽出部は、
前記画像データを構成する各画素を所定の順番で走査し、前記走査において所定の画素条件を満たす画素情報をもつ画素を検出した場合に前記輪郭抽出処理を行い、輪郭抽出処理後に前記検出した画素の次に走査すべき画素から走査を再開する処理を、全画素の走査が終わるまで繰り返し行うことを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記輪郭判定部は、
前記輪郭抽出部によって抽出された輪郭を構成する画素列が多角形の頂点を構成するか否か判定することで前記輪郭の頂点を検出し、検出した前記輪郭の頂点に基づき前記輪郭の軌跡が所定の軌跡条件を満たすか否かを判定することを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記認識対象画像抽出部によって抽出された認識対象画像が所定の条件を満たす認識対象画像であるか否かを判定する認識対象画像判定部としてコンピュータを機能させ、
前記画素情報変更部は、
前記認識対象画像判定部によって所定の条件を満たす認識対象画像であると判定された場合に、前記輪郭抽出部によって抽出された輪郭の内部領域にある各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更し、
前記認識対象画像判定部によって所定の条件を満たす認識対象画像でないと判定された場合に、前記輪郭抽出部によって抽出された輪郭を構成する各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更することを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記画像データに対して二値化処理を行う二値化処理部としてコンピュータを機能させ、
前記輪郭抽出部は、
前記二値化処理部により二値化処理が行われた画像データから前記輪郭を抽出することを特徴とするプログラム。
【請求項７】
請求項６において、
前記画像データに対して微分処理を行う微分処理部と、
前記微分処理部によって微分処理が行われた画像データに対して、着目画素とその周辺に配置された周囲画素の画素情報を平均化して着目画素の新たな画素情報とするぼかし処理を行うぼかし処理部としてコンピュータを機能させ、
前記二値化処理部は、
前記ぼかし処理部によってぼかし処理が行われた画像データに対して二値化処理を行うことを特徴とするプログラム。
【請求項８】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至７のいずれかのプログラムを記録したことを特徴とする情報記憶媒体。
【請求項９】
入力された画像データから認識対象画像を抽出するための画像認識方法であって、
前記画像データから所定の画素条件を満たす画素情報をもち連続する画素からなる画素群の輪郭を抽出する輪郭抽出処理を行う輪郭抽出ステップと、
前記輪郭抽出ステップによって抽出された輪郭の軌跡が所定の軌跡条件を満たすか否かを判定する輪郭判定ステップと、
前記輪郭判定ステップによって所定の軌跡条件を満たさないと判定された場合に、前記輪郭抽出ステップによって抽出された輪郭を構成する各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更する画素情報変更ステップと、
前記輪郭判定ステップによって所定の軌跡条件を満たすと判定された場合に、前記輪郭抽出ステップによって抽出された輪郭の内部領域に対応する画像データを前記認識対象画像として抽出する認識対象画像抽出ステップと、
とを含むことを特徴とする画像認識方法。
【請求項１０】
入力された画像データから認識対象画像を抽出するための画像認識装置であって、
前記画像データから所定の画素条件を満たす画素情報をもち連続する画素からなる画素群の輪郭を抽出する輪郭抽出処理を行う輪郭抽出部と、
前記輪郭抽出部によって抽出された輪郭の軌跡が所定の軌跡条件を満たすか否かを判定する輪郭判定部と、
前記輪郭判定部によって所定の軌跡条件を満たさないと判定された場合に、前記輪郭抽出部によって抽出された輪郭を構成する各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更する画素情報変更部と、
前記輪郭判定部によって所定の軌跡条件を満たすと判定された場合に、前記輪郭抽出部によって抽出された輪郭の内部領域に対応する画像データを前記認識対象画像として抽出する認識対象画像抽出部と、
とを含むことを特徴とする画像認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された画像データから少なくとも１以上の認識対象画像を抽出するための画像認識装置、方法、プログラム及び情報記録媒体に関する。
【背景技術】
【０００２】
従来から、カメラで撮像した画像からタロットカード等の認識対象画像を抽出するパターン処理装置が知られている（例えば、特許文献１参照）。
【特許文献１】特開２００５−２４２６００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記パターン処理装置では、単一色のシート部材の上にタロットカードを並べて撮像した画像データから上記タロットカードに対応する認識対象画像を抽出しており、認識対象画像の背景が単一色であることを前提としている。
【０００４】
従って、上記単一色のシート部材を用いず撮像した場合には、認識対象画像の背景にある認識対象画像以外の画像を除去することができず、認識対象画像を正確に抽出することができないという問題点があった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、画像データから認識対象画像以外の画像を効果的に除去し、認識対象画像を確実に抽出することができる画像認識装置、方法、プログラム及び情報記録媒体を提供することにある。
【課題を解決するための手段】
【０００６】
（１）入力された画像データから認識対象画像を抽出するためのコンピュータが実行可能なプログラムであって、前記画像データから所定の画素条件を満たす画素情報をもち連続する画素からなる画素群の輪郭を抽出する輪郭抽出処理を行う輪郭抽出部と、前記輪郭抽出部によって抽出された輪郭の軌跡が所定の軌跡条件を満たすか否かを判定する輪郭判定部と、前記輪郭判定部によって所定の軌跡条件を満たさないと判定された場合に、前記輪郭抽出部によって抽出された輪郭を構成する各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更する画素情報変更部と、前記輪郭判定部によって所定の軌跡条件を満たすと判定された場合に、前記輪郭抽出部によって抽出された輪郭の内部領域に対応する画像データを前記認識対象画像として抽出する認識対象画像抽出部と、としてコンピュータを機能させることを特徴とする。
【０００７】
また本発明は上記各部を含む画像認識装置に関係する。また本発明はコンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関係する。また本発明は上記各部の処理を行う画像認識方法に関係する。
【０００８】
画素情報とは画素のもつ情報であって、例えば３色（ＲＧＢ）の色データや、グレースケールの階調データ、白色または黒色を表す二値データ、輝度データ、色差データ等をいう。
【０００９】
画素情報が所定の画素条件を満たすか否かは、画像情報の値が特定の値であるか否かに基づき決定してもよいし、画像情報の値が所定の閾値以上であるか（または以下であるか）に基づいて決定してもよい。
【００１０】
輪郭の軌跡が所定の軌跡条件を満たすか否かは、輪郭の軌跡の形状が所定の形状であるか否かに基づき判定してもよい。
【００１１】
連続する画素からなる画素群とは、その画素群に属する各画素が他のいずれかの画素と上下方向、左右方向、または斜め方向に隣接している画素群をいう。
【００１２】
本発明によれば、画像データから認識対象画像以外の画像を効果的に除去し、認識対象画像を確実に抽出することができる。また認識対象画像が認識対象画像以外の画像に囲まれているような場合であっても認識対象画像を確実に抽出することができる。
【００１３】
（２）本発明に係るプログラム及び情報記憶媒体では、前記輪郭抽出部は、前記画像データから所定の画素条件を満たす画素情報をもつ画素を検出し、検出した画素を開始点として再び開始点に到達するまで前記所定の画素条件を満たす画素情報をもち隣接する画素を所定の規則に従ってトレースし、トレースした各画素の座標値に基づき前記輪郭抽出処理を行うことを特徴とする。
【００１４】
隣接する画素とは、上下方向、左右方向、または斜め方向に隣接する画素をいう。
【００１５】
所定の規則とは、所定の画素条件を満たす画素情報をもち隣接する画素の内、次にトレースすべき画素を決定するために用いられる規則をいい、例えば次にトレースすべき画素の位置についての優先順番でもよい。
【００１６】
本発明によれば、画像データから認識対象画像以外の画像を効果的に除去し、認識対象画像を確実に抽出することができる。
【００１７】
（３）本発明に係るプログラム及び情報記憶媒体では、前記輪郭抽出部は、前記画像データを構成する各画素を所定の順番で走査し、前記走査において所定の画素条件を満たす画素情報をもつ画素を検出した場合に前記輪郭抽出処理を行い、輪郭抽出処理後に前記検出した画素の次に走査すべき画素から走査を再開する処理を、全画素の走査が終わるまで繰り返し行うことを特徴とする。
【００１８】
走査を再開する処理は、前記輪郭抽出処理に引き続いて行われる前記輪郭判定部、前記画素情報変更部、前記認識対象画像抽出部による処理の後に行われる。
【００１９】
本発明によれば、画像データに認識対象画像が複数ある場合であっても、全ての認識対象画像を抽出することができる。
【００２０】
（４）本発明に係るプログラム及び情報記憶媒体では、前記輪郭判定部は、前記輪郭抽出部によって抽出された輪郭を構成する画素列が多角形の頂点を構成するか否か判定することで前記輪郭の頂点を検出し、検出した前記輪郭の頂点に基づき前記輪郭の軌跡が所定の軌跡条件を満たすか否かを判定することを特徴とする。
【００２１】
輪郭の頂点に基づく輪郭の軌跡の判定は、検出した頂点の数に基づき行ってもよいし、頂点の位置、頂点の角度、またはそれらの組み合わせに基づき行ってもよい。
【００２２】
本発明によれば、認識対象画像の形状が多角形である場合に、形状の判定を容易に行うことができ、画像データから認識対象画像とは異なる形状の画像を効果的に除去し、認識対象画像を確実に抽出することができる。
【００２３】
（５）本発明に係るプログラム及び情報記憶媒体では、前記認識対象画像抽出部によって抽出された認識対象画像が所定の条件を満たす認識対象画像であるか否かを判定する認識対象画像判定部としてコンピュータを機能させ、前記画素情報変更部は、前記認識対象画像判定部によって所定の条件を満たす認識対象画像であると判定された場合に、前記輪郭抽出部によって抽出された輪郭の内部領域にある各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更し、前記認識対象画像判定部によって所定の条件を満たす認識対象画像でないと判定された場合に、前記輪郭抽出部によって抽出された輪郭を構成する各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更することを特徴とする。
【００２４】
認識対象画像が所定の条件を満たすか否かは、認識対象画像から所定の情報を読み出せるか否かに基づいて判定してもよい。
【００２５】
本発明によれば、認識対象画像の抽出が行われた領域からは所定の条件を満たす画素情報を持つ画素を再び検出しないようにすることができ、処理負担の軽減が可能になる。また画像データに認識対象画像と同じ形状の画像がある場合であっても、このような画像を効果的に除去し、正規の認識対象画像のみを確実に抽出することができる。
【００２６】
（６）本発明に係るプログラム及び情報記憶媒体では、前記画像データに対して二値化処理を行う二値化処理部としてコンピュータを機能させ、前記輪郭抽出部は、前記二値化処理部により二値化処理が行われた画像データから前記輪郭を抽出することを特徴とする。
【００２７】
本発明によれば、二値化処理が行われた画像データを用いることにより、処理の簡略化や処理負担の軽減が可能になる。
【００２８】
（７）本発明に係るプログラム及び情報記憶媒体では、前記画像データに対して微分処理を行う微分処理部と、前記微分処理部によって微分処理が行われた画像データに対して、着目画素とその周辺に配置された周囲画素の画素情報を平均化して着目画素の新たな画素情報とするぼかし処理を行うぼかし処理部としてコンピュータを機能させ、前記二値化処理部は、前記ぼかし処理部によってぼかし処理が行われた画像データに対して二値化処理を行うことを特徴とする。
【００２９】
本発明によれば、画像データに対して微分処理、ぼかし処理、二値化処理を行うことにより、照明ムラ、照明不足やカメラの性能に起因するノイズを抑制し、輪郭抽出処理以降の処理に適した画像データを得ることができる。
【発明を実施するための最良の形態】
【００３０】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３１】
図１に本実施形態の画像認識装置を適用したゲームシステムの機能ブロック図の例を示す。なお本実施形態のゲーム装置は図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３２】
撮像部１５０は、認識対象物を撮像するためのものであり、その機能は撮像素子としてＣＣＤが用いられたカメラなどにより実現できる。また撮像部１５０は、撮像範囲の各座標の画素に対応するグレースケールの階調データ（画素情報）の集合である画像データを処理部１００に出力する処理を行う。
【００３３】
図２（Ａ）は撮像部１５０による認識対象物の撮像について説明するための図である。撮像部１５０はプレーヤによってステージ１２に並べられた複数のカード１４（認識対象物）をステージ１２の下方から撮像する。ステージ１２は撮像部１５０がカード１４を撮像できるように透明なガラス板等からなる。
【００３４】
図２（Ｂ）は本実施形態において認識対象物となるカードについて説明するための図である。カード１４の裏面（ステージ１２に接する面）には各カードを識別するための模様１６が印刷されている。また模様１６の周囲には所定幅の空白部分１８が設けられている。本実施形態では複数のカード１４を撮像した画像データから各カード１４に表された模様１６の外縁の形状（長方形）を判定し、模様１６の領域（空白部分１８で囲まれた領域）に対応する画像データを認識対象画像として抽出する処理を行う。
【００３５】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、方向指示キー、或いはボタンなどにより実現できる。
【００３６】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００３７】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、メモリーカード、ハードディスク、或いはメモリー（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００３８】
ディスプレイ１９０は、本実施形態により生成された画像を表示出力するためのものである。
【００３９】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４０】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲームシステムなどがある。
【００４１】
通信部１９６は外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４２】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４３】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム演算処理、画像生成処理、或いは音生成処理などを行う。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４４】
処理部１００は、ゲーム演算部１１０、画像生成部１３０、音生成部１４０を含む。
【００４５】
ゲーム演算部１１０は、ゲーム画像やゲーム音を生成するためのゲーム演算処理を行う。ここでゲーム演算処理としては、ゲームの内容やゲームモードを決定する処理、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲームプレイにより変化するゲームパラメータを演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００４６】
ゲーム演算部１１０は、画像認識部１２０を含む。画像認識部１２０は、撮像部１５０によって出力される画像データからカードの模様部分に対応する画像データを認識対象画像として抽出し、抽出した認識対象画像から撮像されたカードの識別情報や位置等を取得する処理を行う。そしてゲーム演算部１１０は、取得したカードの識別情報や位置情報等に基づきゲーム演算を行う。
【００４７】
画像認識部１２０は、微分処理部１２１、ぼかし処理部１２２、二値化処理部１２３、輪郭抽出部１２５、輪郭判定部１２６、画素情報変更部１２７、認識対象画像抽出部１２８、認識対象画像判定部１２９を含む。
【００４８】
微分処理部１２１は、撮像部１５０から出力される画像データに対して、着目画素とその周囲の画素の階調データ（画素情報）を用いた２次微分処理を行う。
【００４９】
図３は、２次微分処理を行う際に用いられる３×３の２次微分オペレータの具体例を示す図である。本実施形態では、中央の着目画素に重み付け係数「８」が、８個の隣接画素のそれぞれに重み付け係数「−１」が設定されており、これらの各画素に重み付け係数を乗算した値を合計した後に所定の利得（例えば１）を乗算することにより、この着目画素に対応する２次微分データが得られる。なお、周囲に８個の隣接画素が存在しない外周部分の着目画素については、各着目画素と同じ階調データの隣接画素が存在するものとして計算を行うようにしてもよいし、外周部の各画素については２次微分処理を行わないようにしてもよい。
【００５０】
ぼかし処理部１２２は、微分処理部１２１によって２次微分処理が行われた２次微分データに対して、着目画素とその周囲の画素の２次微分データを用いたぼかし処理を行う。
【００５１】
図４は、ぼかし処理において用いられるぼかしフィルタの具体例を示す図である。本実施形態では、中央の着目画素とその周囲の８個の隣接画素のそれぞれに同じ重み付けがなされている。具体的には、着目画素と８個の隣接画素のそれぞれの２次微分データに係数値「１」を乗算した値を合計した後に所定の利得（例えば１／９）を乗算することにより、この着目画素の新たな２次微分データが得られる。すなわち、着目画素を含む９画素分の階調データを平均化するぼかし処理が行われる。なお、周囲に８個の隣接画素が存在しない外周部分の着目画素については、この着目画素と同じ階調データの隣接画素が存在するものとして計算が行われる。またこのぼかし処理は複数回適用してもよい。
【００５２】
二値化処理部１２３は、ぼかし処理部１２２から出力される新たな２次微分データを所定の閾値ＳTHと比較することにより、二値データに変換する。２次微分データ＞ＳTHの場合には、二値データ＝１に設定される。また、２次微分データ≦ＳTHの場合には、二値データ＝０に設定される。
【００５３】
尚、ぼかし処理部１２２から出力される新たな２次微分データについて、符号なし整数へ型変換（キャスト）を行って上記二値化処理を行ってもよい。符号なし整数への型変換を行うことにより、新たな２次微分データのマイナス値をプラスの最大値付近にすることができ、二値化処理後の画像のコントラストを高めることができる。
【００５４】
図５は、上述した微分処理部１２１、ぼかし処理部１２２、二値化処理部１２３による処理の内容を説明するための図である。図５（Ａ）に示すように画素の色が白から黒、そして黒から白へと変化する２つの境界部分についての画像データに対して、図３に示す２次微分オペレータを用いて２次微分処理を行うと、図５（Ｂ）に示す形状に対応する２次微分データが得られる。この２次微分データに対して図４に示すぼかしフィルタを３回適用すると、図５（Ｃ）に示す形状に対応する新たな２次微分データが得られる。このぼかし処理された２次微分データを符号なし整数にキャストすると図５（Ｄ）に示すように境界部分のマイナス値がプラスの最大値付近になった２次微分データが得られる。このキャストされた２次微分データを閾値ＳTH＝０として二値化処理を行うと、図５（Ｅ）に示すような境界部分が強調された二値データを得ることができる。また図５（Ａ）では白から黒、黒から白へと変化する形状がゆるやかな右肩上がりになっているが、このような照明ムラによる影響を排除して最終的に正確な二値データを得ることができる。二値化処理後の二値データと図５（Ａ）に示す当初の画像データとを比較すると画素の色が白黒反転しているのがわかる。
【００５５】
図６は二値化処理が行われた画像（二値化画像）の具体例を示す図である。図６において、各正方形領域が各画素に対応している。また、ハッチングが付された領域の画素が二値データ（画素情報）＝０の画素であり、それ以外の領域が二値データ（画素情報）＝１の画素である。なお、図６に示した二値化画像は、二値化処理および後述する輪郭抽出処理の説明を簡略化するために画素数を減らした場合であって、一例として１枚のカード１４がステージ１２上に並べられた場合が示されている。尚この例ではカード１４だけでなくカード以外の画像も混ざっている。以下では、二値データ＝１の画素を「白画素」、二値データ＝０の画素を「黒画素」と称して説明を行うものとする。
【００５６】
輪郭抽出部１２５は、二値化画像を構成する各画素を所定の順番でスキャンして最初に到達する白画素を検出し、この白画素に隣接する他の白画素を最初の白画素に戻ってくるまで順番に辿る（トレースする）ことにより、隣接する白画素からなる画素群の輪郭を抽出する処理を行う。
【００５７】
図７は、輪郭抽出処理の具体例を示す図である。図７に示した例では、スキャン開始点ＳＳが二値化画像の左上に設定されており、右方向に順番に各画素のスキャンが行われ、最終的に右下のスキャン終了点ＳＥで終了する。輪郭抽出部１２５は、このようなスキャン動作において、最初に検出した白画素をトレース開始点ＴＳ１として抽出し、図７の実線の矢印で示した順番に、再びこのトレース開始点ＴＳに到達するまで白画素を辿っていく処理を行う。
【００５８】
以下、輪郭抽出処理の詳細について説明する。まず、輪郭抽出部１２５は、その時点における白画素の位置を中心にその周囲の８画素を調べ、次に辿るべき白画素の位置を決定する。
【００５９】
図８は、上述した輪郭抽出処理において次の白画素を決定する手法を説明するための図である。図８において、「Ｃ」は現在の着目画素（白画素）を、「Ｐ」は現在の画素に至る直前の画素（白画素）の位置をそれぞれ示している。また、「１」〜「８」のそれぞれの数字は、次に辿っていく白画素の選択の優先順番を示している。例えば、直前の白画素が現在の着目画素の真上に位置する場合には、左上、左、左下、下、右下、右、右上、上の各画素を順番に見ていって、最初に現れる白画素が、次に辿るべき白画素として決定される。但し、直前の白画素がどの位置にあった場合であっても、「１」に対応する画素が、次に辿る白画素となることはないため、実際には最も多い場合であっても「２」〜「８」の７個の画素を調べればよい。
【００６０】
このようにして、トレース開始点ＴＳ１から順番に白画素を辿っていく処理が一巡すると、輪郭抽出部１２５は、順番に辿った各白画素の座標値に基づいて輪郭を抽出したことになる。
【００６１】
さらに輪郭抽出部１２５は、後述する画素情報変更部１２７によって輪郭を構成する各白画素を黒画素に変更する処理が行われた後、または輪郭の内部領域にある各画素を黒画素に変更する処理が行われた後に、トレース開始点ＴＳ１の右隣の画素（次のスキャン対象画素）から輪郭抽出処理を再開させる。
【００６２】
図９〜図１２は、輪郭抽出処理の流れについて説明するための図である。図９では、図７において抽出された輪郭の軌跡の形状が所定の形状でないと判定されたために、後述する画素情報変更部１２７によって、トレース開始点ＴＳ１から始まる輪郭を構成していた白画素が黒画素に変更されている。輪郭抽出部１２５は、トレース開始点ＴＳ１の右隣の画素からスキャン動作を再開し、次に検出した白画素をトレース開始点ＴＳ２として抽出し、実線の矢印で示した順番に白画素を辿っていく処理を行い、辿った各白画素の座標値に基づいて輪郭を抽出する処理を行う。
【００６３】
図１０では、図９において抽出された輪郭の軌跡の形状が所定の形状でないと判定されたために、後述する画素情報変更部１２７によって、トレース開始点ＴＳ２から始まる輪郭を構成していた白画素が黒画素に変更されている。輪郭抽出部１２５は、トレース開始点ＴＳ２の右隣の画素からスキャン動作を再開し、次に検出した白画素をトレース開始点ＴＳ３として抽出し、実線の矢印で示した順番に白画素を辿っていく処理を行い、辿った各白画素の座標値に基づいて輪郭を抽出する処理を行う。
【００６４】
図１１では、図１０において抽出された輪郭の軌跡の形状が所定の形状でないと判定されたために、後述する画素情報変更部１２７によって、トレース開始点ＴＳ３から始まる輪郭を構成していた白画素が黒画素に変更されている。輪郭出部１２５は、トレース開始点ＴＳ３の右隣の画素からスキャン動作を再開し、次に検出した白画素をトレース開始点ＴＳ４として抽出し、実線の矢印で示した順番に白画素を辿っていく処理を行い、辿った各白画素の座標値に基づいて輪郭を抽出する処理を行う。
【００６５】
図１２では、図１１において抽出された輪郭の軌跡の形状が所定の形状であり、かつ正規の認識対象画像であると判定されたために、認識対象画像の抽出後、後述する画素情報変更部１２７によって輪郭の内部領域にある各画素が黒画素に変更されている。輪郭抽出部１２５は、トレース開始点ＴＳ４の右隣の画素からスキャン動作を再開し、スキャン終了点ＳＥまでスキャンして終了する。
【００６６】
輪郭判定部１２６は、輪郭抽出部１２５によって抽出された輪郭の軌跡の形状が所定の形状であるか否かを判定する処理を行う。本実施形態では、認識対象画像としてカード１２に印刷された模様１６を抽出するために、前記輪郭の軌跡の形状が長方形であるか否かを判定する。ここで長方形であるか否かの判断は、前記輪郭を構成する画素列に含まれる長方形の頂点を検出することにより行う。
【００６７】
以下、形状を判定する処理の詳細について説明する。輪郭判定部１２６は、輪郭抽出部１２５によって抽出された輪郭に沿って所定の長さＬの部分画素列を移動させながら、この部分画素列の頭部（先頭部分）と尾部（末尾部分）のそれぞれに対応するように設定された２つのベクトルの内積値ＩＰの計算を行う。
【００６８】
図１３は、輪郭に沿って移動する部分画素列の具体例を示す図である。例えば長さＬ＝１０とすると、輪郭に沿った１０個の画素からなる部分画素列が生成される。また、この部分画素列の頭部と尾部のそれぞれには、所定の長さＭの２つのベクトルＡ、Ｂ（頭部のベクトルＡをＶＡ、尾部のベクトルＢをＶＢとする）が設定されている。例えば長さＭ＝３とすると、ＶＡは、部分画素列の先頭の画素を終点とし、３個目の画素を始点とする向きを有する。また、ＶＢは、部分画素列の最後尾の画素を始点とし、後ろから３個目の画素を終点とする向きを有する。
【００６９】
ところで、ＶＡとＶＢのそれぞれは以下のように表すことができる。
【００７０】
ＶＡ＝（ＶＡのＸ成分の差，ＶＡのＹ成分の差）
＝（ｖａｘ，ｖａｙ）
ＶＢ＝（ＶＢのＸ成分の差，ＶＢのＹ成分の差）
＝（ｖｂｘ，ｖｂｙ）
したがって、ＶＡとＶＢの内積値ＩＰは、
ＩＰ＝ＶＡ・ＶＢ＝ｖａｘ×ｖｂｘ＋ｖａｙ×ｖｂｙ
となる。輪郭判定部１２６は、この内積値ＩＰと所定の閾値ＴIPとを比較し、｜ＩＰ｜≦ＴIPの場合には、ＶＡとＶＢとのなす角ががほぼ直角であって、長方形の頂点が部分画素列に含まれていると判断し、｜ＩＰ｜＞ＴIPの場合には長方形の頂点が部分画素列に含まれていないと判断する。
【００７１】
なお、正確には、ＶＡとＶＢとのなす角θはarccos（ＩＰ／（｜ＶＡ｜×｜ＶＢ｜））の式で計算されるため、ベクトルの長さを計算したり、除算等を行う必要があるが、ＶＡ、ＶＢについて考えた場合にはベクトルの長さは２から２√２までの範囲に含まれることがわかっているので、本実施形態ではＴIPの値を２とすることにより、これらの面倒な計算を省略している。
【００７２】
このようにして、部分画素列を輪郭に沿って移動させることにより長方形の頂点を検出し、部分画素列を輪郭に沿って一周移動する間に４つの長方形の頂点を検出した場合に輪郭の軌跡の形状が長方形であると判定し、それ以外の場合には輪郭の軌跡の形状が長方形でないと判定する。
【００７３】
認識対象画像抽出部１２８は、輪郭判定部１２６によって輪郭の軌跡の形状が長方形であると判定された場合に、当該輪郭の内部領域にある各画素に対応する二値データを認識対象画像として抽出する処理を行う。
【００７４】
認識対象画像判定部１２９は、認識対象画像抽出部１２８によって抽出された認識対象画像が所定の条件を満たす認識対象画像であるか（正規の認識対象画像であるか）否かを判定する処理を行う。ここで抽出された認識対象画像（輪郭の内部領域にある各画素に対応する二値データ）からカードの識別情報等を読み取れる場合に、正規の認識対象画像であると判定してもよい。
【００７５】
画素情報変更部１２７は、輪郭判定部１２６によって輪郭の軌跡の形状が長方形でないと判定された場合に、当該輪郭を構成する各白画素を黒画素に変更する処理を行う。ここで黒画素への変更は、輪郭抽出部１２５が順番に辿った各白画素に対応する二値データを０に設定することにより行う。
【００７６】
また画素情報変更部１２７は、認識対象画像判定部１２９によって所定の条件を満たす認識対象画像である（正規の認識対象画像である）と判定された場合に、輪郭抽出部１２５によって抽出された輪郭の内部領域にある各画素を黒画素に変更する処理を行う。例えば、図１４に示すように輪郭を構成する各白座標のＸ座標の最小値Ｘｍｉｎと最大値Ｘｍａｘと、Ｙ座標の最小値Ｙｍｉｎと最大値Ｙｍａｘを抽出し、ＹｍｉｎからＹｍａｘまでの各Ｙ座標について、対応するＸｍｉｎからＸｍａｘまでの各画素に対応する二値データを０に設定する。
【００７７】
また画素情報変更部１２７は、認識対象画像判定部１２９によって所定の条件を満たす認識対象画像でない（正規の認識対象画像でない）と判定された場合に、輪郭抽出部１２５によって抽出された輪郭を構成する各白画素を黒画素に変更する処理を行う。
【００７８】
画像生成部１３０は、処理部１００で行われる種々の処理（ゲーム処理、画像認識処理）の結果に基づいて描画処理を行い、ディスプレイ１９０に出力する。この場合、画像生成部１３０が生成する画像は、いわゆる２次元画像であってもよいし、３次元画像であってもよい。
【００７９】
音生成部１４０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００８０】
図１５は本実施形態の処理の一例について説明するためのフローチャート図である。ここでは、二値化処理部１２３によって二値化処理が行われた後の処理について説明する。
【００８１】
二値化処理部１２３によって得られた二値化画像を構成する各画素のスキャンを開始し、全画素をスキャンしたか否かを判定する（ステップＳ１１０）。全画素をスキャンしていなければ次の画素をスキャンする（ステップＳ１２０）。スキャンした画素の画素情報が所定の画素条件を満たすか（白画素であるか）否か判断し（ステップＳ１３０）、満たさなければ（黒画素であれば）ステップＳ１１０に戻る。
【００８２】
スキャンした画素の画素情報が所定の画素条件を満たせば（白画素であれば）、当該画素をトレース開始点として抽出し、トレース開始点から再びトレース開始点に到達するまで順番に所定の画素条件を満たす画素情報をもつ画素（白画素）をトレースする（ステップＳ１４０）。次にトレースした各画素（各白画素）の座標値に基づき輪郭を抽出する（ステップＳ１５０）。次に抽出した輪郭の頂点を検出し、検出した頂点に基づき輪郭の軌跡の形状が所定の形状（長方形）であるか否か判定する（ステップＳ１６０）。輪郭の軌跡の形状が所定の形状（長方形）でなければ、輪郭を構成する画素（トレースした白画素）の画素情報を所定の画素条件を満たす画素情報以外の画素情報（二値データ＝０）に変更する処理を行い（ステップＳ１７０）、ステップＳ１１０に戻る。
【００８３】
抽出した輪郭の軌跡の形状が所定の形状（長方形）であれば、輪郭の内部領域にある各画素に対応する二値データを認識対象画像として抽出する処理を行う（ステップＳ１８０）。次に抽出した認識対象画像が正規の認識対象画像であるか否か判定する（ステップＳ１８５）。正規の認識対象画像でなければステップＳ１７０の処理を行い、ステップＳ１１０に戻る。
【００８４】
抽出した認識対象画像が正規の認識対象画像であると判定された場合には、抽出した認識対象画像からカードの識別番号、位置等を取得する処理を行う（ステップＳ１９０）。次に輪郭の内部領域にある各画素の画素情報を所定の画素条件を満たす画素情報以外の画素情報（二値データ＝０）に変更する処理を行い（ステップＳ２００）、ステップＳ１１０に戻る。そして全ての画素をスキャンした場合に処理を終了する。
【００８５】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【図面の簡単な説明】
【００８６】
【図１】本実施形態の画像認識装置を適用したゲームシステムの機能ブロック図の例。
【図２】撮像部による認識対象物の撮像について説明するための図。
【図３】２次微分処理を行う際に用いられる３×３の２次微分オペレータの具体例
【図４】ぼかし処理において用いられるぼかしフィルタの具体例。
【図５】微分処理部、ぼかし処理部、二値化処理部による処理の内容を説明するための図。
【図６】二値化処理が行われた画像（二値化画像）の具体例。
【図７】輪郭抽出処理の具体例。
【図８】輪郭抽出処理において次の白画素を決定する手法を説明するための図。
【図９】輪郭抽出処理の流れについて説明するための図。
【図１０】輪郭抽出処理の流れについて説明するための図。
【図１１】輪郭抽出処理の流れについて説明するための図。
【図１２】輪郭抽出処理の流れについて説明するための図。
【図１３】輪郭に沿って移動する部分画素列の具体例。
【図１４】画素情報変更処理の具体例。
【図１５】本実施形態の処理の一例について説明するためのフローチャート図。
【符号の説明】
【００８７】
１００  処理部
１１０  ゲーム演算部
１２０  画像認識部
１２１  微分処理部
１２２  ぼかし処理部
１２３  二値化処理部
１２５  輪郭抽出部
１２６  輪郭判定部
１２７  画素情報変更部
１２８  認識対象画像抽出部
１２９  認識対象画像判定部
１３０  画像生成部
１４０  音生成部
１６０  操作部
１７０  記憶部
１８０  情報記憶媒体
１９０  ディスプレイ
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
2008003765.tif 000003
【図２】
2008003765.tif 000004
【図３】
2008003765.tif 000005
【図４】
2008003765.tif 000006
【図５】
2008003765.tif 000007
【図８】
2008003765.tif 000008
【図１３】
2008003765.tif 000009
【図１５】
2008003765.tif 000010
【図６】
2008003765.tif 000011
【図７】
2008003765.tif 000012
【図９】
2008003765.tif 000013
【図１０】
2008003765.tif 000014
【図１１】
2008003765.tif 000015
【図１２】
2008003765.tif 000016
【図１４】
2008003765.tif 000017