説明

プログラム、情報記憶媒体及び輪郭内領域認識装置

【課題】閉じた線であるべき輪郭線が閉じていない場合に、そのオブジェクト領域を適切に認識すること。
【解決手段】領域外部分判定部211aは、回答画像を包囲する上下左右の各側方から走査を行ってその走査線分長を算出・補正し、当該算出・補正した走査線分長の走査線によって占められた部分を、顔領域でない領域外部分と判定する。そして、オブジェクト領域認識部211は、領域外部分以外の領域を顔領域として識別する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識させるためのプログラム等に関する。
【背景技術】
【0002】
図形や絵柄を描画する機能を備えた装置として、閉図形が作図された際にその輪郭線が閉じているかどうかの判定を行い、閉じていない輪郭線部分を探して修正するものが知られている(特許文献1参照。)。
【特許文献1】特開平9−128558号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、前述の特許文献1の技術には、閉図形の閉じていない箇所を自動的に繋げるとする記載が開示されているが、繋げるための具体的な手法が開示されていないため繋ぎ方の手法として参考になるものではなかった。ましてや、閉じていない輪郭線に基づいて当該閉図形の領域(オブジェクト領域)を適切に認識したい場合には、特許文献1は参考になるものではなかった。
【0004】
そこで本発明は、閉じた線であるべき輪郭線が閉じていない場合に、そのオブジェクト領域を適切に認識することを目的とする。
【課題を解決するための手段】
【0005】
以上の課題を解決するための第1の発明は、コンピュータに、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識させるためのプログラム(例えば、図6のゲームプログラム610)であって、
前記輪郭線の側方に基線を設定する基線設定手段(例えば、図6のオブジェクト領域認識部211)、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段(例えば、図6の領域外部分判定部211a)、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段(例えば、図6の領域外部分判定部211a)、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段(例えば、図6の領域外部分判定部211a)、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段(例えば、図6の領域外部分判定部211a)、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段(例えば、図6のオブジェクト領域認識部211)、
として前記コンピュータを機能させるためのプログラムである。
【0006】
また他の発明として、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識する輪郭内領域認識装置(例えば、図6のゲーム装置1)であって、
前記輪郭線の側方に基線を設定する基線設定手段と、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段と、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段と、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段と、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段と、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段と、
を備えた輪郭内領域認識装置が考えられる。
【0007】
斯かる第1の発明等によれば、オブジェクトの輪郭線の側方に設定した基線から前記輪郭線に接触するまで走査した走査線の長さを算出するとともに、近隣の走査線の長さの変化に基づいて、前記算出した走査線の長さを基線側を固定点として補正する。そして、走査線によって占められた部分をオブジェクト領域でない領域外部分と判定することによって、オブジェクト領域を識別することができる。したがって、閉じた線であるべき輪郭線が閉じていない場合であっても、そのオブジェクト領域を適切に認識することができる。
【0008】
また第2の発明は、第1の発明のプログラムであって、
前記基線設定手段が異なる複数の基線を設定し、該複数の基線それぞれに対して前記走査手段が走査及び走査線の長さ算出を行うとともに前記補正手段が走査線の補正を行い、前記領域外部分判定手段が該複数の基線それぞれについての領域外部分を判定し、前記オブジェクト領域識別手段が該判定された各領域外部分に基づいてオブジェクト領域を識別するように前記コンピュータを機能させるためのプログラムである。
【0009】
斯かる第2の発明によれば、異なる複数の基線それぞれについて算出・補正した長さの走査線によって占められた部分に基づいて、オブジェクト領域を識別することができる。
【0010】
そして、第3の発明は、コンピュータに、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識させるためのプログラム(例えば、図6のゲームプログラム610)であって、
前記輪郭線を包囲する基線を設定する基線設定手段(例えば、図6のオブジェクト領域認識部211)、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段(例えば、図6の領域外部分判定部211a)、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段(例えば、図6の領域外部分判定部211a)、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段(例えば、図6の領域外部分判定部211a)、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段(例えば、図6の領域外部分判定部211a)、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段(例えば、図6のオブジェクト領域認識部211)、
として前記コンピュータを機能させるためのプログラムである。
【0011】
また他の発明として、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識する輪郭内領域認識装置(例えば、図6のゲーム装置1)であって、
前記輪郭線を包囲する基線を設定する基線設定手段と、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段と、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段と、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段と、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段と、
を備えたゲーム装置が考えられる。
【0012】
斯かる第3の発明等によれば、オブジェクトの輪郭線を包囲する基線から前記輪郭線に接触するまで走査した走査線の長さを算出するとともに、近隣の走査線の長さの変化に基づいて、前記算出した走査線の長さを基線側を固定点として補正する。そして、走査線によって占められた部分をオブジェクト領域でない領域外部分と判定することによって、オブジェクト領域を識別することができる。したがって、閉じた線であるべき輪郭線が閉じていない場合であっても、そのオブジェクト領域を適切に認識することができる。
【0013】
第4の発明は、第1〜第3の何れかの発明のプログラムであって、
前記補正対象走査線検出手段が、前記走査された走査線の中から、連続して隣接する所定数の走査線のうちの最短の走査線の長さと最長の走査線の長さとの差が差分過大条件を満たす当該連続走査線群を検出し、検出した連続走査線群に含まれる走査線を補正すべき走査線として検出するように前記コンピュータを機能させるためのプログラムである。
【0014】
斯かる第4の発明によれば、連続して隣接する所定数の走査線のうちの最短の走査線の長さと最長の走査線の長さとの差をもとに連続走査線群を検出することで、長さを補正すべき走査線を検出することができる。
【0015】
そして、第5の発明は、第4の発明のプログラムであって、
前記補正対象走査線検出手段が、前記検出された連続走査線群に含まれる走査線のうち、所定位置の走査線を補正すべき走査線として検出するように前記コンピュータを機能させるためのプログラムである。
【0016】
斯かる第5の発明によれば、前記検出された連続走査線群に含まれる走査線のうち、所定位置の走査線を補正することができる。
【0017】
そして、第6の発明は、第4又は第5の発明のプログラムであって、
前記補正手段が、前記検出された連続走査線群中の最短の走査線の長さ、又は、当該連続走査線群の平均長になるように補正するように前記コンピュータを機能させるためのプログラムである。
【0018】
斯かる第6の発明によれば、前記検出された補正すべき走査線の長さを、前記検出された連続走査線群中の最短の走査線の長さ、又は当該連続走査線群の平均長に補正することができる。
【0019】
また第7の発明は、第1〜第6の何れかの発明のプログラムであって、
前記オブジェクト領域識別手段が、
前記領域外部分判定手段により判定された領域外部分以外の領域をオブジェクト領域として識別する識別手段(例えば、図6のオブジェクト領域認識部211)と、
前記識別手段により識別されたオブジェクト領域に挟まれた領域外部分をオブジェクト領域として補完的に識別する第1の補完識別手段(例えば、図6のオブジェクト領域認識部211)と、
を有するように前記コンピュータを機能させるためのプログラムである。
【0020】
斯かる第7の発明によれば、第1の補完識別手段によって、領域外部分のうちのオブジェクト領域に挟まれた領域外部分をオブジェクト領域として識別することができる。
【0021】
また第8の発明は、第7の発明のプログラムであって、
前記オブジェクト領域識別手段が、前記識別手段又は前記第1の補完識別手段により識別されたオブジェクト領域と、前記輪郭線とに挟まれた領域外部分をオブジェクト領域として補完的に識別する第2の補完識別手段(例えば、図6のオブジェクト領域認識部211)を有するように前記コンピュータを機能させるためのプログラムである。
【0022】
斯かる第8の発明によれば、前記第1の補完識別手段によってオブジェクト領域として補完的に識別された領域外領域と輪郭線とに挟まれた領域外部分をオブジェクト領域として識別することができる。
【0023】
また第9の発明は、第1〜第8の何れかの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体(例えば、図1に示すカートリッジ50)である。
【0024】
斯かる第9の発明によれば、コンピュータに、情報記憶媒体からプログラムを読み出させて演算処理させることによって、第1〜第8の何れかの発明と同様の作用効果を奏する情報記憶媒体を実現することができる。
【発明の効果】
【0025】
本発明によれば、オブジェクトの輪郭線の側方に設定した基線から前記輪郭線に接触するまで走査した走査線の長さを算出するとともに、近隣の走査線の長さの変化に基づいて、前記算出した走査線の長さを基線側を固定点として補正する。そして、走査線によって占められた部分をオブジェクト領域でない領域外部分と判定することによって、オブジェクト領域を識別することができる。したがって、閉じた線であるべき輪郭線が閉じていない場合であっても、そのオブジェクト領域を適切に認識することができる。
【発明を実施するための最良の形態】
【0026】
以下、図面を参照し、本発明を適用したゲーム装置について詳細に説明する。尚、本実施形態は、手本を模して絵柄を手書き入力する「お絵かきゲーム」に関する実施形態である。
【0027】
[概要]
図1は、ゲーム装置1の装置構成の一例を示す図である。図1に示すゲーム装置1は、上側の筐体10と下側の筐体20とがヒンジ30を介して開閉可能に連結されて構成された折り畳み式の携帯型ゲーム機であり、同図において、使用時であるゲーム装置1の開状態を示している。
【0028】
各筐体10,20の内側面には、使用時においてヒンジ30を挟んで上下に並ぶように配置された2つのディスプレイ300a,300bやスピーカ11、各種の操作ボタン21等が設けられている。尚、以下では、使用時に上側となるディスプレイ300aを「上画面300a」、下側となるディスプレイ300bを「下画面300b」という。
【0029】
下画面300bには、その表示領域全体に亘ってタッチパネル(図示略)が一体的に形成されており、タッチパネルは、感圧式や光学式、静電式、電磁誘導式等の検出原理によって、タッチ操作位置を、下画面300bを構成するドット単位で検出する。プレーヤは、付属のスタイラスペン40や手指による下画面300b上のタッチ操作によって、各種の操作入力を行うことができる。
【0030】
このゲーム装置1では、ゲーム処理を実行するために必要なプログラムやデータ等を格納する情報記憶媒体として、筐体20の側面に設けられたスロット23に着脱自在なカートリッジ50が用いられる。
【0031】
そしてゲーム装置1は、不図示であるが、CPUやICメモリ類を搭載した制御ユニット、カートリッジ50の読取装置等を内蔵しており、カートリッジ50から読み出したプログラムやデータ、タッチパネルにより検出されたタッチ操作位置や操作ボタン21から入力される操作信号等に基づいて種々のゲーム処理を実行し、ゲーム画面の画像信号及びゲーム音の音信号を生成する。生成したゲーム画面の画像信号は上画面300aや下画面300bに表示出力され、ゲーム音の音信号はスピーカ11から音出力される。
【0032】
本実施形態では、ゲーム装置1は、「顔」の絵柄を出題画像として上画面300aに表示させて問題を出題するとともに、下画面300bにおいて回答入力エリアを指示し、回答画像の入力を受け付ける。そして、下画面300bに手書き入力された回答画像中の顔の領域を認識し、例えば認識した顔領域を肌色で色付けする等してゲームを進行していく。プレーヤは、下画面300b上のタッチ操作によって回答画像を手書き入力して回答を行い、お絵かきゲームを楽しむ。
【0033】
図2は、ゲーム画面の一例を示す図であり、上画面300aに表示される出題画面を上段に示し、下画面300bに表示される回答入力画面を下段に示している。
【0034】
図2では、上画面300aの出題画面において、顔の輪郭を表す閉じた輪郭線L1内に、「目」や「口」が配置された顔画像が出題画像として表示されている。
一方下画面300bの回答入力画面では、例えば、問題の出題時において回答入力エリアAを指示し、プレーヤの回答を促す。そして、図2に示すように、回答入力エリアA内でスタイラスペン40によりタッチ操作されたドットの集合体が回答画像として表示されるようになっている。完成ボタンBTNをタッチ操作したならば回答画像が確定され、顔領域内を色付けするための前処理としてオブジェクト領域認識処理が行われ、当該回答画像中の顔領域が認識される。このオブジェクト領域認識処理では、図2に示す回答画像中の破線で示す部分A1のように、閉じた線であるべき輪郭線L3が閉じていない場合を想定して顔領域が認識される。
【0035】
[オブジェクト領域認識処理の原理]
ここで、オブジェクト領域認識処理の原理について図3〜図5を参照して説明する。以下本実施形態では、回答入力エリアAを、横(X方向)に25ドット、縦(Y方向)に25ドット備えた領域とし、各列を「X1」「X2」・・・「X25」、各行を「Y1」「Y2」・・・「Y25」と表す。また、図3〜図5では、説明を簡明にするため、顔の輪郭線のみを回答画像として図示している。
【0036】
オブジェクト領域認識処理では、先ず、回答入力エリアAの上辺、下辺、左辺、及び右辺の各辺をそれぞれ基線とした領域外部分判定処理が行われる。具体的には、先ず走査線分長を算出する走査処理(1)が行われ、次いで算出した走査線分長を補正する補正処理(2)が行われる。
【0037】
(1)走査処理
走査処理では、基線と直交する方向を走査方向とし、基線側の各ドットそれぞれを基点とした走査方向への走査を行う。そして、回答画像を構成するドットと接触するまでの走査の線分を走査線として、走査線分長を算出する。回答画像を構成するドットと接触しない場合には、対向する辺まで走査が行われ、走査線分長が算出されるようになっている。
【0038】
図3は、回答入力エリアAの下辺を基線とした走査処理について説明するための図である。下辺を基線とした場合には、下辺と直交する方向(Y方向)を走査方向とし、下辺側の各ドットそれぞれを基点としたY軸に沿って下から上方向への走査を行って走査線分長を算出する。
【0039】
例えば、列「X1」の下辺側のドットD11を基点とした走査では、回答画像を構成するドットとは接触しないため対向する上辺側のドットD12まで走査が行われ、走査線分長は「25」と算出される。
一方、列「X10」の下辺側のドットD13を基点とした走査では、回答画像を構成するドットD14と接触するまで走査が行われ、走査線分長は“3”と算出される。
また、列「X15」の下辺側のドットD15を基点とした走査では、回答画像を構成するドットD16と接触するまで走査が行われ、走査線分長は“22”と算出される。
【0040】
このように算出される走査線分長は、輪郭線が閉じていないところで大きく変化することがわかる。例えば、閉じていない輪郭線部分である列「X15」の走査線分長が“22”であるのに対し、隣接する列「X14」の走査線分長は“4”と大きく異なる。一方、閉じている輪郭線部分である列「X10」の走査線分長は“3”であり、例えば隣接する列「X9」の走査線分長“4”との差は小さい。続く補正処理では、近隣の走査線分長の変化に基づいて長さを補正すべき走査線を検出し、当該検出した走査線の走査線分長を、基線側を固定点として補正する。
【0041】
(2)補正処理
補正処理では、各走査線それぞれを補正対象として次の処理を実行する。すなわち先ず、補正対象の走査線を中心として連続する所定数本の走査線(例えば5本の走査線)を、連続走査線群として選択する。次いで、選択した連続走査線群に含まれる最短の走査線分長(最短線分長)と最長の走査線分長(最長線分長)との差が差分過大条件を満たすか否かを判定する。具体的には、最短線分長と最長線分長との差が所定の閾値以上(例えば「10」以上)ならば、差分過大条件を満たすと判定する。差分過大条件を満たす場合には、基線側を固定点として当該補正対象の走査線の走査線分長を補正する。例えば、当該連続走査線群の最短線分長に置き換えて補正する。尚ここで、当該連続走査線群に含まれる走査線分長の平均長に置き換えて補正することとしてもよい。
【0042】
図4は、補正処理について説明するための図であり、同図(a)において、図3に示した走査処理の結果算出された走査線分長が補正される様子を示している。
【0043】
例えば、図4(a)に示すように、走査線分長が“22”である走査線L21(図3に示した閉じていない輪郭線部分である列「X15」の下辺側のドットD15を基点とした走査線)に着目すれば、当該走査線L21を基準とした5本の連続走査線群R21が選択される。そして、この連続走査線群R21の最短線分長“4”と最長線分長“22”との差分“18”によって前述の差分過大条件を満たすか否かが判定される。この場合には、差分過大条件を満たすので、走査線L21の走査線分長が、当該連続走査線群R21の最短線分長“4”に置き換えられて補正される。
【0044】
一方、走査線分長が“3”である走査線L23(図3に示した閉じている輪郭線部分である列「X10」の下辺側のドットD13を基点とした走査線)に着目すれば、当該走査線L23を基準とした5本の連続走査線群R23が選択される。この場合には、当該連続走査線群R23の最短線分長“3”と最長線分長“4”との差分は“1”であり、差分過大条件を満たさないため走査線分長は補正されない。
【0045】
尚、図3に示した列「X1」の下辺側のドットD11を基点とした走査線を補正対象とした場合等、補正対象の走査線を中心として連続する走査線を5本選択できない場合には、走査線分長が所定長(例えば、最大長である「25」)の走査線を仮想的に設定して連続走査線群とし、差分過大条件を満たすか否かを判定する。
【0046】
図4(b)は、上記した補正処理の結果を示す図である。図4(b)に示すように、補正処理の結果、近隣の走査線分長の変化に基づいて走査線分長が適宜補正される。例えば、閉じていない輪郭線部分である列「X15」〜「X17」に着目すれば、その走査線分長が下辺側を固定点としてそれぞれ補正されている。
【0047】
そして、回答入力エリアAの各辺それぞれを基線として以上説明した領域外部分判定処理を行ったならば、処理結果に基づいて回答画像中の顔領域(オブジェクト領域)でない部分(すなわち、顔の輪郭線の外側部分)が判定されて、顔領域が認識される。図5は、顔領域の認識結果を示す図である。具体的には、各辺それぞれを基線として前述のように算出・補正された走査線分長の走査線によって占められた部分が、顔領域でない領域外部分と判定される。そして、領域外部分以外の領域が、顔領域として識別される。
【0048】
[機能構成]
図6は、本実施形態におけるゲーム装置1の機能構成の一例を示すブロック図である。図6に示すように、ゲーム装置1は、入力部100と、処理部200と、表示部300と、音出力部400と、通信部500と、記憶部600とを備えて構成されている。
【0049】
入力部100は、ゲーム装置1を操作するプレーヤが各種のゲーム操作を入力するための装置であり、例えばボタンスイッチ、レバー、ダイヤル、キーボード、マウス、各種センサ等によって実現される。また入力部100は、タッチパネル110を含み、手指や専用のスタイラスペン等により指示されたタッチ操作位置の位置座標を処理部200に出力する。図1では、操作ボタン21や、下画面300bと一体的に形成されたタッチパネル(図示略)がこれに該当する。
【0050】
処理部200は、記憶部600に記憶されるプログラムやデータ等に基づいて、ゲーム装置1全体の制御、ゲーム装置1内の各機能部への指示やデータの転送、画像処理、音処理等の各種処理を行う。この処理部200の機能は、各種プロセッサ(CPU,DSP等)、ASIC(ゲートアレイ等)等のハードウェアや、所与のプログラムにより実現されるものである。
【0051】
この処理部200は、主な機能部として、ゲーム演算部210と、画像生成部230と、音生成部250とを含み、ゲーム画面を生成して上画面300aや下画面300bに表示出力させるとともに、適宜効果音やBGMを音出力部400から音出力させる。
【0052】
ゲーム演算部210は、入力部100から入力される操作信号、記憶部600から読み出したプログラムやデータ等に基づいてお絵かきゲームを実現するための種々のゲーム処理を実行し、処理結果を画像生成部230や音生成部250に出力する。
【0053】
またゲーム演算部210は、回答画像中のオブジェクト領域(本実施形態では顔領域)を認識するオブジェクト領域認識部211を含む。本実施形態では、オブジェクト領域認識部211は、回答画像中の顔領域を認識する。このオブジェクト領域認識部211は、上記した領域外部分判定処理を実行する領域外部分判定部211aを含む。
【0054】
画像生成部230は、例えば、CPUやDSP等のハードウェアやその制御プログラム、フレームバッファ等の描画フレーム用ICメモリ等によって実現される。この画像生成部230は、ゲーム演算部210による処理結果に基づいてゲーム画面を生成し、生成したゲーム画面の画像信号を上画面300a及び下画面300bに出力する。
【0055】
音生成部250は、例えば、CPUやDSP等のハードウェアやその制御プログラムによって実現される。この音生成部250は、ゲーム演算部210による処理結果に基づいて、ゲーム中に使用される効果音やBGM等のゲーム音を生成し、生成したゲーム音の音信号を音出力部400に出力する。
【0056】
表示部300は、画像生成部230から入力される画像信号に基づいてゲーム画面を表示するための装置であり、上画面300aと、表示領域に入力部100を構成するタッチパネル110が一体的に形成された下画面300bとを含む。
【0057】
音出力部400は、音生成部250から入力される音信号に基づいて効果音やBGMを音出力するための装置であり、図1ではスピーカ11がこれに該当する。
【0058】
通信部500は、通信回線を介して外部とのデータ通信を行う。この通信部500の機能は、例えば無線通信モジュール、ルータ、モデム、TA、有線用の通信ケーブルのジャックや制御回路等によって実現される。
【0059】
記憶部600には、処理部200にゲーム装置1を統合的に制御させるためのシステムプログラム、ゲームを実行させるために必要なプログラムやデータ等が格納される。この記憶部600の機能は、例えばICメモリやハードディスク、メモリカード等により実現されるものであり、図1では、カートリッジ50や図示しない制御ユニットに搭載されるICメモリがこれに該当する。
【0060】
特に、本実施形態を実現するため、処理部200をオブジェクト領域認識部211として機能させるためのオブジェクト領域認識プログラム611と、領域外部分判定部211aとして機能させるための領域外部分判定プログラム613とを含む。
【0061】
また、データとして、出題データ620と、回答画像データ630と、走査線データ640と、領域判定用データ650とを含む。
【0062】
出題データ620は、問題の出題に係る設定データを記憶する。本実施形態では、問題番号と対応付けられた出題画像(顔画像)の画像データが複数格納される。
【0063】
回答画像データ630は、出題してから回答終了操作(図2では完成ボタンBTNの押下操作に相当)が為されるまでの間に、回答入力エリアA内に手書き入力された回答画像の画像データを記憶する。
【0064】
走査線データ640は、基線となる回答入力エリアAの各辺毎に用意され、該当する基線側の各ドットを基点として算出・補正された走査線の走査線分長を記憶する。図7は、走査線データ640のデータ構成例を示す図である。図7に示すように、走査線データ640は、上記した走査処理の結果算出された走査線分長を保持する原走査線分長641と、補正処理の結果補正された走査線分長を保持する補正走査線分長643とを備える。
【0065】
領域判定用データ650は、回答画像中の顔領域を判定するためのデータを記憶する。図8は、領域判定用データ650の概念図であり、この領域判定用データ650は、回答入力エリアAを構成する各ドットそれぞれについて、領域外部分に属するドットなのか、顔領域に属するドットなのかを定義したものである。オブジェクト領域認識部211は、回答入力エリアAを構成するドットのうち、領域外部分判定処理の結果算出・補正された走査線分長の走査線によって占められた部分のドットに「1」を定義して、領域判定用データ650を生成する。
【0066】
[処理の流れ]
次に、図9及び図10を参照して、ゲーム装置1が実行する処理の流れについて説明する。尚ここで説明する処理は、処理部200がオブジェクト領域認識プログラム611、及び領域外部分判定プログラム613を含むゲームプログラム610を読み出して実行することにより実現されるものである。
【0067】
図9は、本実施形態におけるゲーム処理の流れを説明するためのフローチャートである。
ゲーム処理では、先ずゲーム演算部210が、出題データ620から出題画像を読み出して上画面300aに表示する制御を行う(ステップa10)。
【0068】
続いてゲーム演算部210は、下画面300bに回答入力エリアAを指示するための制御を行い、当該回答入力エリアA内でのタッチ操作位置に基づいて回答画像を入力する(ステップa20)。手書き入力された回答画像の画像データは、回答画像データ630として記憶部600内に保持される。
【0069】
回答終了操作が為されたならば、続いてオブジェクト領域認識処理に移り、オブジェクト領域認識部211が、回答画像中の顔領域を認識する(ステップa30)。図10は、オブジェクト領域認識処理の流れを説明するためのフローチャートである。
【0070】
オブジェクト領域認識処理では、先ず、回答入力エリアAの上辺、下辺、左辺、及び右辺の各辺それぞれを基線としてループAの処理が実行される(ステップb10〜ステップb140)。以下、ループAで処理の対象とする基線を「処理対象基線」という。
【0071】
ループAでは、先ず、処理対象基線側のドットそれぞれを基点としてループBの処理が実行される(ステップb20〜ステップb60)。以下、ループBで処理の対象とする基点を「走査対象基点」という。
【0072】
すなわち先ず、領域外部分判定部211aが、処理対象基線と直交する方向を走査方向とし、走査対象基点から走査方向への走査を行う(ステップb30)。具体的には、回答画像を構成するドットと接触するまで走査を行い、回答画像を構成するドットと接触しない場合には、対向する辺まで走査を行う。そして、領域外部分判定部211aは、ステップb30での走査の線分である走査線の走査線分長を算出する(ステップb40)。
【0073】
そして、領域外部分判定部211aは、ステップb40で算出した走査線分長を走査対象基点の原走査線分長641に設定し、処理対象基線用の走査線データ640を更新する(ステップb50)。
【0074】
処理対象基線側の全てのドットを走査対象としてループBの処理を実行したならば、続いてオブジェクト領域認識部211が、補正走査線分長643に原走査線分長641をコピーして初期化する(ステップb70)。
【0075】
そして、各走査線を補正対象としてループCの処理が実行される(ステップb80〜ステップb130)。以下、ループCで補正の対象とする走査線を「補正対象走査線」という。
【0076】
すなわち先ず、領域外部分判定部211aが、補正対象走査線を中心として連続する例えば5本の走査線を連続走査線群として選択する(ステップb90)。このとき、補正対象走査線を中心として連続する5本の走査線を選択できない場合には、走査線分長が所定長の走査線を仮想的に設定して連続走査線群とする。
【0077】
続いて領域外部分判定部211aは、処理対象基線用の走査線データ640を参照し、原走査線分長641からステップb90で選択した連続走査線群に含まれる走査線の走査線分長を読み出す。そして、領域外部分判定部211aは、当該連続走査線群に含まれる最短線分長と最長線分長との差が差分過大条件を満たすか否かを判定する。差分過大条件を満たすならば(ステップb100:YES)、領域外部分判定部211aは、処理対象基線側を固定点として、当該補正対象走査線の走査線分長を前述の最短線分長に置き換えて補正する(ステップb110)。
【0078】
そして、領域外部分判定部211aは、補正対象走査線の基点に対する補正走査線分長643をステップb110で補正した走査線分長に変更し、処理対象基線用の走査線データ640を更新する(ステップb120)。
【0079】
処理対象基線側の各ドットを基点とした全ての走査線を補正対象としてループCの処理を実行したならば、処理対象基線に係るループA内の処理を終了する。
【0080】
そして、回答入力エリアAの上下左右の各辺それぞれを基線としてループAの処理を実行したならば、続いてオブジェクト領域認識部211が、走査線データ640に設定されている補正走査線分長643に従って領域判定用データ650を生成する(ステップb150)。具体的には、回答入力エリアAを構成するドットのうち、補正走査線分長643に設定されている走査線によって占められた部分のドットに「1」を定義して領域判定用データ650を生成する。領域判定用データ650を生成したならば、本処理を終了する。
【0081】
図9に戻る。オブジェクト領域認識処理を実行したならば、続いて画像生成部230が、領域判定用データ650を参照して回答画像中の顔領域と認識された部分にペイント処理を施し、例えば肌色で色付けする(ステップa40)。ここで色付けされた回答画像は、下画面300bに表示される。
【0082】
続いてゲーム演算部210が、出題画像と回答画像との類似度を判定して回答画像を評価する処理を行い(ステップa50)、評価の結果を表示部300に表示させる(ステップa60)。尚、ステップa50における類似度の判定については、公知の技術を用いて実施するものとし、ここでの説明は省略する。
【0083】
そして、ゲーム演算部210は、ゲームの終了判定を行う。例えばプレーヤによる所定の終了操作が為された場合にはゲーム終了と判定し(ステップa70:YES)、本処理を終了する。
【0084】
一方、ゲームを終了しない場合には(ステップa70:NO)、ステップa10に戻って上記した処理が実行される。
【0085】
[ハードウェア構成]
次に、図11を参照して、本実施形態におけるゲーム装置1を実現するためのハードウェア構成の一例について説明する。図11に示す装置では、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、画像生成IC1010,1011、音生成IC1008、I/Oポート1012,1014,1015がシステムバス1016により相互にデータ入出力可能に接続されている。I/Oポート1012にはコントロール装置1022が、I/Oポート1014には通信装置1024が、I/Oポート1015にはタッチパネル1025が、それぞれ接続されている。
【0086】
CPU1000は、情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、装置全体の制御や各種データ処理を行う。
【0087】
RAM1004は、CPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002内の所与の内容、CPU1000の演算結果等が格納される。
情報記憶媒体1006は、プログラム、画像データ、音データ、プレイデータ等が主に格納されるものであり、情報記憶媒体として、ROM等のメモリやハードディスクや、CD−ROM、DVD、ICカード、磁気ディスク、光ディスク等が用いられる。
尚、このRAM1004及び情報記憶媒体1006は、図6に示す記憶部600に相当するものである。
【0088】
また、この装置に設けられている画像生成IC1010,1011と音生成IC1008により、音や画像の好適な出力が行えるようになっている。
【0089】
画像生成IC1010,1011は、CPU1000の命令によって、ROM1002、RAM1004、情報記憶媒体1006等から送られる情報に基づいて画素情報を生成する集積回路であり、画像生成IC1010によって生成される表示信号は表示装置1018に、画像生成IC1011によって生成される表示信号は表示装置1019に出力される。
【0090】
表示装置1018,1019は、LCDやELD、CRT、TV、プラズマディスプレイ、プロジェクター等により実現されるものであり、一方の表示装置1019の表示領域に、前述のタッチパネル1025が一体的に形成されている。尚、表示装置1018は図6に示す上画面300aに、表示装置1019は図6に示す下画面300bに、それぞれ相当するものである。
【0091】
また、音生成IC1008は、CPU1000の命令によって、情報記憶媒体1006やROM1002に記憶される情報、RAM1004に格納される音データに応じた音信号を生成する集積回路であり、生成される音信号はスピーカ1020によって出力される。尚、このスピーカ1020は、図6に示す音出力部400に相当するものである。
【0092】
コントロール装置1022及びタッチパネル1025は、プレーヤがゲームに係る操作を入力するための装置であり、コントロール装置1022の機能は、レバー、ボタン、筐体等のハードウェアにより実現される。尚、このコントロール装置1022及びタッチパネル1025は、図6に示す入力部100に相当するものである。
【0093】
通信装置1024は、装置内部で利用される情報を外部とやりとりするものであり、他の装置と通信回線を介して接続されてプログラムに応じた所与の情報を送受すること等に利用される。尚、この通信装置1024は、図6に示す通信部500に相当するものである。
【0094】
そして、ゲーム処理等の上記した処理は、図6に示して説明したゲームプログラム610等を格納した情報記憶媒体1006と、これらプログラムに従って動作するCPU1000、画像生成IC1010,1011、音生成IC1008等によって実現される。CPU1000、画像生成IC1010,1011、及び音生成IC1008は、図6に示す処理部200に相当するものであり、主にCPU1000が図6に示すゲーム演算部210に、画像生成IC1010,1011が図6に示す画像生成部230に、音生成IC1008が図6に示す音生成部250に、それぞれ相当する。
【0095】
尚、画像生成IC1010,1011、音生成IC1008等で行われる処理は、CPU1000或いは汎用のDSP等によりソフトウェア的に行ってもよい。この場合には、CPU1000が、図6に示す処理部200に相当することとなる。
【0096】
以上説明したように、本実施形態によれば、顔領域内を色付けするための前処理として、回答画像を包囲する上下左右の各側方から走査を行い、その走査線分長を算出・補正することによって顔領域の領域外部分を判定することができる。そして、判定した領域外部分に基づいて、顔領域を認識することができる。したがって、顔の輪郭線が閉じていない場合であっても、顔の領域を違和感無く塗り分けることができる。
【0097】
尚、上記した実施形態では、連続する5本の走査線を連続走査線群として選択し、選択した連続走査線群に含まれる最短線分長と最長線分長との差が差分過大条件を満たすか否かによって長さを補正すべき走査線を検出するため、閉じていない輪郭線の端点間が5ドット未満である必要がある。このため、閉じていない輪郭線の端点間が5ドット分以上離れている場合には、閉じていない輪郭線部分の走査線分長が補正されず、顔領域が適切に認識されない。この問題を回避するために、オブジェクト領域認識処理の後、以下説明するオブジェクト領域補完処理を行うこととしてもよい。
【0098】
図12は、オブジェクト領域補完処理を説明するための図であり、同図(a)は、オブジェクト領域認識処理の結果を示す図である。図12(a)に示すように、閉じていない輪郭線の端点間が5ドット分以上離れていると、輪郭線の内側部分が領域外部分と判定されてしまう。本変形例のオブジェクト領域補完処理では、先ず第1補完処理を行い(図12(b))、続いて第2補完処理を行う(図12(c))。尚、図12では、顔の輪郭線のみを回答画像として図示している。
【0099】
第1補完処理では、図12(b)に示すように、オブジェクト領域に挟まれた領域外部分(第1補完領域)をオブジェクト領域として補完的に識別する。具体的には、回答入力エリアAの各列(X方向)及び各行(Y方向)をそれぞれ走査し、オブジェクト領域に挟まれた領域外部分を検出する。そして、検出した領域外部分を第1補完領域とし、この第1補完領域をオブジェクト領域として補完的に識別する。
【0100】
そして、第2補完処理では、図12(c)に示すように、第1補完領域と輪郭線とに挟まれた領域外部分(第2補完領域)をオブジェクト領域として補完的に識別する。具体的には、回答入力エリアAの各列(X方向)及び各行(Y方向)をそれぞれ走査し、第1補完領域と輪郭線とに挟まれた領域外部分を検出する。そして、検出した領域外部分を第2補完領域とし、この第2補完領域をオブジェクト領域として補完的に識別する。
【0101】
尚、本変形例では、領域判定用データ650において、回答入力エリアAを構成する各ドットそれぞれについて、領域外部分に属するドットなのか、顔領域であるオブジェクト領域に属するドットなのか、第1補完領域に属するドットなのか、第2補完領域に属するドットなのかの識別情報が定義される。
【0102】
図13は、本変形例におけるゲーム処理の流れを説明するためのフローチャートである。尚以下では、上記した実施形態で図13に示して説明したゲーム処理と同様の処理工程については、同一の符号を付してその説明を省略する。
【0103】
すなわち本変形例では、ステップa30のオブジェクト領域認識処理の後、オブジェクト領域認識部211がオブジェクト領域補完処理を実行する(ステップc35)。オブジェクト領域補完処理を実行したならばステップa40に移行し、画像生成部230が、顔領域と認識された部分にペイント処理を施して色付けする。
【0104】
図14は、オブジェクト領域補完処理の流れを説明するためのフローチャートである。
オブジェクト領域補完処理では、先ず、回答入力エリアAのX方向を走査方向とし、各行それぞれについてループDの処理が実行される(ステップd10〜ステップd40)。
【0105】
すなわち、先ずオブジェクト領域認識部211は、領域判定用データ650を参照して、処理対象の行のドットのうち、オブジェクト領域に挟まれた領域外部分のドット(具体的には、領域外部分に属するドットであって、オブジェクト領域に属するドットに挟まれたドット)を検出する(ステップd20)。そして、オブジェクト領域認識部211は、ステップd20で検出した部分のドットに第1補完領域の識別情報を定義して領域判定用データ650を更新する(ステップd30)。
【0106】
ループDの処理を実行したならば、続いて、回答入力エリアAのY方向を走査方向とし、各列それぞれについてループEの処理が実行される(ステップd50〜ステップd80)。
【0107】
すなわち、先ずオブジェクト領域認識部211は、領域判定用データ650を参照して、処理対象の列のドットのうち、オブジェクト領域に挟まれた領域外部分のドット(具体的には、領域外部分に属するドットであって、オブジェクト領域に属するドットに挟まれたドット)を検出する(ステップd60)。そして、オブジェクト領域認識部211は、ステップd60で検出した部分のドットに第1補完領域の識別情報を定義して領域判定用データ650を更新する(ステップd70)。
【0108】
ループEの処理を実行したならば、続いて、回答入力エリアAのX方向を走査方向とし、各行それぞれについてループFの処理が実行される(ステップd90〜ステップd120)。
【0109】
すなわち、先ずオブジェクト領域認識部211は、回答画像データ630及び領域判定用データ650を参照して、処理対象の行において第1補完領域のドットと回答画像を構成するドットとに挟まれた領域外部分のドット(具体的には、領域外部分に属するドットであって、第1補完領域に属するドットと回答画像を構成するドットに挟まれたドット)を検出する(ステップd100)。そして、オブジェクト領域認識部211は、ステップd100で検出した部分のドットに第2補完領域の識別情報を定義して領域判定用データ650を更新する(ステップd110)。
【0110】
ループFの処理を実行したならば、続いて、回答入力エリアAのY方向を走査方向とし、各列それぞれについてループGの処理が実行される(ステップd130〜ステップd160)。
【0111】
すなわち、先ずオブジェクト領域認識部211は、回答画像データ630及び領域判定用データ650を参照して、処理対象の列において第1補完領域のドットと回答画像を構成するドットとに挟まれた領域外部分のドット(具体的には、領域外部分に属するドットであって、第1補完領域に属するドットと回答画像を構成するドットに挟まれたドット)を検出する(ステップd140)。そして、オブジェクト領域認識部211は、ステップd140で検出した部分のドットに第2補完領域の識別情報を定義して領域判定用データ650を更新する(ステップd150)。
【0112】
ループGの処理を実行したならば、本処理を終了する。
【0113】
本変形例によれば、閉じていない輪郭線の端点間が5ドット分以上離れている場合であっても、顔領域を適切に認識することができ、顔の領域を違和感無く塗り分けることができる。
【0114】
[変形例]
以上、本発明についての好適な実施形態について説明したが、本発明は、上記したものに限らず、発明の趣旨を逸脱しない限りにおいて適宜変更可能である。
【0115】
例えば上記した実施形態では、回答画像中の顔領域を認識して色付けする場合について説明したが、顔領域だけでなく、「目」や「口」、「鼻」等の領域を適宜認識して色付けすることとしてもよい。
【0116】
図15は、この場合のゲーム画面の一例を示す図であり、上画面300aに表示される出題画面を上段に示し、下画面300bに表示される回答入力画面を下段に示している。
【0117】
図15では、上画面300aの出題画面において、顔の輪郭線L31内に、閉じた輪郭線で囲まれた「目」及び「口」の各パーツが配置された顔画像が出題画像として表示されている。
一方下画面300bの回答入力画面では、上記した実施形態と同様にして、回答入力エリアA内でスタイラスペン40によりタッチ操作されたドットの集合体が回答画像として表示されるようになっている。そして、完成ボタンBTNをタッチ操作したならば、回答画像が確定されてオブジェクト領域認識処理が行われるが、本変形例では、出題画像を構成する各パーツに対応する回答画像中の部分画像(以下、「手書きパーツ画像」という。)が判定され、各手書きパーツ画像毎にオブジェクト領域認識処理が行われて当該パーツの領域(オブジェクト領域)が認識される。
【0118】
したがって本変形例では、図15に示す回答画像中の破線で示す部分A31のように顔の輪郭線が閉じていない場合や、部分A33のように口の輪郭線が閉じていない場合を想定して、各パーツのオブジェクト領域が認識される。
【0119】
ここで、手書きパーツ画像の判定方法について説明する。図16は、手書きパーツ画像の判定方法を説明するための図であり、同図(a)において図16に示した出題画像を、(b)において当該出題画像に対する回答画像を、(c)において当該出題画像から切り出した顔パーツに対応する手書きパーツ画像を示している。
【0120】
図16(a)に示すように、本変形例では、出題画像を構成する「顔」「左目」「右目」「口」の各パーツをそれぞれ含むパーツ判定領域P41〜P44が予め定義されている。各パーツそれぞれに対応する手書きパーツ画像の判定は、各パーツ判定領域P41〜P44に含まれる回答画像中の部分を特定することにより行われる。
【0121】
例えば顔パーツに着目すれば、図16(a)に示す顔パーツ用に定義されたパーツ判定領域P41(具体的には、一点鎖線で示す回答入力エリアAの外周及び中央の円で囲まれた領域)に従い、図16(b)に示す回答画像中の当該パーツ判定領域P41で囲まれた部分が特定される。そして、図16(c)に示すように、特定された部分が、顔パーツに対応する手書きパーツ画像と判定される。このようにして、予め定義された各パーツ判定領域P41〜P44をもとに、各パーツに対応する手書きパーツ画像が判定される。
【0122】
そして、前述のように判定した手書きパーツ画像を切り出し、切り出した手書きパーツ画像についてオブジェクト領域認識処理が行われる。具体的には、例えば、該当するパーツ用のパーツ判定領域の上辺、下辺、左辺、及び右辺の各辺をそれぞれ基線として領域外部分判定処理が行われ、処理結果に基づいてその領域外部分(すなわち、当該パーツの輪郭外側部分)が判定されて、オブジェクト領域が認識される。
【0123】
尚、本変形例では、出題データ620において、各出題画像毎に、当該出題画像を構成するパーツそれぞれのパーツ判定領域が定義される。
【0124】
図17は、本変形例におけるゲーム処理の流れを説明するためのフローチャートである。尚以下では、上記した実施形態で図17に示して説明したゲーム処理と同様の処理工程については、同一の符号を付してその説明を省略する。
【0125】
すなわち本変形例では、回答終了操作が為されたならば、続いて当該出題画像を構成する各パーツそれぞれを処理対象として、ループHの処理が実行される(ステップe310〜ステップe350)。以下、ループHで処理の対象とするパーツを「処理対象パーツ」という。
【0126】
ループHでは、先ずゲーム演算部210が、処理対象パーツに対応する手書きパーツ画像を判定して切り出す(ステップe320)。手書きパーツ画像を切り出したならばオブジェクト領域認識処理に移り、オブジェクト領域認識部211が、回答画像中の処理対象パーツのオブジェクト領域を認識する(ステップe330)。本変形例では、このオブジェクト領域認識処理において、処理対象パーツ用のパーツ判定領域の上下左右の各辺それぞれを基線とした領域外部分判定処理を行い、当該処理対象パーツのオブジェクト領域を認識する。
【0127】
そして、画像生成部230が、ステップe330で認識したオブジェクト領域に処理対象パーツに応じたペイント処理を施して色付けし、色付けした手書きパーツ画像を記憶部600内に一時保存する(ステップe340)。
【0128】
出題画像を構成する全てのパーツを処理対象としてループHの処理を実行したならば、続いて画像生成部230が、色付けされた各手書きパーツ画像を合成する(ステップe40)。具体的には、顔パーツを最初に描画し、他のパーツの手書きパーツ画像を順次描画して合成する。ここで合成された手書きパーツ画像(色付けされた回答画像)は、下画面300bに表示される。そして、ステップa50に移行し、上記した実施形態と同様に処理を行う。
【0129】
また上記した実施形態では、走査線によって占められた部分を領域外部分と判定することとしたが、以下のようにしてもよい。すなわち、走査線が設定された回数に応じて領域外部分を判定することとしてもよい。具体的には、回答入力エリアAを構成する各ドットそれぞれについて、走査線が設定された回数を計数しておく。そして、走査線が所定回以上設定されたドット部分を領域外部分として判定する。
【0130】
図18は、この場合のオブジェクト領域認識処理について説明するための図である。例えばドットD51に着目すれば、上下左右の各辺をそれぞれ基線として領域外部分判定処理を行った結果、走査線が3回設定されたことを示している。例えば、走査線が2回以上設定されたドットを領域外部分と判定するならば、ドットD51は領域外部分と判定され、ドットD53はオブジェクト領域と判定される。
【0131】
また上記した実施形態では、回答入力エリアAの上下左右の各辺を基線とした走査を行って領域外部分を判定することとしたが、上下左右に限定されるものではなく、回答画像の側方に適宜基線を設定して領域外部分を判定することとしてもよい。例えば、回答画像の斜め側方に基線を設定して走査を行うこととしてもよい。図19は、回答画像側方における基線の設定例を示す図である。同図によれば、回答画像の斜め4方向に基線L61〜L64が設定されており、各基線からの走査線L65の走査線分長を算出して領域外部分を判定することとしてもよい。
【0132】
また、回答画像の側方に4本の基線を設定する必要はない。また、上下左右の4方向に、図19に示した斜め4方向を加えて8方向から走査を行って領域外部分を判定することとしてもよい。
【0133】
また上記した実施形態では、上画面300aに問題の出題を行い、下画面300bに回答を入力することとしたが、以下のようにしてもよい。すなわち、タッチパネルと一体化された下画面300bに出題画像を表示制御することとしてもよい。プレーヤは、表示制御された出題画像をなぞるようにして下画面300b上をタッチ操作し、回答画像を入力する。
【0134】
また本発明は、図1に示した携帯型ゲーム機だけでなく、携帯電話機やPDA、パソコン、業務用ゲーム機等、図形や絵柄を手書き入力可能な種々の装置でも同様に適用することができる。その場合、手書き入力としてマウス等の他のポインティングデバイスを用いてもよいことは勿論である。
【図面の簡単な説明】
【0135】
【図1】ゲーム装置を折り畳み式の携帯型ゲーム機とした場合の概観例を示す図。
【図2】ゲーム画面の一例を示す図。
【図3】走査処理について説明するための図。
【図4】補正処理について説明するための図。
【図5】オブジェクト領域認識処理の処理結果を示す図。
【図6】ゲーム装置の機能構成の一例を示すブロック図。
【図7】走査線データのデータ構成例を示す図。
【図8】領域判定用データの概念図。
【図9】ゲーム処理の流れを説明するためのフローチャート。
【図10】オブジェクト領域認識処理の流れを説明するためのフローチャート。
【図11】ゲーム装置のハードウェア構成の一例を示す図。
【図12】オブジェクト領域補完処理について説明するための図。
【図13】ゲーム処理の流れの変形例を説明するための図。
【図14】オブジェクト領域補完処理の流れを説明するための図。
【図15】ゲーム画面の変形例を示す図。
【図16】手書きパーツ画像の判定方法を説明するための図。
【図17】ゲーム処理の流れの変形例を説明するためのフローチャート。
【図18】オブジェクト領域認識処理の変形例について説明するための図。
【図19】回答画像側方における基線の設定例を示す図。
【符号の説明】
【0136】
1 ゲーム装置
100 入力部
110 タッチパネル
200 処理部
210 ゲーム演算部
211 オブジェクト領域認識部
211a 領域外部分判定部
230 画像生成部
250 音生成部
300 表示部
300a 上画面
300b 下画面
400 音出力部
500 通信部
600 記憶部
610 ゲームプログラム
611 オブジェクト領域認識プログラム
613 領域外部分判定プログラム
620 出題データ
630 回答画像データ
640 走査線データ
650 領域判定用データ

【特許請求の範囲】
【請求項1】
コンピュータに、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識させるためのプログラムであって、
前記輪郭線の側方に基線を設定する基線設定手段、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段、
として前記コンピュータを機能させるためのプログラム。
【請求項2】
前記基線設定手段が異なる複数の基線を設定し、該複数の基線それぞれに対して前記走査手段が走査及び走査線の長さ算出を行うとともに前記補正手段が走査線の補正を行い、前記領域外部分判定手段が該複数の基線それぞれについての領域外部分を判定し、前記オブジェクト領域識別手段が該判定された各領域外部分に基づいてオブジェクト領域を識別する、ように前記コンピュータを機能させるための請求項1に記載のプログラム。
【請求項3】
コンピュータに、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識させるためのプログラムであって、
前記輪郭線を包囲する基線を設定する基線設定手段、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段、
として前記コンピュータを機能させるためのプログラム。
【請求項4】
前記補正対象走査線検出手段が、前記走査された走査線の中から、連続して隣接する所定数の走査線のうちの最短の走査線の長さと最長の走査線の長さとの差が差分過大条件を満たす当該連続走査線群を検出し、検出した連続走査線群に含まれる走査線を補正すべき走査線として検出するように前記コンピュータを機能させるための請求項1〜3の何れか一項に記載のプログラム。
【請求項5】
前記補正対象走査線検出手段が、前記検出された連続走査線群に含まれる走査線のうち、所定位置の走査線を補正すべき走査線として検出するように前記コンピュータを機能させるための請求項4に記載のプログラム。
【請求項6】
前記補正手段が、前記検出された連続走査線群中の最短の走査線の長さ、又は、当該連続走査線群の平均長になるように補正するように前記コンピュータを機能させるための請求項4又は5に記載のプログラム。
【請求項7】
前記オブジェクト領域識別手段が、
前記領域外部分判定手段により判定された領域外部分以外の領域をオブジェクト領域として識別する識別手段と、
前記識別手段により識別されたオブジェクト領域に挟まれた領域外部分をオブジェクト領域として補完的に識別する第1の補完識別手段と、
を有するように前記コンピュータを機能させるための請求項1〜6の何れか一項に記載のプログラム。
【請求項8】
前記オブジェクト領域識別手段が、前記識別手段又は前記第1の補完識別手段により識別されたオブジェクト領域と、前記輪郭線とに挟まれた領域外部分をオブジェクト領域として補完的に識別する第2の補完識別手段を有するように前記コンピュータを機能させるための請求項7に記載のプログラム。
【請求項9】
請求項1〜8の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項10】
オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識する輪郭内領域認識装置であって、
前記輪郭線の側方に基線を設定する基線設定手段と、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段と、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段と、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段と、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段と、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段と、
を備えた輪郭内領域認識装置。
【請求項11】
オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識する輪郭内領域認識装置であって、
前記輪郭線を包囲する基線を設定する基線設定手段と、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段と、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段と、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段と、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段と、
を備えた輪郭内領域認識装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2007−122338(P2007−122338A)
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願番号】特願2005−312683(P2005−312683)
【出願日】平成17年10月27日(2005.10.27)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】