"画像領域からエッジを抽出し、エッジに挟まれた領域の中心部分を複数抽出する中心部分抽出部と、隣り合う中心部分の間にエッジが存在しない中心部分同士を同一のグループに分類することで、複数の中心部分をグループ分けする分類部と、前記分類部によりあるグループに分類された中心部分と該中心部分周辺のエッジとに囲まれる領域において、長辺方向の輝度勾配に対する短辺方向の輝度勾配の割合が所定の閾値以内となる場合に、該領域を指の領域であると判定する判定部とを有することを特徴とする画像処理装置。前記判定部は、前記分類部によりあるグループに分類された中心部分と該中心部分周辺のエッジから得られる疑似スケルトンとスケルトンの各点のエッジからの距離値に基づき算出される矩形の領域において、長辺方向の輝度勾配に対する短辺方向の輝度勾配の割合が所定の閾値以内となる場合に、前記中心部分と同一のグループに分類される中心部分とエッジとに囲まれる領域を指の領域であると判定することを特徴とする請求項1に記載の画像処理装置。前記中心部分抽出部は、エッジに挟まれた領域の中心部分のうち、エッジからの距離が所定の閾値未満となる中心部分を抽出することを特徴とする請求項1に記載の画像処理装置。前記中心部分抽出部は、エッジに挟まれた領域の中心部分に対して、縦方向および横方向の輝度勾配を求め、縦方向および横方向の輝度勾配が所定の閾値未満となる中心部分を抽出することを特徴とする請求項1、2または3に記載の画像処理装置。コンピュータが実行する画像処理方法であって、画像領域からエッジを抽出し、エッジに挟まれた領域の中心部分を複数抽出し、隣り合う中心部分の間にエッジが存在しない中心部分同士を同一のグループに分類することで、複数の中心部分をグループ分けし、あるグループに分類された中心部分と該中心部分周辺のエッジとに囲まれる領域において、長辺方向の輝度勾配に対する短辺方向の輝度勾配の割合が所定の閾値以内となる場合に、該領域を指の領域であると判定することを特徴とする画像処理方法。コンピュータに、画像領域からエッジを抽出し、エッジに挟まれた領域の中心部分を複数抽出し、隣り合う中心部分の間にエッジが存在しない中心部分同士を同一のグループに分類することで、複数の中心部分をグループ分けし、あるグループに分類された中心部分と該中心部分周辺のエッジとに囲まれる領域において、長辺方向の輝度勾配に対する短辺方向の輝度勾配の割合が所定の閾値以内となる場合に、該領域を指の領域であると判定する処理を実行させる画像処理プログラム。しかしながら、上述した従来技術では、手の指の領域を抽出することができないという問題があった。上記の従来技術では、手が肌色であることを利用して、手の指の領域を判定しているが、指の色と同一色の背景と、手の指とが重なった場合には、色によって手の指の領域を判定することができない。例えば、利用者の手の指が顔にかかった状態では、指の領域を判定することができない。開示の技術は、上記に鑑みてなされたものであって、手の指の領域を判定することができる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。開示の画像処理装置は、中心部分抽出部と、分類部と、判定部を有する。中心部分抽出部は、画像領域からエッジを抽出し、エッジに挟まれた領域の中心部分を複数抽出する。分類部は、隣り合う中心部分の間にエッジが存在しない中心部分同士を同一のグループに分類することで、複数の中心部分をグループ分けする。判定部は、中心部分と該中心部分周辺のエッジとに囲まれる領域において長辺方向の輝度勾配に対する短辺方向の輝度勾配の割合が所定の閾値以内となる場合に中心部分と同一のグループに分類される中心部分とエッジとに囲まれる領域を指の領域であると判定する。開示の画像処理装置によれば、手の指の領域を判定することができるという効果を奏する。以下に、本願の開示する画像処理装置、画像処理方法および画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。本実施例にかかる画像処理装置の構成について説明する。図1は、本実施例にかかる画像処理装置の構成を示す機能ブロック図である。図1に示すように、この画像処理装置100は、カメラ101a、表示部101b、第1指検出部102、第2指検出部103、指操作判定部104、制御部105を有する。カメラ101aは、撮影範囲の画像を撮影し、撮影した画像データを第1指検出部102に出力する。表示部101bは、各種の情報を表示するディスプレイなどの表示装置である。第1指検出部102は、色に基づいて、画像に含まれる指を検出する処理部である。例えば、第1指検出部102は、画像データから肌色の領域を抽出し、抽出した領域を指の領域として、指操作判定部104に通知する。なお、ここで抽出対象とする指は、カメラから特定の距離を挟む一定の区間とし、カメラの画角を予め計測しておくことにより、対象とする指の太さの範囲を指定するものとする。さらに、指の腹はカメラに対して正対ないしはほぼ正対していることを前提とする。一方、第1指検出部102は、色に基づいて、指を検出できない場合には、画像データを第2指検出部103に出力することで、指の検出を依頼する。例えば、第1指検出部102は、画像データの肌色の領域の画素数が、第1の画素数未満、または、第2の画素数以上である場合に、指を検出できないと判定する。第1の画素数および第2の画素数は、予め設定された値である。第1指検出部102が指を検出する処理は、例えば、特開2003-346162に開示された技術を利用して、指を検出してもよい。第2指検出部103は、画像データからエッジを抽出し、エッジに挟まれた領域の中心部分に対応する疑似スケルトンを求め、疑似スケルトンおよびエッジに囲まれる領域の輝度勾配を利用して、指を検出する処理部である。第2指検出102は、指の検出結果を指操作判定部104に出力する。指操作判定部104は、指の検出結果を基にして、利用者の指示内容を判定する処理部である。指操作判定部104は、指示内容を制御部105に出力する。制御部105は、指示内容を基にして、例えば、表示部101bの制御や、図示しないスピーカの音量制御などを行う。次に、図1に示した第2指検出部103の構成について説明する。図2は、第2指検出部の構成を示す機能ブロック図である。図2に示すように、第2指検出部103は、画像サイズ変更部201、エッジ抽出部202、疑似距離変換部203、疑似スケルトン抽出部204、クラスタリング部205を有する。また、第2指検出部103は、疑似スケルトン評価部206、輝度勾配抽出部207、指領域判定部208を有する。エッジ抽出部202、疑似距離変換部203、疑似スケルトン抽出部204は、中心部分抽出部の一例である。クラスタリング部205は、分類部の一例である。輝度勾配抽出部207、指領域判定部208は、判定部の一例である。画像サイズ変更部201は、画像の幅に関するパラメータSizeXと、画像の高さに関するパラメータSizeYを変更することで、画像のサイズを調整し、サイズを調整した画像データをエッジ抽出部202、輝度勾配抽出部207に出力する。例えば、画像サイズ変更部201は、原画像データ、1/2に縮小した画像データ、1/4に縮小した画像データ等を順次、エッジ抽出部202、輝度勾配抽出部207に出力する。エッジ抽出部202は、画像データからエッジを抽出する処理部である。画像データからエッジを抽出したものをエッジ画像と表記する。エッジ抽出部202は、例えば、ハフ変換、微分エッジ検出などを利用して、画像データからエッジを検出する。エッジ抽出部202は、エッジ画像を疑似距離変換部203に出力する。図3は、エッジ画像の一例を示す図である。図3に示すように、このエッジ画像10には、エッジ10aが含まれている。疑似距離変換部203は、エッジ画像において、各画素に対して最も距離の近いエッジからの距離を計測する処理部である。疑似距離変換部203は、エッジ画像をMj,iのマップに分割し、エッジからの距離に応じて、Mj,iにマップ値を与える。マップは、画素に対応する。図4は、エッジ画像とマップ値との関係を説明するための図である。図4において、黒い画素は、エッジに対応し、白い画素は、非エッジに対応する。図4に示すように、疑似距離変換部203は、エッジからの距離が近いマップMj,iに対しては、小さいマップ値を与え、エッジからの距離が遠いマップMj,iに対しては、大きいマップ値を与える。疑似距離変換部203は、エッジに対応するマップMj、iに対しては、マップ値0を与える。具体的に、疑似距離変換部203の処理を説明する。疑似距離変換部203は、前向き処理と後向き処理を実行することで、各マップMj,iにマップ値を与える。前向き処理について説明する。前向き処理では、疑似距離変換部203は、エッジ画像の左上から横に走査して、エッジ画像の右下のまで下記の処理を順次実行する。図5は、前向き処理を説明するための図である。前向き処理において、疑似距離変換部203は、マップMj,iを選択し、選択したものがエッジであるか非エッジであるかを判定する。疑似距離変換部203は、マップMj,iがエッジである場合には、マップMj,iのマップ値を0に設定し、次のマップを選択する。これに対して、疑似距離変換部203は、選択したマップMj,iが非エッジの場合には、選択したマップMj,iの上部のマップのマップ値に2を加算した値と、マップMj,iの右上部のマップのマップ値に3を加算した値を取得する。また、疑似距離変換部203は、選択したマップMj,iの左上部のマップのマップ値に3を加算した値と、マップMj,iの左側のマップのマップ値に2を加算した値を取得する。そして、疑似距離変換部203は、取得したマップ値のうち、最小のものを、選択したマップMj,iのマップ値に設定する。図5に示すように、疑似距離変換部203が、選択したマップM2,2とする。また、マップM2,2の上部のマップM1,2のマップ値に2を加算した値を12、マップM2,2の右上部のマップM1,3のマップ値に3を加算した値を10とする。また、選択したマップM2,2の左上部のマップM1,1のマップ値に3を加算した値を14、マップM2,2の左側のマップM2,1のマップ値に2を加算した値を12とする。この場合には、疑似距離変換部203は、マップM2,2のマップ値を10に設定する。次に、後向き処理について説明する。後向き処理では、疑似距離変換部203は、エッジ画像の右下から横に走査して、エッジ画像の左上まで下記の処理を順次実行する。図6は、後向き処理を説明するための図である。後向き処理において、疑似距離変換部203は、マップMj,iを選択し、選択したものがエッジであるか非エッジであるかを判定する。疑似距離変換部203はマップMj,iがエッジである場合には、マップMj,iのマップ値を0に設定し、次のマップを選択する。これに対して、疑似距離変換部203は、選択したマップMj,iが非エッジの場合には、選択したマップMj,iの下部のマップのマップ値に2を加算した値と、マップMj,iの右下部のマップのマップ値に3を加算した値を取得する。また、疑似距離変換部203は、選択したマップMj,iの左下部のマップのマップ値に3を加算した値と、マップMj,iの右側のマップのマップ値に2を加算した値を取得する。そして、疑似距離変換部203は、取得したマップ値のうち、最小のものを、選択したマップMj,iのマップ値に設定する。図6に示すように、疑似距離変換部203が、選択したマップM2,2とする。また、マップM2,2の下部のマップM3,2のマップ値に2を加算した値を12、マップM2,2の右下部のマップM3,3のマップ値に3を加算した値を10とする。また、選択したマップM2,2の左下部のマップM3,1のマップ値に3を加算した値を14、マップM2,2の右側のマップM2,3のマップ値に2を加算した値を12とする。この場合には、疑似距離変換部203は、マップM2,2のマップ値を10に設定する。上記のように、疑似距離変換部203は、前向き処理および後向き処理を実行することで、各マップMj,iにマップ値を付与する。この各マップMj,iにマップ値を付与したデータを、疑似距離変換マップと表記する。疑似距離変換部203は、疑似距離変換マップを疑似スケルトン抽出部204に出力する。疑似スケルトン抽出部204は、疑似距離変換マップを基にして、エッジに囲まれた領域の中心部分に対応する疑似スケルトンを抽出する処理部である。疑似スケルトン抽出部204が、疑似スケルトンを抽出する処理は、指の中心を含むある領域の中心部分を検出することに相当する。図7は、疑似スケルトンの一例を示す図である。図7において、線10aはエッジを示す。線11~14は、疑似スケルトンに対応する。疑似スケルトン抽出部204は、疑似距離変換マップから注目画素を選択し、選択した注目画素のマップ値が、3×3の近傍領域で最大となるか否かを判定する。注目画素のマップ値が近傍領域で最大となる場合には、疑似スケルトン抽出部204は、閾値比較により、該当する画素が、疑似スケルトンであるか否かを判定する。抽出したい指をカメラから特定の範囲の距離にあるものに限定する。その場合、指の太さはある範囲に存在する。標準的な指の太さを予め設定しておき、指の太さが画像に撮影される太さの最大を閾値Thmaxとし、撮影される太さの最小を閾値Thminとする。上記閾値ThmaxとThminとの関係がThmax>Thmin4である場合には、画像それ自身を縮小することにより、スケルトンそれ自身の幅のゆらぎを回避することができる。例えば、Thmax=Thmin4であるとき、一度目のThmaxをThmin3に設定して、以下の処理を実行することで、指の太さの範囲のうち、細い方3/4に分布する指の太さだけを抽出する。一連の処理が終了したら、後述する図16Bの処理S52により画像サイズを半分にする。このとき、画像サイズを半分にするため、指のサイズも半分になる。このときThmaxを半分になることから、Thmaxを半分にし、ThminをThmin1.5とする。こうすることで、太い方3/4に相当する指を抽出することができる。このとき画像を縮小することで、処理する画素自体を削減することが可能になる。例えば、疑似スケルトン抽出部204は、注目画素のマップ値が閾値Thmaxより小さく、かつ、閾値Thminよりも大きい場合に、該当注目画素を、疑似スケルトンに対応する画素と判定する。閾値Thmaxおよび閾値Thminの値は予め設定されているものとする。また、疑似スケルトン抽出部204が注目画素を選択することは、上記のマップMj,iを選択することに等しい。疑似スケルトン抽出部204は、上記の処理を実行して、疑似スケルトン抽出データを生成する。図8は、疑似スケルトン抽出データのデータ構造の一例を示す図である。図8に示すように、この疑似スケルトン抽出データは、疑似スケルトン番号、座標、マップ値を対応づけて記憶する。例えば、疑似スケルトン番号0の疑似スケルトンでは、x座標が100、y座標が100であり、マップ値が13である。疑似スケルトン抽出部204は、疑似スケルトン抽出データを、クラスタリング部205に出力する。クラスタリング部205は、疑似スケルトン抽出データを基にして、疑似スケルトンに対応する画素をクラスタ化する処理部である。疑似スケルトンに対応する画素を疑似スケルトン画素と表記する。クラスタリング部205は、異なる二つの疑似スケルトン画素を選択し、各疑似スケルトン画素の間に、エッジが存在しない場合に、各疑似スケルトン画素を、同一のグループに分類する。クラスタリング部205の処理を具体的に説明する。疑似スケルトン画素のマップ値は、最も近いエッジからの距離を示している。このため、式1が成り立つ場合には、各疑似スケルトン画素の間にエッジが存在していない。式1において、Dabは、疑似スケルトン画素aと疑似スケルトン画素bとのユーグリッド距離を示す。また、valaは、疑似スケルトン画素のマップ値、valbは、疑似スケルトン画素bのマップ値に対応する。Dab<Minvala/2、valb/21式1において、マップ値を2で割ることの意義は、疑似距離変換部203にて置き換えられたマップ値が、ユーグリッド距離の2倍の距離に対応しているためである。図9は、クラスタリング部の処理を説明するための図である。図9において、aを疑似スケルトン画素aとし、bを疑似スケルトン画素bとすると、valaは5となり、valbは8となる。また、Dabは、4となる。この場合には、式1の条件を満たさないので、クラスタリング部205は、疑似スケルトン画素aと、疑似スケルトン画素bとを異なるクラスに分類する。クラスタリング部205は、式1を利用して、各疑似スケルトン画素を分類することで、クラス化スケルトンデータを生成する。図10は、クラス化スケルトンデータのデータ構造の一例を示す図である。図10に示すように、このクラス化スケルトンデータは、クラス番号、疑似スケルトン番号、座標、マップ値を対応づけて記憶する。図10に示す例では、クラス番号Pc0には、疑似スケルトン番号0,1の疑似スケルトン画素が含まれている。クラスタリング部205は、クラス化スケルトンデータを、疑似スケルトン評価部206に出力する。疑似スケルトン評価部206は、同一のクラスに分類される疑似スケルトン画素を評価し、指の候補であるか否かを判定する処理部である。疑似スケルトン評価部206は、長さと直線度に基づいて、同一のクラスに分類される疑似スケルトン画素を評価する。疑似スケルトン評価部206が、長さに基づいて、クラスiの疑似スケルトン画素を評価する処理について説明する。疑似スケルトン評価部206は、クラスiに属する疑似スケルトン画素の上端の座標と、下端の座標との距離を長さとして算出する。疑似スケルトン評価部206は、長さがThLenmaxより小さく、かつ、ThLenminよりも大きい場合に、クラスiに属する疑似スケルトン画素を指の候補と判定する。ThLenmaxおよびThLenminの値は、予め設定されているものとする。なお、この長さは検出されたスケルトンのマップ値指の幅に応じて決定される。ここでの抽出対象とする指は、カメラに指の腹が正対ないしはほぼ正対しているものとする。このとき、指の長さは指の幅の定数倍を持つと仮定し、この定数倍によって決定される指の長さに対して、マージンを加減することによりThLenmaxとThLenminを決定する。長さに基づいた評価の後、疑似スケルトン評価部206は、指の候補としたクラスiに属する疑似スケルトン画素の直線度を計測し、指の候補とするかを再度評価する。疑似スケルトン評価部206は、直線の法線ベクトルをVx、Vy、直線上の任意の点Cx、Cyとしたときの直線のパラメータVx、Vy、Cx、Cyを直線度として求める。線の法線ベクトルをVx、Vy、直線上の任意の点Cx、Cyとしたときの直線は、式2のように表すことができる。Vxx-CxVyy-Cy=02疑似スケルトン評価部206が、直線度Vx、Vy、Cx、Cyを求める処理について説明する。まず、疑似スケルトン評価部206は、式3によって表される直線の評価関数を最小にするVx’、Vy’を求める。直線の評価関数は、式4によって表される。式4において、jは、クラスiに含まれる疑似スケルトン画素の疑似スケルトン番号に対応するインデックスである。Vx’Vy’y1=03評価関数=ΣjVx’PxjVy’Pyj1^24疑似スケルトン評価部206は評価関数を最小にするVx’、Vy’を式5により求める。疑似スケルトン評価部206は、Vx’、Vy’を求めた後に、Vx’、Vy’を法線ベクトルになるように規格化することでVx、Vyを求める。疑似スケルトン評価部206は、式6および式7に基づいて、Vx’、Vy’を法線ベクトルになるように規格化する。なお、式6および式7に含まれるZは、式8により求められる。Vx=Vx’/Z6Vy=Vy’/Z7Z=sqrtVx×VxVy×Vy8ところで、式2、式3の関係から、式9が成り立つ。そして、Cx、CyをUx、Uyの直線に対する推薦の足と仮定すると、式9は式10によって表すことができる。ここで、Ux、Uyは、同一のクラスに属する疑似スケルトン画素のうち、最も上部に位置するものの座標に対応する。本実施例では、このUx、Uyの方向に、指先があると仮定する。VxCxVyCy=Z9Uy-CyVx-Ux-CxVy10式9と式10を連立すると、式11によって、Cx、Cyを表すことができる。疑似スケルトン評価部206は、式11を利用して、Cx、Cyを求める。疑似スケルトン評価部206は、Vx、Vy、Cx、Cyを求めた後に、式12の評価式Jの値を求める。評価式J=ΣjVxx-CxVyy-Cy^212疑似スケルトン評価部206は、評価式Jの値がThline以下の場合に、クラスiに属する疑似スケルトン画像を指の候補と判定する。Thlineの値は予め設定されているものとする。また、疑似スケルトン評価部206は、指の候補と判定したクラスに含まれる各疑似スケルトン画素のマップ値を平均化することで、平均マップ値valaveを算出する。疑似スケルトン評価部206は、指の候補と判定したクラスに含まれる疑似スケルトン画像を基にして、クラスデータを作成する。このクラスデータは、長さl、上部の位置Ux、Uy、平均マップ値valave、直線パラメータVx、VyCx、Cyを含む。疑似スケルトン評価部206は、クラスデータを輝度勾配抽出部207に出力する。輝度勾配抽出部207は、指の方向の輝度勾配と、指の方向に対する垂直方向の輝度勾配とを基にして、指の候補と判定されたクラスから、指に対応するクラスを判定する処理部である。指の方向に対する垂直方向は、指の円周方向と表記する。図11は、指に対する輝度の特徴を説明する図である。図11に示す円筒モデル20は、指に相当するものである。円筒モデル20は、一様な反射特性を持つものとする。図11の縦軸yは、指の方向に対応する。横軸xは、指の円周方向に対応する。平行光源からの光が照射された場合に、縦軸y方向には輝度の変化はない。これに対して、横軸x方向には、輝度勾配が存在する。輝度勾配抽出部207は、この光源を照射された円筒モデル20の特性を利用して、指に対応するクラスを判定する。指のような小さな対象では、蛍光灯のような照明もほぼ平行光源とみなすことができる。輝度勾配抽出部207の処理を具体的に説明する。輝度勾配抽出部207は、疑似スケルトン評価部206から取得したクラスデータを基にして、画像データから指の方向の輝度勾配と、円周方向の輝度勾配とを分離する。円周方向は、直線パラメータの法線ベクトルV=Vx,Vyによって得られる。この法線ベクトルVが既知であれば、指の方向Wx、Wyは、式13、式14によって求めることができる。輝度勾配抽出部207は、Vyの値が0未満の場合には、式13を利用して、指の方向Wx,Wyを算出する。輝度勾配抽出部207は、Vyの値が0より大きい場合には、式14を利用して、指の方向Wx,Wyを算出する。Wx,Wy=Vy,-Vx13Wx,Wy=-Vy,Vx14指の方向Wx,Wyを算出した後に、輝度勾配抽出部207は、クラスiに関する指の領域を特定する。任意の点x,yを指の方向および円周方向に分解すると、式15に示す関係となる。x,y=Cxd×Vxe×Wx,Cyd×Vye×Wy15式15に含まれるdは、円周方向に対して指の中心からの距離に対応する。eは、指の方向に対して、指の先端からの距離に対応する。図12は、dおよびeを説明するための図である。図12の線分30は、法線ベクトルV=Vx,Vyに対応する。座標31は、任意の座標x,yに対応する。座標32は、指の先端の座標Cx,Cyに対応する。輝度勾配抽出部207は、dおよびeを式16により求める。ただし、輝度勾配抽出部207は、dの範囲が式17及び式18を満たし、eの範囲が式19および式20を満たす画素x,yを指領域とし、かかる指領域を輝度勾配の検索範囲とする。d>-valave/217d<valave/218e>019e<l20輝度勾配抽出部207は、輝度勾配の検索範囲となる指の領域を特定した後に、検索範囲の内部の各画素に対して、輝度勾配を求める。指の方向の輝度勾配をGfとし、指の円周方向の輝度勾配をGnとする。輝度勾配抽出部207は、式21、22を利用して、指の方向の輝度勾配Gf、円周方向の輝度勾配Gnを求める。式21、21のθは、式23により求められる角度である。Gf=G×cosγ-θ21Gn=G×sinγ-θ22θ=tan-1Wy/Wx23図13は、指の方向の輝度勾配Gfと円周方向の輝度勾配Gnとの関係を示す図である。図13において、画素30は、注目画素であり、座標をx,yとする。線分31は、Wx,Wyに対応する指の方向のベクトルである。線分32は、画素30の輝度勾配である。線分32aは、指の方向の輝度勾配Gfに対応する。線分32bは、指の円周方向の輝度勾配Gnに対応する。角度33は、上記θに対応するものである。なお、式21、22におけるGは、各画素の輝度勾配の大きさに対応し、図13の線分32に対応する。また、式21、22におけるγは、水平軸35と、線分32とのなす角度34に対応する。輝度勾配抽出部207は、輝度勾配Gを式24により求める。また、輝度勾配抽出部207は、γを式25により求める。G=squrtGv^2Gh^224γ=tan-1Gv/Gh25輝度勾配抽出部207は、式24、25に含まれるGvを式26により求める。また、輝度勾配抽出部207は、式24、25に含まれるGhを式27により求める。Gv=a11a10-a01-a0026Gh=a11a00-a10-a0027式26、27に含まれるa00、a01、a10、a11は、注目画素x,yの左上画素、右上画素、左下画素、右下画素の輝度値に対応する。図14は、a00、a01、a10、a11を説明するための図である。注目画素を33とすると、注目画素と左上画素A00、右上画素A01、左下画素A10、右下画素A11の位置関係は図14のようになる。A00、A01、A10、A11の画素値がそれぞれa00、a01、a10、a11となる。輝度勾配抽出部207は、検索範囲に含まれる任意の座標x,yについて、指の方向の輝度勾配Gfと円周方向の輝度勾配Gnとを求めた後に、式28の条件を満たすか否かを判定する。輝度勾配抽出部207は、式28の条件を満たす場合には、任意の座標の画素は、指の領域ではないと判定する。これに対して、輝度勾配抽出部207は、式28の条件を満たさない場合には、指の領域であると判定し、Numfingの値に1を加算する。Numfingの初期値を0とする。Gf/Gn>Th28輝度勾配抽出部207は、クラスiに対する指の検索範囲に含まれる全ての画素に対して、式28の条件を満たすか否かを判定し、Numfingの値をカウントアップする。輝度勾配抽出部207は、指の検索範囲に含まれる全ての画素に対して、式28の条件を満たすか否かを判定した後、Numfingの値が、閾値Thm以下であるか否かを判定する。輝度勾配抽出部207は、Numfingの値が、閾値Thm以下の場合には、クラスiを指に対応するクラスと判定する。輝度勾配抽出部207は、疑似スケルトン評価部206から取得した他のクラスに関しても、上記処理を実行し、指に対応するクラスか否かを判定する。輝度勾配抽出部207は、指に対応するクラスの情報を、指領域判定部208に出力する。指領域判定部208は、輝度勾配抽出部207から取得するクラスの情報を基にして、指の領域を判定する処理部である。例えば、指領域判定部208は、クラスに含まれる疑似スケルトン画素の範囲を、指の領域とする。また、指領域判定部208は、各疑似スケルトン画素のうち、最も上部に位置する疑似スケルトン画素の座標を指先の座標として判定する。指領域判定部208は、指の領域の情報と、指先の座標の情報を、指操作判定部104に出力する。次に、指操作判定部104の処理の一例について説明する。指操作判定部104は、指の領域の情報と、指の座標の情報とを基にして、指の本数を判定する。あるいは、指操作判定部104は、指の領域の情報と、指の座標の情報とを基にして、立てている指の組み合わせを判定する。指操作判定部104は、指の本数あるいは立てている指の組み合わせと、操作の種別とを対応づけたテーブルを参照し、操作の種別を判定する。かかるテーブルは、例えば、指操作判定部104が保持する。例えば、指操作判定部104は、特開2003-346162等に開示される、画像から認識した指の状態に応じて、操作を判断する既知の技術を用いてもよい。次に、本実施例にかかる画像処理装置100の処理手順について説明する。図15は、本実施例にかかる画像処理装置の処理手順を示すフローチャートである。例えば、図15に示す処理は、カメラ101aから画像データを取得したことを契機として実行される。画像処理装置100は、カメラ101aから画像データを取得しステップS101、指検出処理を実行するステップS102。画像処理装置100は、カーソルを描画しステップS103、指先位置に対応したボタン算出処理を実行するステップS104。画像処理装置100は、押下フラグが1か否かを判定するステップS105。画像処理装置100は、押下フラグが1ではない場合にはステップS105,No、ステップS101に移行する。一方、画像処理装置100は、押下フラグが1の場合にはステップS105,Yes、指示内容がendか否かを判定するステップS106。画像処理装置100は、指示内容がendではない場合にはステップS106,No、指示内容に応じた処理を実行しステップS107、ステップS101に移行する。一方、画像処理装置100は、指示内容がendの場合にはステップS106,Yes、処理を終了する。次に、図15のステップS102に示した指検出処理の処理手順について説明する。図16Aは、指検出処理の処理手順を示すフローチャートである。図16Aに示すように、画像処理装置100は、色に基づいて指を抽出しステップS110、指が検出されたか否かを判定するステップS111。画像処理装置100は、指が検出された場合にはステップS111,Yes、指検出処理を終了する。一方、画像処理装置100は、指が検出されなかった場合にはステップS111,No、形状に基づく指抽出処理を実行するステップS112。次に、図16AのステップS112に示した形状に基づく指抽出処理の処理手順について説明する。図16Bは、形状に基づく指検出処理の処理手順を示すフローチャートである。図16Bに示すように、画像処理装置100は、疑似スケルトンによる抽出処理を実行しステップS50、輝度勾配による抽出処理を実行するステップS51。画像処理装置100は、縮小サイズが所定のサイズ未満ではない場合にはステップS52,No、形状に基づく指抽出処理を終了する。一方、画像処理装置100は、縮小サイズが所定のサイズ未満の場合にはステップS52,Yes、画像のサイズを2倍に設定しステップS53、画面サイズを変更しステップS54、ステップS50に移行する。次に、図16BのステップS50に示した疑似スケルトンによる抽出処理について説明する。図17は、疑似スケルトンによる抽出処理の処理手順を示すフローチャートである。図17に示すように、画像処理装置100は、エッジ抽出処理を実行しステップS115、疑似距離変換処理を実行するステップS116。画像処理装置100は、疑似スケルトン抽出処理を実行しステップS117、疑似スケルトンクラスタリング処理を実行しステップS118、疑似スケルトン評価処理を実行するステップS119。次に、図17のステップS116に示した疑似距離変換処理の処理手順について説明する。この疑似距離変換処理は、前向き処理と後ろ向き処理を順に実行する。図18および図19は、前向き処理の処理手順を示すフローチャートである。図20は、後ろ向き処理の処理手順を示すフローチャートである。前向き処理の処理手順について説明する。図18に示すように、画像処理装置100は、エッジ画像Eを取得しステップS120、距離変換マップMを設定するステップS121。画像処理装置100は、エッジ画像Eにおいて、0の画素を255とし、それ以外の画素を0に設定するステップS122。画像処理装置100は、y方向のカウンタiを0に設定しステップS123、x方向のカウンタjを0に設定するステップS124。画像処理装置100は、Ej,iの値が0の場合にはステップS125,Yes、ステップ127に移行する。一方、画像処理装置100は、Ej,iの値が0ではない場合にはステップS125,No、Mj,iの値を0に設定するステップS126。画像処理装置100は、jに1を加算しステップS127、Ej,iの値が0か否かを判定するステップS128。画像処理装置100は、Ej,iの値が0ではない場合にはステップS128,No、Mj,iの値を0に設定しステップS129、ステップS131に移行する。一方、画像処理装置100は、Ej,iの値が0の場合にはステップS128,Yes、Mj,iの値を、MIN[255、Mj-1、i2]としステップS130、jに1を加算するステップS131。画像処理装置100は、jの値がSizeX未満の場合にはステップS132,Yes、ステップS128に移行する。画像処理装置100は、jの値がSizeX未満ではない場合にはステップS132,No、図19のステップS133に移行する。画像処理装置100は、iの値に1を加算し、jの値を0に設定するステップS134。画像処理装置100は、Ej,iの値が0ではない場合にはステップS135,No、Mj,iの値を0に設定しステップS136、ステップS138に移行する。画像処理装置100は、Ej,iの値が0の場合にはステップS135,Yes、Mj,iの値を、MIN[255、Mj-1、i2、Mj1、i-13]とするステップS137。画像処理装置100は、jの値に1を加算しステップS138、Ej,iの値が0ではない場合にステップS139,No、Mj,iの値を0に設定するステップS140。画像処理装置100は、Ej,iの値が0の場合にステップS139,Yes、Mj,iの値を、MIN[255、Mj、i-12、Mj1、i-13、Mj-1、i-12、Mj-1、i-13]とするステップS141。画像処理装置100は、jの値に1を加算しステップS142、jの値がSizeX未満の場合にはステップS143,Yes、ステップS139に移行する。一方、画像処理装置100は、jの値がSizeX未満ではない場合にはステップS143,No、iの値に1を加算するステップS144。画像処理装置100は、iの値がSizeY未満の場合にはステップS145,Yes、ステップS134に移行する。一方、画像処理装置100は、iの値がSizeY未満ではない場合にはステップS145,No、前向き処理を終了する。次に、後ろ向き処理の処理手順について説明する。図20に示すように、画像処理装置100は、エッジ画像Eを取得しステップS150、距離変換マップMを設定するステップS151。画像処理装置100は、y方向のカウンタiをSizeY-1に設定しステップS152、画像処理装置100は、x方向のカウンタjをSizeX-1に設定するステップS153。画像処理装置100は、Mj,iの値を、MIN[Mi,j、Mj1,i2]に設定しステップS154、jの値から1を減算するステップS155。画像処理装置100は、jの値が0の場合にはステップS156,Yes、ステップS154に移行する。一方、画像処理装置100は、jの値が0ではない場合にはステップS156,No、jの値をSizeY-1に設定するステップS157。画像処理装置100は、Mj,iの値を、MIN[Mi,j、Mj、i112、Mj-1、i13]に設定しステップS158、jの値から1を減算するステップS159。画像処理装置100は、Mj,iの値を、MIN[Mi、j,Mj、i12、Mj-1、i13,Mj1、i2,Mj1、i13]とするステップS160。画像処理装置100は、jの値から1を減算しステップS161、jの値がSizeX未満の場合にはステップS162,Yes、ステップS160に移行する。一方、画像処理装置100は、jの値がSizeX未満ではない場合にはステップS162,No、iの値から1を減算するステップS163。画像処理装置100は、iの値がSizeY未満の場合にはステップS164,Yes、ステップS157に移行する。一方、画像処理装置100は、iの値がSizeY未満ではない場合にはステップS164,No、後ろ向き処理を終了する。次に、図17のステップS117に示した疑似スケルトン抽出処理の処理手順について説明する。図21は、疑似スケルトン抽出処理の処理手順を示すフローチャートである。図21に示すように、画像処理装置100は、画面サイズSizeX、SizeYを取得しステップS170、距離変換マップMを取得するステップS171。画像処理装置100は、スケルトン座標Px、Pyを取得しステップS172、スケルトン座標数NumPを取得するステップS173。画像処理装置100は、y方向のカウンタiの値を0に設定しステップS174、x方向のカウンタjの値を0に設定するステップS175。画像処理装置100は、注目画素が3×3の近傍で最も高いマップ値か否かを判定するステップS176。画像処理装置100は、注目画素が3×3の近傍で最も高いマップ値ではない場合にステップS176,No、ステップS179に移行する。一方、画像処理装置100は、注目画素が3×3の近傍で最も高いマップ値の場合にはステップS176,Yes、マップ値<Thmaxまたはマップ値>Thminであるか否かを判定するステップS177。画像処理装置100は、マップ値<Thmaxまたはマップ値>Thminではない場合にはステップS177,No、ステップS179に移行する。一方、画像処理装置100は、マップ値<Thmaxまたはマップ値>Thminである場合にはステップS177,Yes、PxNumPの値をjとし、PyNumPの値をiとするステップS178。画像処理装置100は、NumPの値に1を加算しステップS179、jの値に1を加算しステップS180、jの値がSizeX未満であるか否かを判定するステップS181。画像処理装置100は、jの値がSizeX未満の場合にはステップS181,Yes、ステップS176に移行する。一方、画像処理装置100は、jの値がSizeY未満ではない場合にステップS181,No、iの値に1を加算するステップS182。画像処理装置100は、iの値がSizeY未満の場合にはステップS183,Yes、ステップS175に移行する。一方、画像処理装置100は、iの値がSizeY未満ではない場合にはステップS183,No、疑似スケルトン抽出処理を終了する。次に、図17のステップS118に示した疑似スケルトンクラスタリング処理について説明する。図22~図24は、疑似スケルトンクラスタリング処理の処理手順を示すフローチャートである。図22に示すように、画像処理装置100は、画面サイズSizeX,SizeYを取得しステップS201、スケルトン座標配列Px,Pyを取得するステップS202。画像処理装置100は、スケルトン座標数NumPの値を0に設定しステップS203、スケルトンクラスPcを取得するステップS204。画像処理装置100は、スケルトンクラス数NumPcの値を0に設定するステップS205。画像処理装置100は、スケルトンクラスを初期値に設定するステップS206。画像処理装置100は、スケルトンカウンタiの値を0に設定しステップS207、スケルトンカウンタjの値をi1の値に設定するステップS208。画像処理装置100は、Dijの値を、sqrtPxi-Pxj^2Pyi-Pyj^2とするステップS209。画像処理装置100は、Dijの値が、Minvali,valj未満ではない場合にはステップS210,No、図23のステップS222に移行する。一方、画像処理装置100は、、Dijの値が、Minvali,valj未満の場合にはステップS210,Yes、Pciの値がPcjの値未満か否かを判定するステップS211。画像処理装置100は、Pciの値がPcjの値未満ではない場合にはステップS211,No、図23のステップS212に移行する。一方、画像処理装置100は、Pciの値がPcjの値未満の場合にはステップS211,Yes、図23のステップS217に移行する。図23の説明に移行する。画像処理装置100は、スケルトンカウンタiiの値を0に設定しステップS212、Pciiの値とPciの値とが等しくない場合にはステップS213,No、ステップS215に移行する。一方、画像処理装置100は、Pciiの値とPciの値とが等しい場合にはステップS213,Yes、Pciiの値をPcjに設定するステップS214。画像処理装置100は、iiの値に1を加算しステップS215、iiの値とj1の値とが等しくない場合にステップS216,No、ステップS213に移行する。一方、画像処理装置100は、iiの値とj1の値とが等しい場合にはステップS216,Yes、ステップS222に移行する。ところで、画像処理装置100は、スケルトンカウンタjjの値を0に設定しステップS217、Pcjjの値とPcjの値とが等しくない場合にはステップS218,No、ステップS220に移行する。一方、画像処理装置100は、Pcjjの値とPcjの値とが等しい場合にはステップS218,Yes、Pcjjの値をPciに設定するステップS219。画像処理装置100は、jjの値に1を加算しステップS220、jjの値とj1の値とが等しくない場合にステップS221,No、ステップS218に移行する。一方、画像処理装置100は、jjの値とj1の値とが等しい場合にはステップS221,Yes、ステップS222に移行する。画像処理装置100は、jの値に1を加算しステップS222、jの値がNumPの値未満ではない場合にはステップS223,No、図22のステップS208に移行する。一方、画像処理装置100は、jの値がNumPの値未満の場合にはステップS223,Yes、iの値に1を加算しステップS224、jの値がNumP-1の値未満か否かを判定するステップS225。画像処理装置100は、jの値がNumP-1の値未満ではない場合にはステップS225,No、図22のステップS209に移行する。一方、画像処理装置100は、jの値がNumP-1の値未満の場合にはステップS225,Yes、図24のステップS226に移行する。図24の説明に移行する。画像処理装置100は、スケルトンカウンタiの値を0に設定しステップS226、iの値とPciの値とが等しくない場合にはステップS227,No、Pciの値をPcPciの値に設定するステップS228。画像処理装置100は、iに1を加算しステップS229、ステップS232に移行する。一方、画像処理装置100は、iの値とPciの値とが等しい場合にはステップS227,Yes、PciにNumPcの値を設定するステップS230。画像処理装置100は、NumPcに1を加算するステップS231。画像処理装置100は、iの値とNumPの値とが等しくない場合にはステップS232,No、ステップS227に移行する。一方、画像処理装置100は、iの値とNumPの値とが等しい場合にはステップS232,Yes、疑似スケルトンクラスタリング処理を終了する。次に、図17のステップS119に示した疑似スケルトン評価処理について説明する。図25は、疑似スケルトン評価処理の処理手順を示すフローチャートである。図25に示すように、画像処理装置100は、スケルトンクラス変数iの値を0に設定しステップS250、クラス数Ncを取得するステップS251。画像処理装置100は、クラスiの上端の点と下端の点との距離を直線の長さlに設定しステップS252、ThLenMin<l<ThLenMaxの関係を満たさない場合にはステップS253,No、ステップS259に移行する。画像処理装置100は、ThLenMin<l<ThLenMaxの関係を満たす場合にはステップS253,Yes、クラスiのPx、Pyから最小二乗法により直線を算出するステップS254。画像処理装置100は、非直線度を算出しステップS255、非直線度がThlineより大きい場合にはステップS256,Yes、ステップS259に移行する。一方、画像処理装置100は、非直線度がThlineより大きくない場合にはステップS256,No、Ncnewに1を加算するステップS257。Ncnewの初期値を0とする。画像処理装置100は、クラスiの情報を格納しステップS258、iに1を加算するステップS259。画像処理装置100は、iの値がNcの値未満ではない場合にはステップS260,No、ステップS252に移行する。一方、画像処理装置100は、iの値がNcの値未満の場合にはステップS260,Yes、NcにNcnewの値を設定しステップS261、疑似スケルトン評価処理を終了する。次に、図16BのステップS51に示した輝度勾配による抽出処理の処理手順について説明する。図26および図27は、輝度勾配による抽出処理の処理手順を示すフローチャートである。図26に示すように、画像処理装置100は、スケルトンクラス変数iの値を0に設定しステップS270、クラス数Ncを取得しステップS271、候補画素数Numfingの値を0に設定するステップS272。画像処理装置100は、探索数Numcandの値を0に設定しステップS273、クラスカウンタNを設定するステップS274。画像処理装置100は、y方向カウンタiの値を0に設定しステップS275、x方向カウンタjの値を0に設定するステップS276。画像処理装置100は、座標j,iにおけるd、eを算出しステップS277、検索範囲内ではない場合にはステップS278,No、図27のステップS285に移行する。一方、画像処理装置100は、検索範囲内の場合にはステップS278,Yes、Numcardに1を加算しステップS279、指方向を算出するステップS280。画像処理装置100は、指方向の輝度勾配を算出しステップS281、円周方向の輝度勾配を算出するステップS282。画像処理装置100は、勾配比Gf/Gnが閾値未満の場合にはステップS283,Yes、図27のステップS285に移行する。一方、画像処理装置100は、勾配比Gf/Gnが閾値未満ではない場合にはステップS283,No、Numfingに1を加算しステップS284、図27のステップS285に移行する。図27の説明に移行する。画像処理装置100は、jから1を減算しステップS285、jの値がSizeXの値未満の場合にはステップS286,Yes、図26のステップS277に移行する。画像処理装置100は、jの値がSizeX未満ではない場合にはステップS286,No、iから1を減算しステップS287、iの値がSizeYの値未満の場合にはステップS288,Yes、図26のステップS276に移行する。画像処理装置100は、Numfing/Numcandの値が、Thmの値未満ではない場合にはステップS289,No、ステップS291に移行する。一方、画像処理装置100は、Numfing/Numcandの値がThmの値未満の場合にはステップS289,Yes、クラスNcの情報を指として出力領域に格納するステップS290。画像処理装置100は、Nに1を加算しステップS291、Nの値がNcの値未満の場合にはステップS292,Yes、ステップS275に移行する。一方、画像処理装置100は、Nの値がNcの値未満ではない場合にはステップS292,No、輝度勾配による抽出処理を終了する。次に、本実施例にかかる画像処理装置100の効果について説明する。画像処理装置100は、認識対象の画像からエッジを抽出し、エッジに挟まれた領域の疑似スケルトンを求める。そして、画像処理装置100は、疑似スケルトンとエッジとに囲まれる領域の長辺方向および短辺方向の輝度勾配を利用することで、指の領域か否かを判定する。このため、画像処理装置100によれば、背景色によらず指の領域を判定することができる。また、画像処理装置100は、表示部101bの画面上の領域と該画面上の領域に対応する操作の種別とを対応づけたボタン管理情報と指の領域の座標とを基にして、操作の種別を判定する。このため、画像処理装置100は、手と顔とが画像データに含まれている場合でも、指の動きによる操作を可能にする。また、画像処理装置100は、疑似スケルトンを抽出する場合に、エッジからの距離が所定の閾値未満となる疑似スケルトンを抽出する。このため、画像処理装置100は、指とは明らかに異なる疑似スケルトンを効率よく排除することができる。ところで、上記に示した画像処理装置100の処理は一例である。以下では、画像処理装置100のその他の処理について説明する。図1に示した第2指検出部103は、画像サイズ変更部201が、画像データのサイズを変更して、各サイズの画像データから、指の領域を検出する場合を例に説明したが、これに限定されるものではない。例えば、画像データのサイズを変更する代わりに、各閾値を変更することで、各サイズの画像データから、指の領域を検出することができる。例えば、第2指検出部103は、画像の横縦を1/2に縮小する代わりに、閾値Thmaxおよび閾値Thminの値、ThLenmaxより小さく、かつ、ThLenminの値を2倍にする。また、第2指検出部103は、Thlineの値を2倍にする。すなわち、第2指検出部103は、画像の横縦を1/n倍する場合には、閾値Thmaxおよび閾値Thminの値、ThLenmaxより小さく、かつ、ThLenminの値をn倍にする。また、第2指検出部103は、Thlineの値をn2倍にする。このように、第2指検出部103は、画像サイズを変更しなくても、各サイズに対応する指の領域を検出することができる。また、疑似スケルトン抽出部204は、疑似スケルトンを抽出する場合には、上記処理に加えて、輝度勾配を利用してもよい。例えば、疑似スケルトン抽出部204は、縦軸方向および横軸方向の輝度勾配を求め、縦軸方向および横軸方向の輝度勾配が所定の閾値未満となる疑似スケルトンを抽出してもよい。指は円柱状であるため、縦軸方向および横軸方向で輝度は変化しないが、鼻は末広がりになるので、縦軸方向および横軸方向で輝度が変わることを利用する。このような処理を疑似スケルトン抽出部204が実行することで、抽出する疑似スケルトンの数を減らして処理負荷を軽減し、指の検出精度を向上させることができる。ところで、画像処理装置100は、既存のPCPersonalComputerなどの情報処理装置に、画像処理装置100の各機能を搭載することによって実現することもできる。図28は、実施例にかかる画像処理装置を構成するコンピュータのハードウェア構成を示す図である。図28に示すように、このコンピュータ300は、各種演算処理を実行するCPUCentralProcessingUnit301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る読み取り装置304と、ネットワークを介して他の装置と通信を行うインターフェース装置305、画像を撮影するカメラ306とを有する。また、コンピュータ300は、各種情報を一時記憶するRAMRandomAccessMemory307と、ハードディスク装置308とを有する。各装置301~308は、バス309に接続される。ハードディスク装置308は、中心部抽出プログラム308a、分類プログラム308b、判定プログラム308cを記憶する。CPU301は、ハードディスク装置308に記憶された各プログラム308a~308cを読み出して、RAM307に展開する。これにより、中心部抽出プログラム308aは、中心部抽出プロセス307aとして機能する。分類プログラム308bは、分類プロセス307bとして機能する。判定プログラム308cは、判定プロセス307cとして機能する。例えば、中心部分抽出プロセス307aは、エッジ抽出部202、疑似距離変換部203、疑似スケルトン抽出部204に対応する。分類プロセス307bは、クラスタリング部205に対応する。判定プロセス307cは、輝度勾配抽出部207、指領域判定部208に対応する。なお、上記のプログラム308a~308cは、必ずしもハードディスク装置308に格納されている必要はない。例えば、CD-ROM等の記憶媒体に記憶されたプログラム308a~308cを、コンピュータ300が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LANLocalAreaNetwork、WANWideAreaNetwork等に接続された記憶装置に、各プログラム308a~308cを記憶させておいてもよい。この場合、コンピュータ300がこれらから各プログラム308a~308cを読み出して実行するようにしてもよい。以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。付記1画像領域からエッジを抽出し、エッジに挟まれた領域の中心部分を複数抽出する中心部分抽出部と、隣り合う中心部分の間にエッジが存在しない中心部分同士を同一のグループに分類することで、複数の中心部分をグループ分けする分類部と、前記分類部によりあるグループに分類された中心部分と該中心部分周辺のエッジとに囲まれる領域において、長辺方向の輝度勾配に対する短辺方向の輝度勾配の割合が所定の閾値以内となる場合に、該領域を指の領域であると判定する判定部とを有することを特徴とする画像処理装置。付記2前記判定部は、前記分類部によりあるグループに分類された中心部分と該中心部分周辺のエッジから得られる疑似スケルトンとスケルトンの各点のエッジからの距離値に基づき算出される矩形の領域において、長辺方向の輝度勾配に対する短辺方向の輝度勾配の割合が所定の閾値以内となる場合に、前記中心部分と同一のグループに分類される中心部分とエッジとに囲まれる領域を指の領域であると判定することを特徴とする付記1に記載の画像処理装置。付記3前記中心部分抽出部は、エッジに挟まれた領域の中心部分のうち、エッジからの距離が所定の閾値未満となる中心部分を抽出することを特徴とする付記1に記載の画像処理装置。付記4前記中心部分抽出部は、エッジに挟まれた領域の中心部分に対して、縦方向および横方向の輝度勾配を求め、縦方向および横方向の輝度勾配が所定の閾値未満となる中心部分を抽出することを特徴とする付記1、2または3に記載の画像処理装置。付記5コンピュータが実行する画像処理方法であって、画像領域からエッジを抽出し、エッジに挟まれた領域の中心部分を複数抽出し、隣り合う中心部分の間にエッジが存在しない中心部分同士を同一のグループに分類することで、複数の中心部分をグループ分けし、あるグループに分類された中心部分と該中心部分周辺のエッジとに囲まれる領域において、長辺方向の輝度勾配に対する短辺方向の輝度勾配の割合が所定の閾値以内となる場合に、該領域を指の領域であると判定することを特徴とする画像処理方法。付記6前記指の領域を判定する処理は、前記分類部によりあるグループに分類された中心部分と該中心部分周辺のエッジから得られる疑似スケルトンとスケルトンの各点のエッジからの距離値に基づき算出される矩形の領域において、長辺方向の輝度勾配に対する短辺方向の輝度勾配の割合が所定の閾値以内となる場合に、前記中心部分と同一のグループに分類される中心部分とエッジとに囲まれる領域を指の領域であると判定することを特徴とすることを特徴とする付記5に記載の画像処理方法。付記7中心部分を抽出する場合に、エッジに挟まれた領域の中心部分のうち、エッジからの距離が所定の閾値未満となる中心部分を抽出すること特徴とすることを特徴とする付記5に記載の画像処理方法。付記8中心部分を抽出する場合に、エッジに挟まれた領域の中心部分に対して、縦方向および横方向の輝度勾配を求め、縦方向および横方向の輝度勾配が所定の閾値未満となる中心部分を抽出することを特徴とする付記5、6または7に記載の画像処理方法。付記9コンピュータに、画像領域からエッジを抽出し、エッジに挟まれた領域の中心部分を複数抽出し、隣り合う中心部分の間にエッジが存在しない中心部分同士を同一のグループに分類することで、複数の中心部分をグループ分けし、あるグループに分類された中心部分と該中心部分周辺のエッジとに囲まれる領域において、長辺方向の輝度勾配に対する短辺方向の輝度勾配の割合が所定の閾値以内となる場合に、該領域を指の領域であると判定する処理を実行させる画像処理プログラム。付記10前記指の領域を判定する処理は、前記分類部によりあるグループに分類された中心部分と該中心部分周辺のエッジから得られる疑似スケルトンとスケルトンの各点のエッジからの距離値に基づき算出される矩形の領域において、長辺方向の輝度勾配に対する短辺方向の輝度勾配の割合が所定の閾値以内となる場合に、前記中心部分と同一のグループに分類される中心部分とエッジとに囲まれる領域を指の領域であると判定することを特徴とすることを特徴とする付記9に記載の画像処理プログラム。付記11中心部分を抽出する場合に、エッジに挟まれた領域の中心部分のうち、エッジからの距離が所定の閾値未満となる中心部分を抽出することを特徴とする付記9に記載の画像処理プログラム。付記12中心部分を抽出する場合に、エッジに挟まれた領域の中心部分に対して、縦方向および横方向の輝度勾配を求め、縦方向および横方向の輝度勾配が所定の閾値未満となる中心部分を抽出することを特徴する付記9、10または11に記載の画像処理プログラム。"