"入力画像から輪郭画素の系列を輪郭線毎に抽出する輪郭線抽出手段と、前記抽出された輪郭画素の系列を構成する輪郭画素の各々が予め定められた範囲内の画素と比較して明るいか或いは暗いかの明暗を判定する明暗判定手段と、前記判定された明暗が対応する前記輪郭線上で変化する変化点を、前記輪郭画素の系列から検出する変化点検出手段と、前記検出された変化点において対応する前記輪郭線を繋ぎ直すことにより、修正された輪郭線を構成する輪郭画素の系列を取得する輪郭線修正手段と、前記修正された輪郭線を構成する輪郭画素の系列を、前記入力画像から検出された領域の情報として取得する領域取得手段とを具備する領域検出装置。前記輪郭線修正手段は、前記検出された変化点において対応する前記輪郭線を構成する前記輪郭画素の系列を切断することにより、前記輪郭線の断片を構成する輪郭画素の系列を取得する輪郭線切断手段と、前記取得された断片のうちの1つ以上の断片の端点同士を繋ぎ合わせる輪郭線再接続手段とを含む請求項1記載の領域検出装置。前記輪郭線再接続手段は、取得された断片毎に、前記判定された明暗が一致し、且つ当該断片の第1の端点に対して最も正対する第2の端点を有する断片を選択して、当該第2の端点と前記第1の端点とを繋ぎ合わせる請求項2記載の領域検出装置。前記輪郭線抽出手段は、前記入力画像内の隣接する画素間からエッジを検出するエッジ検出手段と、前記エッジで区切られた画素の塊の輪郭線を追跡することにより前記輪郭線を構成する前記輪郭画素の系列を前記輪郭線毎に抽出する輪郭線追跡手段とを含む請求項1記載の領域検出装置。前記修正された輪郭線を構成する輪郭画素の系列を第1の輪郭画素の系列として、当該第1の輪郭画素の系列毎に、当該第1の輪郭画素の系列の凸包を構成する第2の輪郭画素の系列を抽出する凸包抽出手段を更に具備し、前記領域取得手段は、前記抽出された第2の輪郭画素の系列を、前記入力画像から検出された領域の情報として取得する請求項1記載の領域検出装置。輪郭線抽出手段と、明暗判定手段と、変化点検出手段と、輪郭線修正手段と、領域取得手段とを具備する領域検出装置において、入力画像から枠で囲まれた領域を検出する領域検出方法であって、前記輪郭線抽出手段が、前記入力画像から輪郭画素の系列を輪郭線毎に抽出するステップと、前記明暗判定手段が、前記抽出された輪郭画素の系列を構成する輪郭画素の各々が予め定められた範囲内の画素と比較して明るいか或いは暗いかの明暗を判定するステップと、前記変化点検出手段が、前記判定された明暗が対応する前記輪郭線上で変化する変化点を、前記輪郭画素の系列から検出するステップと、前記輪郭線修正手段が、前記検出された変化点において対応する前記輪郭線を繋ぎ直すことにより、修正された輪郭線を構成する輪郭画素の系列を取得するステップと、前記領域取得手段が、前記修正された輪郭線を構成する輪郭画素の系列を、前記入力画像から検出された領域の情報として取得するステップとを具備する領域検出方法。コンピュータを、入力画像から輪郭画素の系列を輪郭線毎に抽出する輪郭線抽出手段と、前記抽出された輪郭画素の系列を構成する輪郭画素の各々が予め定められた範囲内の画素と比較して明るいか或いは暗いかの明暗を判定する明暗判定手段と、前記判定された明暗が対応する前記輪郭線上で変化する変化点を、前記輪郭画素の系列から検出する変化点検出手段と、前記検出された変化点において対応する前記輪郭線を繋ぎ直すことにより、修正された輪郭線を構成する輪郭画素の系列を取得する輪郭線修正手段と、前記修正された輪郭線を構成する輪郭画素の系列を、前記入力画像から検出された領域の情報として取得する領域取得手段として機能させるためのプログラム。上述したような、道路標識から特定の色の枠を検出する第1の技術は、カラー画像を必要とする。このため、画像を取得する手段が例えばモノクロカメラである場合、色情報を利用できないことから、枠検出領域検出に第1の技術を適用することは難しい。また、第1及び第2の技術では、検出すべき領域を取り囲む枠が閉じている必要がある。しかし、領域検出に用いられる画像以下、原画像と称するの撮像条件によっては、光の反射等のために、いわゆる白飛びによって枠が途切れることがある。このような原画像から所望の領域を検出することは難しい。本発明が解決しようとする課題は、白飛びに頑健な領域検出を実現できる領域検出装置、領域検出方法及びプログラムを提供することにある。実施形態によれば、領域検出装置は、輪郭線抽出手段と、明暗判定手段と、変化点検出手段と、輪郭線修正手段と、領域取得手段とを具備する。前記輪郭線抽出手段は、入力画像から輪郭画素の系列を輪郭線毎に抽出する。前記明暗判定手段は、前記抽出された輪郭画素の系列を構成する輪郭画素の各々が予め定められた範囲内の画素と比較して明るいか或いは暗いかの明暗を判定する。前記変化点検出手段は、前記判定された明暗が対応する前記輪郭線上で変化する変化点を、前記輪郭画素の系列から検出する。前記輪郭線修正手段は、前記検出された変化点において対応する前記輪郭線を繋ぎ直すことにより、修正された輪郭線を構成する輪郭画素の系列を取得する。前記領域取得手段は、前記修正された輪郭線を構成する輪郭画素の系列を、前記入力画像から検出された領域の情報として取得する。以下、実施の形態につき図面を参照して説明する。[第1の実施形態]図1は第1の実施形態に係る領域検出装置のハードウェア構成を示すブロック図である。図1に示す領域検出装置は、コンピュータ以下、PCと称する10を用いて実現されるものとする。PC10は、CPU11と、記憶装置12と、入出力制御部13とを備えている。CPU11、記憶装置12及び入出力制御部13は、バス14によって相互接続されている。記憶装置12は、領域検出ソフトウェア121及び文字認識ソフトウェア122のようなソフトウェア群、入力画像、及び作業データ等を格納するのに用いられる。CPU11は、記憶装置12から領域検出ソフトウェア121を読み取って実行することにより、入力画像から枠に囲まれた領域を検出する領域検出処理を行う。領域検出処理は、領域検出結果を記憶装置12または外部デバイスに出力する処理を含む。CPU11はまた、記憶装置12から文字認識ソフトウェア122を読み取って実行することにより、領域検出処理で検出された領域内の文字を認識する文字認識処理を行う。文字認識処理は、文字認識結果を記憶装置12または外部デバイスに出力する処理を含む。入出力制御部13は、画像を撮像する画像取得手段としてのカメラ21と接続されている。入出力制御部13はまた、シリアルインタフェース22と接続されている。入出力制御部13は、カメラ21からの画像の入力、及び外部デバイスカメラ21以外の外部デバイスへのシリアルインタフェース22を介してのシリアル出力を制御つまり、外部の装置との間の入出力を制御する。入出力制御部13はまた、カメラ21から入力した画像を、例えばダイレクトメモリアクセスDMAにより記憶装置12へ転送する。入出力制御部13は更に、CPU11による領域検出ソフトウェア121或いは文字認識ソフトウェア122の実行の結果つまり、領域検出結果或いは文字認識結果等を、シリアルインタフェース22を介して外部デバイスにシリアル出力する、或いはバス14を介して記憶装置12に出力する。図2は第1の実施形態に係る領域検出装置の機能構成を示すブロック図である。図2に示す領域検出装置の機能構成は、CPU11が領域検出ソフトウェア121を読み取って実行することによって実現される。図2に示す領域検出装置は、輪郭線抽出手段210、選択手段220及び領域出力手段230を備えている。輪郭線抽出手段210は、カメラ21から入力された画像つまり、入力画像から輪郭線毎に輪郭画素の系列を検出することにより、当該輪郭画素の系列の集合S1を抽出する。選択手段220は、輪郭画素の系列の集合S1から1つまたは複数の輪郭画素の系列を選択することにより、当該選択した輪郭画素の系列の集合S4つまり、集合S1の部分集合S4を抽出する。領域出力手段230は、選択抽出された画素の系列の集合S4を、領域検出の結果として外部デバイスまたは記憶装置12に出力する。次に。図2に示す領域検出装置の動作について説明する。以下の説明では1次元の配列αの第i番目の要素をαi、2次元の配列βの横方向にj番目、縦方向にi番目の要素をβi,jと表す。但し、記号αは任意の1次元配列変数、βは任意の2次元配列変数の、それぞれ変数名を表すものとする。また、以下では入力画像が原則モノクログレースケール画像いわゆるものモノクロ画像であるものとして説明する。図3は入力画像の例を示す図である。図3に示す入力画像は、丸枠の中に文字列10を含む。入力画像は横幅w画素、高さh画素の画素値の配列であり、記憶装置12に格納される。また、以下の説明では、入力画像の座標x,yの画素を画素x,yと表記する。画素x,yの画素値は2次元配列f、つまりfx,yとして読み書きできるものとする。但し、xは図3における矢印31の方向右方向を正、yは図3における矢印32の方向下方向を正とする。輪郭線抽出手段210は、図3に示す入力画像から、輪郭線毎に輪郭画素の系列を検出することにより、当該輪郭画素の系列の集合S1を抽出する。この集合S1の抽出のために、輪郭線抽出手段210は、エッジ検出手段211及び輪郭線追跡手段212を備えている。エッジ検出手段211は、入力画像内の隣接する画素間からエッジを検出する。より詳細には、エッジ検出手段211は、隣接する画素間の画素値の差に基づいてエッジを検出する。ここではエッジ検出手段211は、隣接する画素間の画素値の差の絶対値がしきい値Te以上の場合にエッジを検出し、Te未満の場合にエッジを検出しない。輪郭線追跡手段212は、検出されたエッジで区切られた画素の塊毎に、当該画素の塊の輪郭線を追跡する。輪郭線追跡手段212は、輪郭線追跡により検出された輪郭線を構成する輪郭画素の系列を、上記画素の塊に対応する輪郭線毎に抽出する。以下、エッジ検出手段211によるエッジ検出の詳細について説明する。ここで、横方向x方向のエッジの有無を表す変数をhx,yと表記し、縦方向y方向のエッジの有無を表す変数をvx,yと表記する。エッジ検出手段211は、入力画像から、後述する方法で、変数hx,y及び縦方向のエッジの有無を表す変数vx,yを-1≦y≦h-1且つ1≦x≦w-1で規定される範囲の座標x,y全てについて算出する。変数hx,yは、入力画像の座標x,yの画素x,yと縦方向に隣接する画素x,y1とを結ぶ線分を横切る横エッジが検出されたか否かを表す。hx,yには、横エッジが検出された場合は0、当該横エッジが検出されなかった場合は1が代入される。したがってhx,yは、|fx,y-fx,y1|≧Teならば0、|fx,y-fx,y1|<Teならば1となる。変数vx,yは、入力画像の座標x,yの画素x,yと横方向に隣接する画素x1,yとを結ぶ線分を横切る縦エッジが検出されたか否かを表す。vx,yには、縦エッジが検出された場合は0、当該縦エッジが検出されなかった場合は1が代入される。したがってhx,yは、|fx,y-fx1,y|≧Teならば0、|fx,y-fx1,y|<Teならば1となる。但しエッジ検出手段211は、入力画像の外側の画素、即ちx<0またはx≧wまたはy<0またはy≧hの画素については、画素値fx,yが予め定められた値Cであるものとみなして、hx,y及びvx,yを算出する。図4は、図3に示す入力画像内で隣接する2つの画素の対の群のうち、エッジ検出手段211によって当該2つの画素間にエッジが検出されなかった画素同士を線分で結んだ様子を示す図である。輪郭線追跡手段212は、検出されたエッジ横方向のエッジまたは縦方向のエッジで区切られた画素の塊の輪郭線を追跡することにより、輪郭線毎に当該輪郭線を構成する輪郭画素の系列を検出する。輪郭線追跡手段212は、この輪郭線毎の輪郭画素の系列を検出することにより、検出された輪郭線の集合を表す、輪郭画素の系列の集合S1を抽出する。以下、輪郭線追跡手段212による輪郭線検出の詳細について説明する。輪郭線追跡手段212は、輪郭線検出のために以下の変数群a1入力画像と同様の、横幅w画素、高さh画素の整数の配列ga2輪郭線の追跡開始画素つまり追跡開始点の座標を表す整数変数x0,y0a3現在追跡中の画素輪郭点の座標を表す整数変数x,ya4上下左右の方向を、値0で右方向、値1で上方向、値2で左方向、値3で下方向を表す整数変数d0,d1,d2a5追跡中の輪郭線の番号且つ追跡が完了した輪郭線の個数を表す整数変数N1a5抽出列挙された輪郭画素の個数輪郭画素数を表す整数変数M1a6抽出列挙された輪郭画素の2次元座標を格納する配列変数配列p1a7要素r1nが、第n番目に追跡された輪郭線を構成する画素の系列の先頭画素つまり始点の配列p1中での位置を表す整数の配列変数配列r1a8要素m1nが、第n番目に追跡された輪郭線を構成する画素つまり輪郭画素の系列に含まれる輪郭画素の個数輪郭画素数を表す整数の配列変数配列m1を用いる。これらの変数群は、記憶装置12に格納される。次に、輪郭線追跡手段212によって実行される輪郭線抽出処理の手順について、図5及び図6のフローチャートを参照して説明する。この輪郭線抽出処理では、以下に述べるように、輪郭線を構成する輪郭画素が抽出列挙される。まず輪郭線追跡手段212は、N1を0に、M1を0に、それぞれ初期化するステップ501。また輪郭線追跡手段212は、配列gの要素を全て0に初期化するステップ502。また輪郭線追跡手段212は、y0を0に初期化するステップ503。次に輪郭線追跡手段212は、y0がhに達するまで以下のループAの処理ステップ504を繰り返す。まず輪郭線追跡手段212は、x0を0に初期化するステップ505。次に輪郭線追跡手段212は、x0がwに達するまで以下のループBの処理ステップ506を繰り返す。まず輪郭線追跡手段212は、gx0,y0=0で且つhx0,y0=0であるかを判定するステップ507。もし、ステップ507の判定がYesであるならば、輪郭線追跡手段212は、m1N1に0を、rN1にM1を、それぞれ代入するステップ508。また輪郭線追跡手段212は、xにx0を、yにy0を、それぞれ代入するステップ509。また輪郭線追跡手段212は、d0に2を代入するステップ510。次に輪郭線追跡手段212は、d1にd0を代入するステップ511。すると輪郭線追跡手段212は、x=x0で且つy=y0で且つd1=d0となるまで以下のループCの処理ステップ601を繰り返す。まず輪郭線追跡手段212は、p1M1に座標x,yを代入するステップ602。このステップ602が繰り返されることにより、座標x,yの画素x,yが輪郭画素として列挙抽出される。次に輪郭線追跡手段212は、m1N1にm1N11を代入しステップ603、M1にM11を代入するステップ604。次に輪郭線追跡手段212は、座標x,yの画素x,yと、当該画素x,yからd2が指し示す方向に隣接した画素隣接画素との間にエッジが検出されているかを判定するステップ605。このステップ605において輪郭線追跡手段212は、前記判定結果に基づき、隣接画素との間にエッジが検出されていない方向を指すようになるまで、d2を以下の値d13MOD4d1d11MOD4d12MOD4の順に変更する。但し、d2の方向の画素が入力画像の範囲外ならば、輪郭線追跡手段212は、隣接画素の値は0であるとみなす。ここで、aMODbはaをbで割った余りを表す。また輪郭線追跡手段212は、d2が指し示す方向に隣接した画素との間にエッジが検出されているかを、d2の値によって以下のように判定する。d2=0で且つhx,y=0なら、エッジが検出されている。d2=1で且つvx,y-1=0なら、エッジが検出されている。d2=2で且つhx-1,y=0なら、エッジが検出されている。d2=3で且つvx,y=0なら、エッジが検出されている。その他の場合は、エッジが検出されていない。輪郭線追跡手段212は、ステップ605を実行し終えると、d1にd2を代入しステップ606、gx,yに1を代入するステップ607。次に輪郭線追跡手段212は、d1の値に応じて、以下のいずれかの処理を行うステップ608。d1=0なら、輪郭線追跡手段212はxにx1を代入する。d1=1なら、輪郭線追跡手段212はyにy-1を代入する。d1=2なら、輪郭線追跡手段212はxにx-1を代入する。d1=3なら、輪郭線追跡手段212はxにy1を代入する。ステップ608の後、x=x0で且つy=y0で且つd1=d0が成立していないならば、輪郭線追跡手段212はループCステップ601を再び実行する。これに対し、x=x0で且つy=y0で且つd1=d0が成立しているならば、輪郭線追跡手段212はループCステップ601の繰り返しを終了する。すると輪郭線追跡手段212は、N1にN11を代入するステップ609。次に輪郭線追跡手段212は、x0を1増やすステップ610。また、前記ステップ507の判定がNoの場合にも、輪郭線追跡手段212はx0を1増やすステップ610。ステップ610の後、x0=wが成立していないならば、輪郭線追跡手段212はループBステップ506を再び実行する。これに対し、x0=wが成立しているならば、輪郭線追跡手段212はループBステップ506の繰り返しを終了する。すると輪郭線追跡手段212は、y0を1増やすステップ611。ステップ611の後、y0=hが成立していないならば、輪郭線追跡手段212はループAステップ504を再び実行する。これに対し、y0=hが成立しているならば、輪郭線追跡手段212はループAステップ504の繰り返しを終了する。以上に述べた輪郭線追跡手段212の処理により、記憶装置12には、抽出された輪郭線を構成する輪郭画素の系列の群に関する情報が格納される。図7は、この輪郭線の群に関する情報のデータ構造の例を示す図である。このデータ構造は、整数変数N1、整数変数M1、配列変数配列r1、配列変数配列p1及び配列変数配列m1を含む。図8は、図3に示した入力画像から輪郭線追跡手段212によって抽出された輪郭画素の系列全てをまとめて示す図である。図8には、11の輪郭画素の系列801乃至811より詳細には、11の輪郭線を構成する輪郭画素の系列801乃至811が示されている。系列801乃至811は、輪郭画素の系列の集合S1を構成する。図9は、図8に示した輪郭画素の系列801乃至811のうちの系列801乃至806を個別に示す図であり、図10は、当該輪郭画素の系列801乃至811のうちの系列807乃至811を個別に示す図である。再び図2を参照すると、選択手段220は、輪郭線抽出手段210によって抽出されたた集合S1から、1つまたは複数の輪郭画素の系列を選択する。そして選択手段220は、選択された輪郭画素の系列を含む集合S4を、集合S1の部分集合S4として抽出する。選択手段220による輪郭画素の系列つまり部分集合S4の選択抽出の詳細について以下に説明する。選択手段220は、n=0,...,N1-1の各々について、第n番目に追跡された輪郭線を構成する輪郭画素の系列を選択するか否かを、次のような方法により判定する。11まず選択手段220は、第n番目に追跡された輪郭線が取り囲む面積を算出する。算出された面積が負の場合、即ち第n番目に追跡された輪郭線がエッジで区切られた画素の塊の外輪郭をなす場合には、選択手段220は、当該輪郭線を構成する画素の系列を選択しないと判定する。図8に示した輪郭画素の系列輪郭線の集合の場合、例えば、系列802及び803のうちの系列802、系列804び805のうちの系列804、系列806及び807のうちの系列806、系列808及び809のうちの系列808、そして系列810及び811のうちの系列810が、上記外輪郭をなすために選択されない。第n番目に追跡された輪郭線が取り囲む面積は、i=0,...,m1n-1の各々についての以下の値p1r1ni.xp1r1ni1MODm1n.x×p1r1ni.y-p1r1ni1.y/2を足し合わせることによって算出される。ここで、p1r1ni.xは、p1r1niに格納された2次元座標のx成分を示し、p1r1ni.yは、p1r1niに格納された2次元座標のy成分を示す。p1r1ni1.についても同様である。12次に選択手段220は、i=0,...,m1n-1に関するp1r1ni.xの、それぞれ最小値xminn及び最大値xmaxnを算出する。そして選択手段220は、第n番目に追跡された輪郭線の幅xmaxn-xminn1を算出する。算出された幅xmaxn-xminn1が、予め定められたしきい値wmin未満であるか、或いは予め定められたしきい値wmaxを超えるならば、選択手段220は、第n番目に追跡された輪郭線を構成する輪郭画素の系列を選択しない。wminが後述するように16の場合、上述の外輪郭をなさない系列807,809及び811も選択されない。13同様に選択手段220は、i=0,...,m1n-1に関するp1r1ni.yの、それぞれ最小値yminn及び最大値ymaxnを算出する。そして選択手段220は、第n番目に追跡された輪郭線の高さymaxn-yminn1を算出する。算出された高さxmaxn-xminn1が、予め定められたしきい値hmin未満であるか、或いは予め定められたしきい値hmaxを超えるならば、選択手段220は、第n番目に追跡された輪郭線を構成する輪郭画素の系列を選択しない。wmax及びhmaxは、入力画像の周縁に対応する輪郭線の輪郭画素の系列801のように、枠とは無関係の輪郭線の輪郭画素の系列が選択されるのを防止するために設定される。一方、wmin及びhminは、枠として用いられないような小領域の輪郭線の輪郭画素の系列が選択されるのを防止するために設定される。14上記12、13のいずれにも該当しない場合、選択手段220は、第n番目に追跡された輪郭線を構成する輪郭画素の系列を選択する。このようにして選択手段220は、集合S1から選択条件に合致する輪郭画素の系列を選択し、当該選択された輪郭画素の系列を集合部分集合S4に格納する。集合S4の記憶装置12におけるデータ構造は集合S1と同様である。つまり、集合S4のデータ構造は、変数M1、N1、r1、p1、m1の代わりに、変数M4、N4、r4、p4、m4を用いる点を除いてS1と同等である。後述する集合S2についても同様であり、変数M1、N1、r1、p1、m1の代わりに、変数M2、N2、r2、p2、m2が用いられる。また、後述する集合S3についても同様であり、変数M1、N1、r1、p1、m1の代わりに、変数M3、N3、r3、p3、m3が用いられる。図11は、図9及び図10に示した輪郭画素の系列801乃至811から、上述の選択条件の下で選択手段220により抽出された輪郭画素の系列の集合S4の例を示す図である。選択条件は、例えばwmin=16、hmin=16、wmax=34、hmin=34を含む。図11では、集合S4を構成する輪郭画素の系列つまり選択された輪郭画素の系列が実線で表され、選択されなかった輪郭画素の系列が破線で表されている。図11の例では、集合S4は、2個の輪郭画素の系列803及び805から構成されており、領域検出装置によって検出された領域を表す。なお、選択手段220が、前述の方法で抽出した集合のうちで面積が最大の系列だけを含む集合を集合S4として抽出してもよい。また選択手段220が、集合S1を構成する全ての輪郭画素の系列をS4に含めても良い。つまり、S4=S1とすることにより、枠で囲まれた領域の輪郭画素の系列だけでなく、他の領域の輪郭画素の系列を抽出しても構わない。このように選択手段220において輪郭画素の系列を選択する方法は、後続の処理の負荷の大小や利用可能な計算機資源等の条件が許す限り、いかなる方法であっても良い。領域出力手段230は、選択手段220によって輪郭画素の系列の集合S4が抽出されると領域取得手段として機能して、当該輪郭画素の系列の集合S4を、入力画像から検出された領域の情報つまり、領域検出の結果として取得する。領域出力手段230は、取得された領域検出の結果つまり集合S4を、領域検出装置の外部のデバイス外部デバイスまたは記憶装置12に出力する。ここでは、領域出力手段230による集合S4の出力は、文字認識ソフトウェア122より詳細には、文字認識ソフトウェア122に従って文字認識処理を実行するCPU11から参照可能な記憶装置12の領域に変数M4、N4、r4、p4、m4のコピーを作成することによって行われる。なお、領域出力手段230による集合S4の出力が、例えば入出力制御部13及びシリアルインタフェース22を介して、変数M4、N4、r4、p4、m4の内容を外部デバイスに送信することで行われても構わない。つまり、領域出力手段230による集合S4の出力は、当該集合S4が何らかの形で情報処理の用に供される方法で行われるならば、他の方法で行われても構わない。図12は、第1の実施形態に係る領域検出装置に付加されている文字認識機構の機能構成を示すブロック図である。図12に示す文字認識機構の機能構成は、CPU11が文字認識ソフトウェア122を読み取って実行することによって実現される。なお、文字認識機構が、外部デバイスに備えられていてもよい。この場合、領域出力手段230による集合S4の出力が、外部デバイスに対して行われればよい。図12に示す文字認識機構は、2値化手段240、画像抽出手段250、認識手段260及び認識結果出力手段270を備えている。2値化手段240は、入力画像を2値化して2値画像を生成する。画像抽出手段250は、領域出力手段230によって出力された集合S4に含まれる輪郭画素の系列の各々について、上記2値画像から対応する画像を抽出する。つまり画像抽出手段250は、図2に示す領域検出装置によって検出された領域の画像を抽出する。認識手段260は、画像抽出手段250によって抽出された画像上の文字つまり領域検出装置で検出された領域内の文字を認識する。認識結果出力手段270は、認識手段260によって認識された結果認識結果を、記憶装置12または外部デバイスに出力する。以下、図12に示す文字認識機構の動作の詳細について説明する。2値化手段240は、入力画像を2値化して2値画像を生成する。この2値化には、例えば、周知のNiblackのアルゴリズムが用いられるものとする。図13は、図3に示した入力画像を2値化することによって生成される2値画像の例を示す図である。画像抽出手段250は、集合S4に含まれる輪郭画素の系列で示される領域つまり、領域検出装置によって検出された領域の内部の画素を、上記2値画像から抽出する。そして画像抽出手段250は、検出された領域の外部の画素を白画素で埋めることにより、当該領域の外部の画素が白画素で埋められた抽出画像を生成する。この画像抽出手段250による抽出画像の生成について更に具体的に説明する。まず画像抽出手段250は、周知のソリッドスキャンコンバージョンのアルゴリズムを用いて、集合S4に含まれる輪郭画素の系列に囲まれた領域検出された領域内の画素値が1で、当該領域外の画素値が0のマスク画像を生成する。そして画像抽出手段250は、マスク画像上の画素値が1の座標における画素値が入力画像のそれと一致し、残りの画素の画素値が白を示す抽出画像を生成する。図14は、図3に示した入力画像から最終的に抽出される輪郭画素の系列が図11に示した系列803及び805である場合に、画像抽出手段250により生成されるマスク画像及び抽出画像の例を示す図である。ここでは、マスク画像は図14aに示されており、画素値が1の画素が白で、画素値が0の画素が灰色で表されている。画素値が1の画素つまり、白で表される画素の領域は、図11に示した系列805の示す輪郭線の内部の領域であり、図3に示した入力画像に含まれている丸枠内の領域に対応する。一方、抽出画像は図14bに示されている。図14bに示す抽出画像は、図3に示した入力画像に含まれている丸枠内の文字列10を含む。認識手段260は、周知の文字認識処理により文字列画像上の文字文字列を次のように認識する。まず認識手段260は、上記抽出画像からラベリングにより黒画素の連結成分を抽出した上で、当該連結成分の外接矩形内から部分画像を抽出する。次に認識手段260は、抽出された部分画像を部分空間法により認識して、認識結果に対応する文字コードを取得する。認識結果出力手段270は、認識手段260によって取得された文字コードを記憶装置12に出力する。もし、認識手段260によって複数の文字コードが取得されたならば、認識結果出力手段270は、当該複数の文字コードを外接矩形の中心座標の順にソートする。そして認識結果出力手段270は、ソートされた文字コードの列を、文字認識結果を表す文字列データとして、記憶装置12に出力する。なお、認識結果出力手段270が、文字列データと改行コードASCIIコードならば0x0aとを文字認識結果として入出力制御部13及びシリアルインタフェース22を介して外部デバイスに出力してもよい。つまり、認識結果出力手段270による文字認識結果の出力は、当該文字認識結果が何らかの形で情報処理の用に供される方法で行われるならば、他の方法で行われても構わない。第1の実施形態によれば、入力画像がモノクログレースケールでありながら、当該入力画像内の隣接する画素間からエッジを検出し、検出されたエッジで区切られた画素の塊毎に、当該画素の塊の輪郭線を追跡することにより、領域を形成する輪郭線を検出すること、つまり領域を検出することができる。上記第1の実施形態では、入力画像がモノクログレースケールであることを想定している。しかしながら、入力画像がカラーであっても構わない。入力画像がカラーである場合、画素値の配列fの各要素に、カラーの画素値を表現する2次元以上のベクトル以下、画素値ベクトルと称するを適用するとよい。画素値ベクトルを適用する場合、第1の実施形態において、しきい値Teとの比較のためエッジ検出手段211によって算出される、隣接する画素間の画素値の差の絶対値に代えて、当該隣接する画素間の画素値ベクトルの差分のノルムを用いるとよい。また、画素値ベクトルの成分を、赤、緑、青の色成分を表すRGB値としても、或いは赤、緑の色成分を表す2値としてもよい。要するに、画素値ベクトルの成分として、カメラ21で撮像された画像の色を表現する値の組み合せならば、いずれを用いても構わない。また、カメラ21から入力された画素値の色成分の組み合せを、エッジ検出により一層適した別の色成分に変換する前処理が行われてもよい。この前処理として、例えばRGB表色系からHSV表色系への変換等が挙げられる。[第2実施形態]次に、第2の実施形態について説明する。第2の実施形態に係る領域検出装置のハードウェア構成は、第1の実施形態と同様である。但し、領域検出ソフトウェア121の構成は第1の実施形態と異なる。一方、文字認識ソフトウェア122の構成、つまり文字認識機構の構成は第1の実施形態と同様である。これらの点を考慮して、以下の説明では、便宜的に図1及び図12を援用する。図15は第2の実施形態に係る領域検出装置の機能構成を示すブロック図である。図15において図2と等価な構成要素には同一参照番号を付して、当該等価な構成要素についての詳細な説明は省略する。図15に示す領域検出装置は、図2に示した領域検出装置第1の実施形態と同様に、輪郭線抽出手段210及び領域出力手段230を備えている。この領域検出装置は更に、凸包抽出手段280及び選択手段221を備えている。凸包抽出手段280は、輪郭線抽出手段210より詳細には、輪郭線抽出手段210の輪郭線追跡手段212によって抽出された輪郭画素の系列以下、第1の輪郭画素の系列と称するの集合S1に基づき、当該第1の輪郭画素の系列の各々の凸包を抽出する。具体的には、凸包抽出手段280は、集合S1に含まれる第1の輪郭画素の系列の各々について、GrahamScanのアルゴリズムを適用することで当該第1の輪郭画素の系列の凸包の頂点に位置する輪郭画素が当該凸包の外輪上での順に並んだ系列以下、第2の輪郭画素の系列と称するを抽出する。凸包抽出手段280は、抽出された第2の輪郭画素の系列を全て含む集合S3を取得する。つまり凸包抽出手段280は、集合S1に含まれる第1の輪郭画素の系列に対応して抽出された全ての第2の輪郭画素の系列を含む集合S3を取得する。集合S3を構成する第2の輪郭画素の系列の情報変数M3、N3、r3、p3、m3は記憶装置12に格納される。選択手段221は、凸包抽出手段280によって取得された第2の輪郭画素の系列の集合S3から1つまたは複数の輪郭画素の系列を選択することにより、当該選択した輪郭画素の系列の集合S4つまり、集合S3の部分集合S4を抽出する。次に、第2の実施形態の特徴について説明する。まず輪郭線抽出手段210が、入力画像から、第1の実施形態と同様に輪郭線毎に輪郭画素の系列を検出することにより、当該輪郭画素の系列の集合S1を抽出したものとする。図16は、この入力画像の例を示す図である。図16に示す入力画像では、図3に示した入力画像と異なり、丸枠内の文字列10のうちの文字0の一部が、当該丸枠の内側と接触している。図17は、図16に示した入力画像から輪郭線追跡手段212によって抽出された輪郭画素の系列全てをまとめて示す図である。図17には、10の輪郭画素の系列1701乃至1710より詳細には、10の輪郭線を構成する輪郭画素の系列1701乃至1710が示されている。系列1701乃至1710は、輪郭画素の系列の集合S1を構成する。ここで、系列1701乃至1704は、それぞれ図8の系列801乃至804に対応し、系列1706,1707,1708,1709及び1710は、それぞれ図8の系列806,807,809,810,及び811に対応する。これに対し、系列1705は、図8の2つの系列805及び808に対応する。その理由は、上述したように、図8の系列805に対応する丸枠の内側の輪郭線と文字0の外側の輪郭線とが接触しているためである。図18は、図17に示した輪郭画素の系列1701乃至1710のうちの系列1701乃至1706を個別に示す図であり、図19は、当該輪郭画素の系列1701乃至1710のうちの系列1707乃至1710を個別に示す図である。図20は、図17に示した輪郭画素の系列1701乃至1710のうちの系列1705から凸包抽出手段280によって抽出された凸包を構成する輪郭画素の系列の例を示す図である。ここでは、第1の実施形態から類推されるように、輪郭画素の系列の集合S4は、系列1705から抽出された凸包を構成する輪郭画素の系列図20参照と、系列1703から抽出された凸包を構成する輪郭画素の系列とから構成される。図21は、図16に示した入力画像の場合に、画像抽出手段250によって生成されるマスク画像及び抽出画像の例を示す図である。ここでは、マスク画像は図21aに示されており、画素値が1の画素が白で、画素値が0の画素が灰色で表されている。このマスク画像は、図16に示した入力画像及び図20に示した輪郭画素の系列つまり、系列1705から抽出された凸包を構成する輪郭画素の系列に基づいて画像抽出手段250によって生成されたものである。一方、抽出画像は図21bに示されている。図21bは、図16に示した入力画像及び図21aに示したマスク画像に基づいて生成される抽出画像の例を示している。図22は第2の実施形態との比較のために、図16に示した入力画像の場合に、第1の実施形態において画像抽出手段250によって生成されるマスク画像及び抽出画像の例を示す図である。ここでは、マスク画像は図22aに示されており、抽出画像は図22bに示されている。図22aに示すマスク画像は、図16に示した入力画像と図18eに示した輪郭画素の系列に基づいて生成されたものであり、画素値が1の画素が白で、画素値が0の画素が灰色で表されている。図22aに示すマスク画像では、文字0を取り囲む輪郭線と枠の内側の輪郭線とが繋がっており、文字0を囲んでいない。したがって、図22aに示すマスク画像と図16に示した入力画像とに基づいて抽出画像を生成すると、図22bに示すように、文字0が消失し、文字列10のうちの文字1のみが残ったものとなる。第2実施形態において、凸包を構成する輪郭画素の系列を適用しているのは、このような文字の消失より詳細には、検出されるべき領域の輪郭線が枠に接触していることに起因して発生する文字の消失を防止するためである。第2の実施形態によれば、抽出された輪郭線を構成する輪郭画素の系列の各々の凸包を抽出することにより、たとえ枠と枠内の文字等が接触している場合でも、枠の内側と外側の区別をより確実にし、枠に囲まれた領域の検出性能を向上することができる。[第3の実施形態]次に、第3の実施形態について説明する。第3の実施形態に係る領域検出装置のハードウェア構成は、第1の実施形態と同様である。但し、領域検出ソフトウェア121の構成は第1の実施形態と異なる。一方、文字認識ソフトウェア122の構成、つまり文字認識機構の構成は第1の実施形態と同様である。これらの点を考慮して、以下の説明では、便宜的に図1及び図12を援用する。図23は第3の実施形態に係る領域検出装置の機能構成を示すブロック図である。図23において図2と等価な構成要素には同一参照番号を付して、当該等価な構成要素についての詳細な説明は省略する。図23に示す領域検出装置は、図2に示した領域検出装置第1の実施形態と同様に、輪郭線抽出手段210及び領域出力手段230を備えている。図23に示す領域検出装置は更に、明暗判定手段290、変化点検出手段300、輪郭線修正手段310及び選択手段222を備えている。明暗判定手段290は、輪郭線抽出手段210より詳細には、輪郭線抽出手段210の輪郭線追跡手段212によって抽出された輪郭画素の系列の集合S1に基づき、当該輪郭画素の系列が近傍の画素と比較して明るいか暗いかを判定する。変化点検出手段300は、明暗判定手段290によって判定された明暗が対応する輪郭画素の系列で示される輪郭線上で変化する点画素の集合を当該輪郭画素の系列上で検出する。輪郭線修正手段310は、変化点検出手段300によって検出された点において輪郭線を繋ぎ直し、その繋ぎ直された輪郭線を構成する画素輪郭画素の系列の集合S2を取得する。選択手段222は、輪郭線修正手段310によって取得された集合S2から1つまたは複数の輪郭画素の系列を選択することにより、当該選択した輪郭画素の系列の集合S4つまり、集合S3の部分集合S4を抽出する。次に。図23に示す領域検出装置の動作について説明する。ここでは、図23に示す領域検出装置によって図24に示す入力画像から枠で囲まれた領域が検出されるものとする。図24に示す入力画像では、図3に示した入力画像と異なり、枠丸枠の一部に、いわゆる白飛びが発生している。つまり、本来黒画素として検出されるべき画素の系列が徐々に白画素に変化している。輪郭線抽出手段210のエッジ検出手段211は、図24に示す入力画像内の隣接する画素間からエッジを検出する。図25は、図24に示す入力画像内で隣接する2つの画素の対の群のうち、エッジ検出手段211によって当該2つの画素間にエッジが検出されなかった画素同士を線分で結んだ様子を示す図である。輪郭線抽出手段210の輪郭線追跡手段212は、エッジ検出手段211によって検出されたエッジで区切られた画素の塊毎に、当該画素の塊の輪郭線を追跡する。輪郭線追跡手段212は、輪郭線追跡により検出された輪郭線を構成する輪郭画素の系列を、上記画素の塊に対応する輪郭線毎に抽出する。図26は、図24に示した入力画像から輪郭線追跡手段212によって抽出された輪郭画素の系列全てをまとめて示す図である。図26には、8つの輪郭画素の系列2601乃至2608より詳細には、8つの輪郭線を構成する輪郭画素の系列2601乃至2608が示されている。系列2601乃至2608は、輪郭画素の系列の集合S1を構成する。ここで、系列2603乃至2608は、それぞれ図8の系列806乃至811に対応する。これに対し、系列2601は、図8の2つの系列802及び803に対応し、系列2602は、図8の2つの系列804及び805に対応する。その理由は、上述したように、図8の系列802及び803並びに804及び805に対応する丸枠の部分で白飛びが発生しているためである。なお、図26には、図8の系列801に相当する輪郭画素の系列は省略されている。図27は、図26に示した輪郭画素の系列2601乃至2608のうちの系列2601乃至2606を個別に示す図であり、図28は、当該輪郭画素の系列2601乃至2608のうちの系列2607及び2608を個別に示す図である。明暗判定手段290は、上記集合S1に含まれている輪郭画素の系列における輪郭画素の各々が近傍の画素と比較して明るいか暗いかを判定する。具体的には、明暗判定手段290は、輪郭画素が近傍の画素予め定められた範囲内の画素と比較して明るいか暗いかを、当該輪郭画素の画素値と、当該輪郭画素の上下左右にD画素を含む正方形つまり、当該輪郭画素を中心とする縦横が2D1の領域の内部の画素値の平均値とを比較することで判定する。図29に明暗判定手段290による明暗判定の対象となる画素と近傍の画素との位置関係の例を示す。図29において、判定の対象となる画素には記号×が付されている。明暗判定手段290による上述の明暗判定は、M1個の輪郭画素の各々について行われる。M1個の輪郭画素の各々の明暗判定結果は、要素数M1の整数配列sに格納される。この整数配列sは記憶装置12に格納される。以下、明暗判定手段290によって実行される明暗判定処理の手順について図30のフローチャートを参照して説明する。まず明暗判定手段290は、輪郭画素の番号を表す整数変数iを0に初期化するステップ3001。次に明暗判定手段290は、iがM1以上であるかを判定するステップ3002。もし、i≧M1でないならばステップ3002のNo、明暗判定手段290は、座標p1i.x,p1i.yの画素の画素値と、当該画素の上下左右にD画素を含む正方形の内部の画素値の平均値との差Δiを計算するステップ3003。次に明暗判定手段290は、Δiが正であるかを判定するステップ3004。明暗判定手段290は、Δiが正であるならばステップ3004のYes、siに明を示す1を代入しステップ3005、そうでないならばステップ3004のNo、siに暗を示す0を代入するステップ3006。siは、図7に示した配列配列変数p1の座標p1i.x、p1i.yに対応付けて記憶装置12に格納される。次に明暗判定手段290は、iにi1を代入してステップ3007、ステップ3002に戻る。以上の処理がM1回繰り返されて、i≧M1となるとステップ3002のYes、明暗判定手段290は明暗判定処理を終了する。図31は、明暗判定手段290によって取得される、配列p1内の各画素つまり抽出された輪郭画素の系列の各画素が近傍の画素と比較して明るいか暗いかの判定結果を示す配列配列変数s1を含む、記憶装置12に格納される輪郭線の群に関する情報のデータ構造の例を示す図である。変化点検出手段300は、明暗判定手段290によって判定された明暗が対応する輪郭画素の系列で示される輪郭線上で変化する点以下、変化点と称するを、当該輪郭画素の系列上で検出する。変化点検出手段300は、検出された変化点を、対応する輪郭線の輪郭画素の系列上での当該変化点の順序数として、記憶装置12に格納する。以下、変化点検出手段300によって実行される変化点検出処理の手順について図32のフローチャートを参照して説明する。まず変化点検出手段300は、輪郭線の番号を表す整数変数jを0に初期化するステップ3201。以下の説明では、jで示される輪郭線を輪郭線jと称することもある。次に変化点検出手段300は、jがN1以上であるかを判定するステップ3202。もし、j≧N1でないならばステップ3202のNo、輪郭線j上の変化点の個数を示す整数の配列変数ejに0を代入するステップ3203。次に変化点検出手段300は、sm1j-1とs0とが異なるかを判定するステップ3204。つまり変化点検出手段300は、輪郭線jの終点最後の画素及び始点最初の画素の明暗が異なるかを判定する。もし、sm1j-1≠s0であるならばステップ3204のYes、変化点検出手段300は、輪郭線jの始点は終点に対して変化点であると判定する。この場合、変化点検出手段300は、変化点の輪郭線j上における輪郭画素の番号を表す整数の配列変数cejr1jに0を代入しステップ3205、ejを1増やすステップ3206。そして変化点検出手段300は、輪郭線j上の輪郭画素の番号を表す整数変数iを1に初期化するステップ3207。以下の説明では、iで示される輪郭画素を輪郭画素iと称することもある。一方、sm1j-1≠s0でないならばステップ3204のNo、変化点検出手段300はステップ3207にジャンプしてiを1に初期化する。次に変化点検出手段300は、前述のステップ3002と同様にiがM1以上であるかを判定するステップ3208。もし、i≧M1でないならばステップ3208のNo、変化点検出手段300は、si-1とsiとが異なるかを判定するステップ3209。つまり変化点検出手段300は、輪郭線j上のi-1番目の画素及びi番目の画素の明暗が異なるかを判定する。もし、si-1≠siであるならばステップ3209のYes、変化点検出手段300は、i番目の画素は変化点であると判定し、cejr1jにiを代入しステップ3210、ejを1増やすステップ3211。次に変化点検出手段300はiにi1を代入しステップ3212、ステップ3208に戻る。これに対し、si-1≠siでないならばステップ3209のNo、つまりsi-1=siであるならば、変化点検出手段300はi番目の画素は変化点でないと判定する。この場合、変化点検出手段300は、ステップ3212にジャンプしてiにi1を代入し、ステップ3208に戻る。ステップ3208において変化点検出手段300は、i≧m1jであるかを判定する。もし、i≧m1jであるならばステップ3208のYes、変化点検出手段300はjにj1を代入しステップ3213、ステップ3202に戻る。ステップ3202において変化点検出手段300は、j≧N1であるかを判定する。もし、j≧N1であるならばステップ3202のYes、変化点検出手段300は変化点検出処理を終了する。図33は、変化点検出手段300によって取得される、各輪郭線上の変化点の個数を表す配列e及び当該変化点の輪郭画素の番号を表す配列cを含む、記憶装置12に格納される輪郭線の群に関する情報のデータ構造の例を示す図である。輪郭線修正手段310は、変化点検出手段300によって検出された変化点において輪郭線を繋ぎ直す。そして輪郭線修正手段310は、繋ぎ直された輪郭線を構成する画素輪郭画素の系列の集合S2を取得する。輪郭線修正手段310は、上述の輪郭線の繋ぎ直しつまり修正のために、輪郭線切断手段311及び輪郭線再接続手段312を備えている。輪郭線切断手段311は、変化点検出手段300によって検出された変化点において対応する輪郭画素の系列つまり輪郭線を切断する。輪郭線切断手段311は、この輪郭線の切断により、切断された輪郭線の断片を構成する輪郭画素の系列を取得する。取得された、輪郭線の断片を構成する輪郭画素の系列は、記憶装置12に格納される。輪郭線再接続手段312は、輪郭線切断手段311によって取得された輪郭線の1つまたは複数の断片つまり1つ以上の断片を構成する輪郭画素の系列1つ以上の系列における端点を繋ぎ合わせる。この接続つまり断片の接続により、輪郭線再接続手段312は、接続修正された輪郭線を構成する画素の系列を取得する。第3の実施形態では、輪郭線の断片を構成する輪郭画素の系列に含まれる画素輪郭画素の座標が要素数M1の配列p8に格納される。また、輪郭線の断片を構成する画素の系列に含まれる当該画素の数輪郭画素数が整数の配列m8に、当該系列つまり断片の始点のp8中での位置開始位置が整数の配列r8に格納される。図34は、輪郭線の断片を構成する輪郭画素の系列を含む、記憶装置12に格納される輪郭線の群に関する情報のデータ構造の例を示す図である。次に、輪郭線切断手段311によって実行される輪郭線切断処理の手順について、図35乃至図37のフローチャートを参照して説明する。まず輪郭線切断手段311は、切断中の輪郭線の番号を表す変数jを0に初期化するステップ3501。このステップ3501において輪郭線切断手段311は、kを0に、N8を0に、それぞれ初期化する。kは輪郭線の切断された断片の始点の、当該輪郭線の輪郭画素の系列における位置番号を表す整数変数、N8は配列p8の要素数を表す整数変数である。次に輪郭線切断手段311は、jがN1以上であるかを判定するステップ3502。もし、j≧N1でないならばステップ3502のNo、輪郭線切断手段311はejが0であるかを判定するステップ3503。つまり輪郭線切断手段311は、輪郭線j上の変化点の個数が0であるかを判定する。もし、ej=0であるならばステップ3503のYes、輪郭線切断手段311はm8N8にm1jを、r8N8にkを、iに0を、それぞれ代入するステップ3504,3505,3506。次に輪郭線切断手段311は、iがm1j以上であるかを判定するステップ3507。もし、i≧m1jでないならば、輪郭線切断手段311はp8k.xにp1k.xを、p8k.yにp1k.yを、それぞれ代入するステップ3508,3509。つまり輪郭線切断手段311は、輪郭線j上のk番目の画素の座標を配列p1から配列p8にコピーする。次に輪郭線切断手段311は、i及びkを、それぞれ1増やすステップ3510。すると輪郭線切断手段311はステップ3507に戻り、iがm1j以上であるかを判定する。もし、i≧m1jであるならばステップ3507のYes、輪郭線切断手段311はN8を1増やしステップ3511、しかる後にjを1増やすステップ3512。そして輪郭線切断手段311はステップ3502に戻る。一方、ステップ3503で、ej=0でないと判定されたならば、輪郭線切断手段311はステップ3601に進む。ステップ3601において輪郭線切断手段311は、cr1jが0であるかを判定する。もし、cr1j=0であるならばステップ3601のYes、輪郭線切断手段311は、輪郭線上で最後に切り出す断片の直前の変化点の輪郭線上での番号を表す整数変数eaにej-1を代入するステップ3602。そして輪郭線切断手段311は、後述するステップ3706に進む。これに対し、cr1j=0でないならばステップ3601のNo、輪郭線切断手段311はsi2にcej-1を代入するステップ3603。また輪郭線切断手段311は、ei3にc0-1を、eaにej-2をそれぞれ代入するステップ3604,3605。輪郭線切断手段311は、ステップ3605を実行すると、m8N8に0を代入し、iにsi2を、それぞれ代入するステップ3606,3607。次に輪郭線切断手段311は、ステップ3507と同様に、iがm1j以上であるかを判定するステップ3608。もし、i≧m1jでないならばステップ3608のNo、輪郭線切断手段311は、p8k.xにp1r1ji.xを、p8k.yにp1r1ji.yを、それぞれ代入するステップ3609,3610。また輪郭線切断手段311は、i、k及びm8N8を、それぞれ1増やすステップ3611。すると輪郭線切断手段311はステップ3608に戻り、iがm1j以上であるかを判定する。もし、i≧m1jであるならばステップ3608のYes、輪郭線切断手段311はステップ3701に進む。ステップ3701において輪郭線切断手段311は、iに0を代入する。次に輪郭線切断手段311は、iがei3より大きいかを判定するステップ3702。もし、i>ei3でないならばステップ3702のNo、輪郭線切断手段311は、p8k.xにp1r1ji.xを、p8k.yにp1r1ji.yを、それぞれ代入するステップ3703,3704。次に輪郭線切断手段311は、i、k及びm8N8をそれぞれ1増やしステップ3705、ステップ2702に戻る。これに対し、i>ei3であるならばステップ3702のYes、輪郭線切断手段311はステップ3706に進む。ステップ3706において輪郭線切断手段311は、新しく切り出す輪郭線の断片の直前の変化点の輪郭線上での番号を表す整数変数aに0を代入する。次に輪郭線切断手段311は、aがeaより大きいかを判定するステップ3707。もし、a>eaであるならばステップ3707のYes、輪郭線切断手段311はステップ3512にジャンプする。すると輪郭線切断手段311は、jを1増やしてステップ3512、ステップ3502に戻る。一方、a>eaでないならばステップ3707のNo、輪郭線切断手段311は、iにcaを、ei4にcaea-1を、それぞれ代入するステップ3708。次に輪郭線切断手段311は、iがei4よりも大きいかを判定するステップ3709。もし、i>ei4であるならばステップ3709のYes、輪郭線切断手段311は、a及びN8を、それぞれ1増やしステップ3710、ステップ3707に戻る。これに対し、i>ei4でないならばステップ3709のNo、輪郭線切断手段311は、p8k.xにp1r1ji.xを、p8k.yにp1r1ji.yを、それぞれ代入するステップ3711,3712。また輪郭線切断手段311は、i、k及びm8N8を、それぞれ1増やすステップ3713。そして輪郭線切断手段311は、ステップ3709に戻る。前述したように輪郭線切断手段311は、ステップ3512においてjを1増やすと、ステップ3502に戻る。もし、jを1増やした結果、i≧N1となったならばステップ3502のYes、輪郭線切断手段311は輪郭線切断処理を終了する。以上に述べた輪郭線切断手段311の処理により,前記輪郭線抽出手段210で抽出された輪郭線の各々が前記変化点検出手段300で検出した変化点の各々を境に切断した断片が生成され,配列変数p8,m8及びr8に格納される.図38は、図26に示した輪郭線つまり、図24に示した入力画像から抽出された輪郭線が輪郭線切断手段311によって切断された断片の輪郭画素の系列を含む全ての輪郭画素の系列をまとめて示す図である。なお、図38において、図26と同一の輪郭画素の系列には、同一参照番号を付してある。図38には、図26に示した輪郭画素の系列2601から構成される輪郭線が切断された2つの断片の輪郭画素の系列2601a及び2601bと、輪郭画素の系列2602から構成される輪郭線が切断された2つの断片の輪郭画素の系列2602a及び2602bとが示されている。また、図38には、図26に示した輪郭画素の系列2603乃至2608も示されている。図39は、図38に示した輪郭画素の系列のうちの系列2601a,2601b,2602a,2602b,2603及び2604を個別に示す図であり、図40は、図38に示した輪郭画素の系列のうちの系列2605乃至2608を個別に示す図である。輪郭線再接続手段312は、前述したように、輪郭線切断手段311によって取得された輪郭線の1つ以上の断片を構成する輪郭画素の系列の端点を繋ぎ合わせるつまり接続することにより、修正された輪郭線を構成する画素の系列を取得する。取得された輪郭線を構成する画素の系列の集合S2は記憶装置12に格納される。輪郭線再接続手段312が輪郭線の断片同士を接続するためには、記憶装置12に格納された順に各断片の後ろに接続すべき断片を決定する必要がある。以下、輪郭線再接続手段312によって実行される接続断片決定処理の手順について図41及び図42のフローチャートを参照して説明する。まず輪郭線再接続手段312は、j=0,...,N8-1のそれぞれについて、Fjに0を代入するステップ4101。ここで、Fは要素数N8の整数の配列であり、Fjは配列Fのj番目の要素を示す。次に輪郭線再接続手段312は、整数変数k及びjを、それぞれ0を代入するステップ4102,4103。次に輪郭線再接続手段312は、jがN8以上であるかを判定するステップ4104。この例のようにj≧N8でないならばステップ4104のNo、輪郭線再接続手段312はFjが0であるかを判定するステップ4105。この例のようにFj=0であるならばステップ4105のYes、輪郭線再接続手段312は、r8jの示す画素を始点とするj番目の断片の隣接画素の系列をp8から取得し、当該j番目の断片の隣接画素の系列を集合S2のk番目の系列として当該集合S2に格納するステップ4106。ここで、j番目の断片の隣接画素の系列を構成する隣接画素の個数は、m8jで示され、集合S2に格納される隣接画素の系列は、p8r8jの位置から始まるm8j個の画素から構成される。次に輪郭線再接続手段312は、j番目の断片の隣接画素の系列が集合S2に既に格納済みであることを示すために、Fjに1を代入するステップ4107。次に輪郭線再接続手段312は、整数変数flagに0を代入するステップ4108。一方、Fj=0でないならばステップ4105のNo、つまりFj=1であるならば、輪郭線再接続手段312はj番目の断片の隣接画素の系列が集合S2に既に格納済みであると判断する。この場合、輪郭線再接続手段312は、整数変数flagに0を代入するステップ4108。輪郭線再接続手段312は、整数変数flagに0を代入するとステップ4108、j2=0,...,N8-1のそれぞれについて、scorej2に0を代入するステップ4109。scoreは要素数N8の実数の配列であり、score_j2は、配列scoreのj2番目の要素を示す。次に輪郭線再接続手段312は、実数変数score_maxに-1を、整数変数j2_optに0を、それぞれ代入するステップ4110。そして輪郭線再接続手段312は整数変数j2に0を代入するステップ4111。次に輪郭線再接続手段312は、j2がN8以上であるかを判定するステップ4201。この例のようにj2≧N8でないならばステップ4201のNo、輪郭線再接続手段312は、Fj2=0で、且つs1r8j2=s1r8jで、且つj2番目の断片上の最初の輪郭画素とj番目の断片の最後の輪郭画素とのユークリッド距離udj2,jが予め定められた正の定数εより小さいかを判定するステップ4202。ここで、s1r8j2=s1r8jであること、つまりj2番目の断片の始点の明暗がj番目の断片の始点の明暗と一致することは、j2番目の断片上の輪郭画素を近傍の輪郭画素と比較した明暗がj番目の断片上のそれと一致することを示す。また、udj2,j<εは、j2番目の断片上の端点例えば始点とj番目の断片の端点例えば終点の位置が予め定められた範囲つまり、近傍として定義される範囲にあることを示す。もし、ステップ4202の判定がYesであるならば、輪郭線再接続手段312は、j番目の断片の最後の輪郭画素つまり終点から最後からδ番目の輪郭画素へのベクトルVAを算出するステップ4203。δは予め定められた自然数である。また輪郭線再接続手段312は、j2番目の断片の最初の輪郭画素つまり始点から最初からδ番目の輪郭画素へのベクトルVBを算出するステップ4204。次に輪郭線再接続手段312は、ベクトルVAとベクトルVBとがなす角度θを余弦定理により算出するステップ4205。ここでは、角度θの単位は度であるとする。次に輪郭線再接続手段312は、角度θがscore_maxよりも大きいかを判定するステップ4206。ステップ4209の判定は、ベクトルVAとベクトルVBとがなす角度θが、j2がそれぞれ0,...,N8-1番目の断片のうちj番目の断片に対して最も大きいつまり180度に最も近い断片を検出するために、ステップ4202の示す条件を満たす断片について繰り返し行われる。j番目の断片に対してベクトルVAとベクトルVBとがなす角度θが最も大きい断片がj2_opt番目の断片である場合、j2_opt番目の断片の端点ここでは始点が、0,...,N8-1番目の断片の端点の中で、j番目の断片の端点ここでは終点に対して最も正対しているといえる。もし、θ>score_maxであるならばステップ4206のYes、輪郭線再接続手段312は、score_maxにθを、整数変数j2_optにj2を代入するステップ4207。次に輪郭線再接続手段312はflagに1を代入しステップ4208、しかる後にj2を1増やすステップ4209。flag=1は、j番目の断片に接続されるべき断片が存在することを示す。整数変数j2_opt=j2は、j番目の断片に接続されるべき断片として、断片0,...,j2のうちの断片j2が最適であることを示す。一方、θ>score_maxでないならばステップ4206のNo、輪郭線再接続手段312はステップ4209にジャンプしてj2を1増やす。また、ステップ4202の判定がNoの場合にも、輪郭線再接続手段312はステップ4209にジャンプしてj2を1増やす。輪郭線再接続手段312は、j2を1増やすとステップ4209、ステップ4201に戻り、j2≧N8であるかを判定する。もし、j2≧N8であるならば、輪郭線再接続手段312は、j番目の断片に接続されるべき断片をj2=0,...,N8-1についてチェックし終えたと判断する。そこで輪郭線再接続手段312は、flagが1であるかを判定するステップ4210。もし、flag=1であるならばステップ4210のYes、輪郭線再接続手段312は、集合S2のk番目の輪郭画素の系列の示す輪郭線の断片の末尾にj2_opt番目の断片の輪郭画素の系列を追加するステップ4211。このように、k番目の輪郭線の断片へのj2_opt番目の断片の追加は、当該j2_opt番目の断片に含まれる輪郭画素の系列を当該輪郭線の輪郭画素の系列に追加することで行われる。これにより、k番目の輪郭線の断片にj2_opt番目の断片が繋ぎ合わされたことになる。ここで、j2_opt番目の断片の輪郭画素の系列は、p8に格納されている断片の輪郭画素の系列のうち、輪郭画素r8j2_optの示す画素を始点とする断片の輪郭画素の系列であり、m8jで示される個数の輪郭画素から構成される。輪郭線再接続手段312は、k番目の輪郭線の断片にj2_opt番目の断片を追加するとステップ4211、Fj2_optに1を代入するステップ4212。次に輪郭線再接続手段312は、kを1増やしステップ4112、jを1増やすステップ4113。一方、flag=1でないならばステップ4210のNo、輪郭線再接続手段312はステップ4112にジャンプしてkを1増やし、jを1増やすステップ4113。輪郭線再接続手段312は、jを1増やすとステップ4113、ステップ4104に戻り、jがN8以上であるかを判定する。もし、j≧N8であるならばステップ4104のYes、輪郭線再接続手段312は輪郭線再接続処理を終了する。図43は、図38に示した輪郭画素の系列の群に含まれている切断された断片の輪郭画素の系列の再接続後の全ての輪郭画素の系列をまとめて示す図である。なお、図43において、図38と同一の輪郭画素の系列には、同一参照番号を付してある。図43には、図38に示した断片の輪郭画素の系列2601aの始点及び終点が接続された輪郭線の輪郭画素の系列4301及び図38に示した断片の輪郭画素の系列2601bの始点及び終点が接続された輪郭線の輪郭画素の系列4302が示されている。系列4301及び4302は、それぞれ断片の輪郭画素の系列2601a及び2601bを、上記ステップ4106で集合S2に格納することにより生成される。系列2601a及び2601bの末尾に別の断片の輪郭画素の系列が追加されない場合、つまりステップ4211が実行されない場合、系列2601a及び2601bが集合S2に格納されるだけで、系列2601aの両端、及び系列2601bの両端が、それぞれ繋がれたことになる。図43にはまた、図38に示した断片の輪郭画素の系列2602aの始点及び終点が接続された輪郭線の輪郭画素の系列4303及び図38に示した断片の輪郭画素の系列2602bの始点及び終点が接続された輪郭線の輪郭画素の系列4304が示されている。系列4303及び4304は、それぞれ断片の輪郭画素の系列2602a及び2602bを、上記ステップ4106で集合S2に格納することにより生成される。図43には更に、図38に示した輪郭画素の系列2603乃至2608も示されている。図44は、図43に示した輪郭画素の系列のうちの系列4301乃至4304、2603及び2604を個別に示す図であり、図45は、図43に示した輪郭画素の系列のうちの系列2605乃至2608を個別に示す図である。なお、輪郭線の断片を構成する輪郭画素の系列におけるそれぞれ1つまたは複数の端点を繋ぎ合わせる手法は、近傍の画素と比較した明暗が一致しており、端点が最も正対している断片同士を繋ぎ合せる手法ならば、第3の実施形態で適用した方法に限らずいかなる方法で行ってもよい。また、輪郭線再接続手段312が、M2にM1を、N2にN8を、それぞれ代入し、j=1,...,N8について、r2jにr8jを、m1jにr8jを、それぞれ代入してもよい。つまり、輪郭線再接続手段312が、輪郭線切断手段311によって得られた断片の両端を単純に繋いだものを新しい輪郭線としてもよい。さて、輪郭線再接続手段312による輪郭線再接続処理が終了すると、選択手段222は、輪郭線修正手段310によって取得された集合S2から、第1の実施形態における選択手段220と同様に1つまたは複数の輪郭画素の系列を選択することにより、当該選択した輪郭画素の系列の集合S4を抽出する。第3の実施形態によれば、輪郭画素の系列で示される輪郭線上で変化する点変化点を検出して、当該変化点において輪郭線を繋ぎ直すことにより、光の反射などに起因する白飛びに頑健な領域検出を実現することができる。[第4実施形態]次に、第4の実施形態について説明する。第4の実施形態に係る領域検出装置のハードウェア構成は、第1の実施形態と同様である。但し、領域検出ソフトウェア121の構成は第1の実施形態と異なる。図46は第4の実施形態に係る領域検出装置の機能構成を示すブロック図である。図46において、図2、図15または図23と等価な構成要素には同一参照番号を付して、当該等価な構成要素についての詳細な説明は省略する。図46に示す領域検出装置は、図2、図15及び図23に示した領域検出装置と同様に、輪郭線抽出手段210及び領域出力手段230を備えている。図46に示す領域検出装置はまた、図23に示した領域検出装置と同様に、明暗判定手段290、変化点検出手段300及び変化点検出手段300を備えている。図46に示す領域検出装置は更に、図15に示した領域検出装置内の凸包抽出手段280に相当する凸包抽出手段281を備えると共に、図15に示した領域検出装置と同様に選択手段221を備えている。凸包抽出手段281は、輪郭線修正手段310輪郭線再接続手段312によって取得された集合S2に含まれる輪郭画素の系列の各々の凸包を抽出し、当該凸包を構成する画素の系列の集合S3を取得する。凸包抽出手段281は、凸包抽出の対象となる輪郭画素の系列の集合が集合S1ではなくて集合S2である点を除き、第2の実施形態で適用される凸包抽出手段280と同様である。図46に示す領域検出装置の特徴は、第3の実施形態で適用された図23に示す領域検出装置の構成において、輪郭線修正手段310及び領域出力手段230の間に、第2の実施形態で適用された凸包抽出手段280及び選択手段221に対応する、凸包抽出手段281及び選択手段221を追加した点にある。第2の実施形態及び第3の実施形態から明らかなように、第4の実施形態によれば、白飛びに頑健な領域検出を実現すると共に、枠と枠内の文字等が接触している場合における枠に囲まれた領域の検出性能を向上することができる。以上説明した少なくとも1つの実施形態によれば、白飛びに頑健な領域検出を実現できる領域検出装置、領域検出方法及びプログラムを提供することができる。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"