(57)【要約】【課題】認識精度を高めるための文字認識前処理を容易にする。【解決手段】画像撮影装置は、被写体（図示せず。）の画像を取り込み固体撮像素子上に結像させる撮影光学系を有し、固体撮像素子は結像した画像を電気信号の画像データに変換して周辺制御装置に出力する。周辺制御装置は、ＣＰＵによって読み取り制御され、固体撮像素子の出力を間引きする。間引き処理された画像データは順次モニタ画像メモリに保存される。撮影光学系には画角を調節する駆動系が設けられ、この駆動系はモーター制御・画角データ検出部によって制御される。さらにモーター制御・画角データ検出部は撮影光学系の画角を検出する。周辺制御装置には距離合致ガイドが接続され、距離合致ガイドは被写体までの距離が文字認識に適合するか否かを表示する。ＯＣＲ装置は文字画像を認識し、文字コードメモリは文字認識結果を出力するために文字コードを記憶する。【選択図】        図１
2004171337.tif 000002
【特許請求の範囲】
【請求項１】
固体撮像素子と、
前記固体撮像素子に画像を結像させる撮影光学系と、
前記固体撮像素子上の画像における１文字領域の画素数が、文字認識に必要な所定画素数になっているか否かを判定する判定手段と、
前記画素数を前記所定画素数以上になるように、前記撮影光学系の画角を調節する制御手段と、
を備えた撮影装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文字認識装置に関する。
【０００２】
【従来の技術】
従来、ＯＣＲなどの文字認識装置においては、文字の曲がりを防止し、かつ適正な解像度を設定することによって良好な認識精度を確保していた。例えば、文字の曲がりがない様に原稿台に原稿を配置し、読み取りに必要な解像度を解像度候補から選択、指定する方式がとられる。また良好な読み取り条件を保証するために、特開平５−０３５９１４号公報記載の「画像傾き検出方法」（従来例１という。）等、文字画像の傾きを自動検出する方法が提案されている。
【０００３】
しかし、読み取り領域が固定されているＯＣＲ、スキャナ等と異なり、デジタルカメラ等の３次元空間で画像撮影を行う装置で文字画像を撮影する場合、文字認識のための適正な解像度、視野を得ることは容易でない。
【０００４】
そこで解像度の自動設定のために画素数の異なる画像撮影装置を切り替えるもの（特開平６−２３１３０１号公報の「光学式文字読取装置」：従来例２という。）、文字領域を自然画像領域と切り分けて処理するもの（特開平５−６４１３４号公報の「文字入力手段を有するデジタル記録式電子スチルカメラ」：従来例３という。）、連続撮影された複数画像によって文字領域を高解像度化して処理するもの（特開平９−２８９６２４号広報の「デジタルカメラ」：従来例４という。）等の技術が提案されていた。
【発明が解決しようとする課題】
従来例２の装置は小型化が困難であり、従来例４は高度な画像処理を行うため複雑かつ高価なハードウエアを要する。従来例１は、元画像上の一文字範囲の中心点から文字傾きを求めるため、高画素化画像機器においては処理時間が長くなる。また従来例３は、撮影者がペン等により撮影画像中の文字領域を指定する必要があり、操作が煩雑である。
【０００５】
本発明はこのような従来の問題点を解消すべく創案されたもので、認識精度を高めるための文字認識前処理を容易に実行することを目的とする。
【０００６】
【課題を解決するための手段】
【発明の実施の形態】
次に本発明に係る文字認識装置の一実施形態を図面に基づいて説明する。図１は、本発明に係る画像撮影装置の一実施形態を示すブロック図である。
【０００７】
図１において、画像撮影装置は、被写体（図示せず。）の画像を取り込み固体撮像素子１０６上に結像させる撮影光学系１０５を有し、固体撮像素子１０６は結像した画像を電気信号の画像データに変換して周辺制御装置１０８に出力する。周辺制御装置１０８は、ＣＰＵ１１４によって読み取り制御され、固体撮像素子１０６の出力を間引きする。間引き処理された画像データは順次モニタ画像メモリ１０３に保存される。従って画素数の少ないモニタ画像を活用でき、処理画像データ量を減らし、処理の高速化が可能となる。
【０００８】
モニタ画像メモリ１０３内の画像データは、モニタ画像表示制御部１０２によって循環参照され、表示機１０１において逐次表示処理される。
【０００９】
撮影光学系１０５には画角を調節する駆動系が設けられ、この駆動系はモーター制御・画角データ検出部１０７によって制御される。さらにモーター制御・画角データ検出部１０７は撮影光学系１０５の画角を検出する。
【００１０】
周辺制御装置１０８には側長器１０９が接続され、被写体までの距離は側長器１０９によって測定されて周辺制御装置１０８に入力される。
【００１１】
周辺制御装置１０８には距離合致ガイド１１１が接続され、距離合致ガイド１１１は被写体までの距離が文字認識に適合するか否かを表示する。距離合致ガイド１１１の動作については後述する。
【００１２】
周辺制御装置１０８にはキャプチャーＳＷ１０１が接続され、キャプチャーＳＷ１０１は、周辺制御装置１０８を「準備モード」（画像取り込みのための準備動作を実行するモード）または「取込モード」（画像取り込みを実行するモード）に設定する制御信号を出力するとともに、周辺制御装置１０８の状態（モード）を監視する。
【００１３】
ＣＰＵ１１４には撮影データメモリ１１２、ＤＭＡ１１３が接続され、取込モード時には、モニタ画像メモリ１０３の画像を撮影データメモリ１１２に保存する。ＤＭＡ１１３は撮影データメモリ１１２の画像を高速転送する。
【００１４】
さらに、ＣＰＵ１１４には輪郭画像メモリ１０４、ワークメモリ１１５、傾きレジスタ１１６、近似直線式レジスタ１１７、切出し座標レジスタ１１８、回転角度レジスタ１１９、画角レジスタ１２０、側距離レジスタ１２１、目標距離レジスタ１２２、補正倍率レジスタ１２３、倍率テーブル１２４、文字列方向レジスタ１２５、ＯＣＲ装置１２６、文字コードメモリ１２７、ＲＯＭ１２８が接続されている。
【００１５】
ＯＣＲ装置１２６は文字画像を認識し、文字コードメモリ１２７は文字認識結果を出力するために文字コードを記憶する。またＲＯＭ１２８は種々の画像処理の閾値その他が記憶され、ワークメモリ１１５は処理過程での種々のデータを保存する。
【００１６】
傾きレジスタ１１６、近似直線式レジスタ１１７、切出し座標レジスタ１１８、回転角度レジスタ１１９、画角レジスタ１２０、側距離レジスタ１２１、目標距離レジスタ１２２、補正倍率レジスタ１２３、倍率テーブル１２４、文字列方向レジスタ１２５については後述する。
【００１７】
次に画像撮影装置における処理を図面に基づいて説明する。図２は、図１の画像撮影装置の処理を示すフローチャート、図３は、図２におけるモニタ画像輪郭抽出処理を示すフローチャート、図４は、図２における文字認識最低画素数合わせ処理を示すフローチャート、図５は、図２における距離合わせ処理を示すフローチャート、図６は、図４において、文字画像のモニタ画像を２値化した例を示す図、図７は、図４において、文字画像をぼかし処理した例を示す図、図８は、図４において、文字画像を輪郭抽出した例を示す図、図９は、図４において、文字列ブロック輪郭から最小正方形を抽出した例を示す図、図１０は、図４における最小文字範囲画素密度算出の処理を示すフローチャート、図１１は、図２における輪郭傾き抽出の処理を示すフローチャート、図１２は、図４における文字列傾き算出のための分散データ作成を示す図、図１３は、図４における文字列傾き算出のための分散データの近似直線を示す図、図１４は、図２における輪郭傾き抽出の処理において切り出される、文字列ブロックを示す図、図１５は、図２における画像回転角度算出の処理で切り出された文字列ブロックを示す図、図１６は、図２における画像回転角度算出の処理によって正立処理された文字列ブロックを示す図、図１７は、図２における画像回転角度算出の処理を示すフローチャート、図１８は、図１７おいて処理される正立画像を示す図、図１９は、図１７おいて処理される逆転画像を示す図、図２０は、図１７おいて処理される９０度回転画像を示す図、図２１は、図１７おいて処理される２７０度回転画像を示す図、図２２は、図２における集合ブロックの座標算出の処理の対象となる文字列集合体を示す図、図２３は、図２における原画像の切り出し正立処理によって文字列集合体を正立させた状態を示す図である。
【００１８】
図２において、図１の画像撮影装置は以下の各ステップにより処理を実行する。
【００１９】
ステップ２０１：撮影光学系１０５の固体撮像素子１０６に結像した画像の画像データを適宜処理し、順次モニタ画像メモリ１０３に取り込む。
【００２０】
ステップ２０２：キャプチャーＳＷ１１０が準備モードを検出したとき、周辺制御装置１０８によって文字認識最低画素数合わせ処理を実行し、文字認識に必要な画素密度を求める。文字認識最低画素数合わせ処理の詳細は図３、図４、図６〜図１０に示すとおりであり、その内容は後述する。
【００２１】
ステップ２０３：距離合わせ処理を実行し、被写体までの距離を、文字認識に適するように調整する。距離合わせ処理の詳細は図５に示すとおりであり、その内容は後述する。
【００２２】
ステップ２０４：キャプチャーＳＷが「取込モード」を検出したか否かを判断する。「取込モード」であったときはステップ２０５に移行し、「取込モード」でなかったときはステップ２０３に戻る。
【００２３】
ステップ２０５：固体撮像素子１０６からモニタ画像メモリ１０３への画像データ書き込みを停止し、そのときモニタ画像メモリ１０３に保持された画像データをホールドする。
【００２４】
ステップ２０６：ステップ２０５処理とほぼ同時に、固体撮像素子１０６の有効画素データを２値化し、撮影データメモリ１１２に保存する。
【００２５】
ステップ２０７：モニタ画像メモリ１０３の画像データについて、文字列ブロックの輪郭画像を抽出し輪郭画像メモリ１０４に保存する。モニタ画像輪郭抽出処理の詳細は図３に示すとおりであり、その内容は後述する。
【００２６】
ステップ２０８：輪郭画像メモリ１０４に保存された文字列ブロックから１個の文字列ブロックを選択し、選択された文字列ブロックの傾きを算出して、傾きレジスタ１１６に登録する。図１４は複数の文字列ブロックから１個の文字列ブロック１４０１を選択した例を示す。輪郭傾き抽出の詳細は図１１〜図１３に示すとおりであり、その内容は後述する。
【００２７】
ステップ２０９：文字列ブロック中の一文字の文字認識を行い、文字列方向の画像回転角度を算出する。さらに文字列が縦書きであるか横書きであるかの判定（縦横書き判定）を行う。一文字認識による文字列方向画像回転角度算出の詳細は図１５〜図２１に示すとおりであり、その内容は後述する。
【００２８】
ステップ２１０：輪郭画像メモリ１０４に保存されている全文字列ブロック輪郭に対し、図１１の処理により求められる傾き角と、傾きレジスタ１１６に保存されている傾き角との比較を行い、定められた許容値内の文字列ブロック領域を全て識別し文字列集合体とする。
【００２９】
ステップ２１１：図２２の２２０１で示すように、識別された文字列集合体において、傾きレジスタに保持された傾き角を持つ文字列集合体について、外接矩形の座標を求める。求めた外接矩形を撮影文字画像上の座標に変換した後、切出し座標レジスタ１１８に保存する。
【００３０】
ステップ２１２：ステップ２０８で傾きレジスタ１１６に保存された傾き角と、ステップ２０９の縦横書き判定で求められた画像回転角とを合せて評価し、輪郭画像を回転する。さらに各文字列ブロック輪郭の外接矩形を求め、これらを文字列集合体として輪郭画像メモリ１０４に保存する。図２２の文字列ブロックを回転した状態を図２３に示す。
【００３１】
ステップ２１３：ステップ２１２で生成した文字列集合体について、縦横書き判定結果に基づいて、原画像における文頭位置を求める。原画像の座標に変換した各文字列ブロック座標と共に認識順位を、切出し座標レジスタ１１８に保存する。
【００３２】
ステップ２１４：ステップ２１３で求めた外接矩形座標によって撮影文字画像から文字列ブロックを切出し、傾きレジスタに保存された傾き角と縦横書き判定で求められた画像回転角を合算した値で切出した撮影文字画像を回転し、正立画像とした後、新たに撮影データメモリ１１２に保存する。図２３は、正立画像とした文字列集合体を示す。
【００３３】
このように、文字列集合体の単位で
【００３４】
ステップ２１５：ステップ２１２で求められた各文字列ブロックについて、切出し座標レジスタ１１８に保存された認識順位に従い文字認識処理を行う。
【００３５】
図３において、図２のステップ２０７「モニタ画像輪郭抽出処理」は以下のステップにより実行される。
【００３６】
ステップ３０１：モニタ画像メモリ１０３の画像データを、ＲＯＭ１２８内の閾値等のデータに基づいて２値化処理し、ワークメモリ１１５４に保存する。図６は、２値化処理された画像の例を示す。
【００３７】
ステップ３０２：ワークメモリ１１５内の２値化画像データに対して、ＲＯＭ１２８内の演算条件等に基づいてぼかし処理を施す。図７は、ぼかし処理された画像の例を示す。ぼかし処理によって文字列ブロック内部のエッジが消失し、輪郭のみを容易に抽出し得る。
【００３８】
ステップ３０３：ぼかし処理された画像（ぼかし画像）に輪郭抽出処理を施し、各文字列ブロックの輪郭画像を生成する。図８は、輪郭画像の例を示す。
【００３９】
ステップ３０４：ステップ３０３で生成された輪郭画像を、輪郭画像メモリ１０４に保存する。
【００４０】
図４において、図２のステップ２０２「文字認識最低画素数合わせ処理」は以下のステップにより実行される。
【００４１】
ステップ４０１：準備モード検出時点の画角を、モーター制御画角データ検出装置１０７から取得して画角レジスタ１２０に保存し、同時に側長器１０９によって測定された被写体までの距離を、側距離レジスタ１２１に保存する。
【００４２】
ステップ４０２：図３に関連して説明したステップ３０１〜３０４「モニタ画像輪郭抽出処理」を実行する。ステップ４０１とステップ３０１の処理は時間差は最小とする。
【００４３】
ステップ４０３：文字列ブロックの輪郭に内接する最小正方形、すなわち最小文字領域候補の画素密度を算出する。
【００４４】
図９の１個の文字列ブロックにおいて、文字列ブロック輪郭Ｍに内接する最小正方形Ｓ２を求め、最小正方形Ｓ２の領域を固体撮像素子上又は有効撮影画素領域に展開したときの画素数を求める。画素数算出処理の詳細については、図１０に基づいて後述する。
【００４５】
ステップ４０４：ステップ４０３で算出された画素密度が、文字認識に必要な最低画素密度以下か否か判定する。最低画素密度以下のときはステップ４０５に移行し、最低画素密度より大きいときはステップ４１１に移行する。
【００４６】
ステップ４０５：文字ブロックの画素密度が最低画素密度より大きくなるための倍率を算出する。倍率は焦点合致可能距離範囲内で画角変更することによって実行される。
【００４７】
ステップ４０６：画角レジスタ１２０および側距離レジスタ１２１にそれぞれ保存されている現状画角および被写体距離データを、ＲＯＭ１２８に保存されている画角変更範囲データ及び焦点合致可能距離範囲データとを比較し、所望の倍率変更が可能か否かを判定する。比較の結果、画角、距離のどちらの変更によっても目的倍率を得られない場合はステップ４０７に移行する。
【００４８】
ステップ４０７：文字認識準備処理を中断する中断処理を行い、準備モード検出処理に戻る。
【００４９】
ステップ４０８：倍率変更が可能と判断された場合、画角変更のみで目的倍率を達成可能か否かを判定し、可能であればステップ４１１に移行する。画角だけでは目的倍率が達成できない場合はステップ４０９に移行する。
【００５０】
ステップ４０９：デフォルト画角からの目標画素数となる距離を算出する。
【００５１】
ステップ４１０：ステップ４０９で算出された距離を目標距離レジスタ１２２に登録する。
【００５２】
ステップ４１１：撮影光学系を制御し目的画角へ変更し画角を固定する。
【００５３】
以上の文字認識最低画素数合わせ処理によって、文字認識に必要な画素密度の画像を確実に取得でき、高い認識精度を確保することができる。また画素間引きにより処理が高速化されるとともに、文字認識に必要な解像度調整など煩雑な作業を自動化もしくは半自動化され、通常撮影に近い操作で手軽に使用できる。
【００５４】
図５において、図２のステップ２０２「距離合わせ処理」は以下のステップにより実行される。
【００５５】
ステップ５０１：側長器１０９によって測定された被写体までの距離が、１２２の目標距離レジスタ１２２に登録された目標距離の許容範囲内か否か判定する。許容範囲内であればステップ５０３に移行し、許容範囲内でなかったときはステップ５０２に移行する。
【００５６】
ステップ５０２：被写体距離が目標距離以上か否かを判定し、目標距離以上であればステップ５０４に移行し、目標距離以上でなければステップ５０６に移行する。
【００５７】
ステップ５０３：距離合致信号を発し、距離合致ガイド１１１内のスタンバイ表示を点灯させる。
【００５８】
ステップ５０４：スタンバイ表示を解除し、スタンバイ表示消灯処理を行う。
【００５９】
ステップ５０５：接近信号を発し距離合致ガイド１１１内の接近マーク表示を点灯させる。
【００６０】
ステップ５０６：被写体距離が目標距離以下か否かを判定し、目標距離以下であればステップ５０７に移行し、目標距離以下でなければステップ５０１に戻る。
【００６１】
ステップ５０７：スタンバイ表示を解除し、スタンバイ表示消灯処理を行う。
【００６２】
ステップ５０８：離れ信号を発し、距離合致ガイド１１１内の離れマーク表示を点灯させる。この時点で手動あるいは自動で距離合せを行う。距離合せを自動化する際には、例えば、距離合致ガイド１１１によって画像撮影装置の撮影光学系を駆動可能する。
【００６３】
図１０において、図４のステップ４０２「最小文字範囲画素密度算出」の処理は以下のステップにより実行される。
【００６４】
ステップ１００１：図９の文字列ブロック輪郭Ｍを、文字列ブロック輪郭Ｍに外接する矩形Ｓ１によって抽出する。
【００６５】
ステップ１００２：図９において、外接する矩形Ｓ１の短辺に平行な直線Ｙｎを引き、直線Ｙｎと文字列ブロック輪郭Ｍとの交点Ｘ１、Ｘ２の距離を求める。直線Ｙｎを矩形Ｓ１長辺方向に移動させたときの、交点Ｘ１、Ｘ２の距離の変化を求める。これによって交点Ｘ１、Ｘ２の距離の最小値を求める。
【００６６】
ステップ１００３：矩形Ｓ１の辺に平行な辺よりなり、最小距離を１辺の長さとし、かつ最小距離の交点Ｘ１、Ｘ２を対辺の中点とする最小正方形Ｓ２を求める。
【００６７】
ステップ１００４：ステップ１００３で求めた最小正方形内の画素数を、モニタ画像について算出し、周辺制御装置１０８において固体撮像素子１０６の出力を間引きしたときの、間引き率を逆算する。最小正方形Ｓ２内画素数を、固体撮像素子上の有効撮影画素領域の画素数に換算する。
【００６８】
図１１において、図２のステップ２０８「輪郭傾き抽出」の処理は以下のステップによって実行される。
【００６９】
ステップ１１０１：図１２に示すように、選択された文字列ブロックに外接する矩形Ｓ１を求め、矩形Ｓ１を切り出し領域として、文字列ブロック輪郭をワークメモリ１１５に保存する。
【００７０】
ステップ１１０２：モニタ画像上の切り出し座標を、撮影データメモリ１１２内の原文字画像上の座標に変換し、切り出し座標レジスタ１１８に保存する。
【００７１】
ステップ１１０３：図１２において、外接する矩形Ｓ１の短辺に平行な直線Ｙｎを引き、直線Ｙｎと文字列ブロック輪郭Ｍとの交点Ｘ３、Ｘ４の平均値Ｘａｎを求める。直線Ｙｎを矩形Ｓ１長辺方向に移動させたときの、平均値Ｘａｎの変化を求める。
【００７２】
ステップ１１０４：Ｙｎの変化に対する平均値Ｘａｎの変化をプロットすると、図１３のグラフが得られる。同グラフについて、回帰直線その他の近似直線を求める。
【００７３】
ステップ１１０５：近似直線の傾きを算出し、傾きレジスタ１１６に保存する。
【００７４】
これによって、輪郭メモリ１０４に保存された複数の文字列ブロックから適宜選択されたひとつの文字列ブロックの傾きが算出される。
【００７５】
図１７において、図２のステップ２０９「画像回転角度算出」の処理は以下のステップにより実行される。
【００７６】
ステップ１７０１：傾き算出を行った文字列ブロックを切り出した矩形Ｓ２の縦横比から縦書横書きの仮判定を行い、判定結果を文字列方向レジスタ１２５に保存する。
【００７７】
ステップ１７０２：図１５に示すように、切り出しレジスタ１１８の座標に基づいて、文字列ブロックを撮影文字画像から切り出す。
【００７８】
ステップ１７０３：切出された文字列ブロックの文字画像を、ステップ２０２で算出した傾き角に基づいて補正して、図１６に示す正立画像を生成し、正立画像をワークメモリ１１５に保存する。図１５及び図１６の文字列ブロックには矩形の輪郭が表示されているが、これは説明の都合上表示したもので、実際の処理では輪郭の図形は生成されない。
【００７９】
ステップ１７０４：図１６の矩形１６０１で示すように、文字列ブロックの行頭候補文字を切出す。行頭候補文字の文字画像データを１２６のＯＣＲ装置１２６に送り、文字認識処理を行う。１文字の行頭候補文字を抽出することより、１文字の認識処理のみにより、文字の回転方向を検出し得る。
【００８０】
ステップ１７０５：文字認識処理において、正立文字画像データ辞書（正立辞書）に対し検索を行い、合致するか否か判定する。正立辞書で合致する文字が存在したときは、ステップ１７０６に移行し、存在しなかったときはステップ１７０７に移行する。
【００８１】
ステップ１７０６：縦書横書きの仮判定の結果を確定結果として文字列方向レジスタ１２５に保存する。図１８はステップ１７０５、１７０６の処理を概念的に示す。図１８において、文字Ａで文字列の文字を代表し、縦書きの文字列ブロックを縦長矩形によって示し、横書きの文字列ブロックを横長矩形によって示す。
【００８２】
ステップ１７０７：ステップ１７０５で合致が得られなかった場合は、逆転文字画像データ辞書（逆転辞書）に対し検索を行う。逆転辞書で合致する文字が存在したときは、ステップ１７０８に移行し、存在しなかったときはステップ１７１０に移行する。
【００８３】
ステップ１７０８：縦書き横書きの仮判定の結果を確定結果として文字列方向レジスタ１２５に保存する。
【００８４】
ステップ１７０９：傾きレジスタ１１６に傾き角と加算回転角１８０度を保存する。図１９はステップ１７０７〜１７０９の処理を概念的に示す。図１９において、逆さの文字Ａで文字列の文字を代表し、縦書きの文字列ブロックを縦長矩形によって示し、横書きの文字列ブロックを横長矩形によって示す。また１８０度回転と記載した矩形は処理内容を示す。
【００８５】
ステップ１７１０：切出した文字列ブロック画像を９０度回転させ、ステップ１７１１に移行する。
【００８６】
ステップ１７１１：正立辞書に対し検索を行い、合致するか否か判定する。正立辞書で合致する文字が存在したときは、ステップ１７１２に移行し、存在しなかったときはステップ１７１４に移行する。
【００８７】
ステップ１７１２：ステップ１７０１の判定結果が縦書き仮判定であれば横書き判定に変更して確定、または横書き仮判定であれば縦書き判定に変更して確定結果とする。確定結果は文字列方向レジスタ１２５に保存する。
【００８８】
ステップ１７１３：傾きレジスタ１１６に傾き角と加算回転角９０度を保存する。図２０はステップ１７１０〜１７１３の処理を概念的に示す。図２０において、右９０度回転した文字Ａで文字列の文字を代表し、縦書きの文字列ブロックを縦長矩形によって示し、横書きの文字列ブロックを横長矩形によって示す。また「縦−＞横、横−＞縦変更」および「９０度回転」とそれぞれ記載した矩形は処理内容を示す。
【００８９】
ステップ１７１４：逆転辞書に対し検索を行い、合致するか否か判定する。逆転辞書で合致する文字が存在したときは、ステップ１７１５に移行し、存在しなかったときはステップ１７１７に移行する。
【００９０】
ステップ１７１５：ステップ１７０１の判定結果が縦書き仮判定であれば横書き判定に変更して確定、または横書き仮判定であれば縦書き判定に変更して確定結果とする。確定結果は文字列方向レジスタ１２５に保存する。
【００９１】
ステップ１７１６：傾きレジスタ１１６に傾き角と加算回転角２７０度を保存する。図２１はステップ１７１４〜１７１６の処理を概念的に示す。図２１において、左９０度回転した文字Ａで文字列の文字を代表し、縦書きの文字列ブロックを縦長矩形によって示し、横書きの文字列ブロックを横長矩形によって示す。また「縦−＞横、横−＞縦変更」および「２７０度回転」とそれぞれ記載した矩形は処理内容を示す。
【００９２】
ステップ１７１７：他に行頭候補文字が存在するか否か判断する。次候補が存在するときはステップ１７１９に移行し、存在しなかったときはステップ１７１８に移行する。
【００９３】
ステップ１７１８：文字認識を中断し、そのまま処理を終了する。
【００９４】
ステップ１７１９：次候補の行頭候補文字を切出し、ステップ１７０５に戻る。
【００９５】
以上の処理により得られた文字認識結果は、文字コードメモリ縦横書き情報、文字列集合体の外接矩形に接する文字列最終文字を最終文字として改行コードを付加し保存する。文字コードデータの再生は縦横書き情報及び改行情報によりほぼ撮影文字同等の配置で表示される。さらに表示に当たっては撮影画像から切出し正立処理された画像と文字コード表示を対比して表示する。
【００９６】
図１７の処理により、文字認識のみならず縦横書きの判定、文頭検出が行われ、図２のによる認識順序決定等も合わせて自動化される。また文字認識用の辞書の搭載に当たっても本実施例では正立、逆転の二種類の認識辞書としたが縦横書きの検出フローを一部変更することで正立辞書のみで可能となり処理系の効率化が図られる。
【００９７】
さらに、以上の文字認識処理によって得られた文字画像をモニタにおいて表示し、同時に認識処理前の撮影画像を正立表示して、両者を比較できるようにすれば、認識精度の評価、認識処理の修正が可能となる。
【００９８】
なお発明の趣旨と範囲は、本発明の特定の説明と図に限定されるものではなく、本願特許請求の範囲に述べられた内容の様々な修正および変更に及ぶことは当業者にとって理解されるであろう。
【００９９】
本発明の実施形態の例を以下に示す。
【０１００】
【実施態様１】
固体撮像素子と、
前記固体撮像素子に撮影画像を結像させる撮影光学系と、
前記固体撮像素子上の撮影画像における１文字領域の画素数が、文字認識に必要な所定画素数になっているか否かを判定する判定手段と、
前記画素数を前記所定画素数以上になるように、前記撮影光学系の画角を調節する制御手段と、
を備えた撮影装置。
【０１０１】
【実施態様２】
前記撮影画像から得られた文字列ブロックをぼかし処理するぼかし処理手段と、
前記ぼかし処理された文字列ブロックの輪郭を抽出する輪郭抽出手段と、
前記輪郭のデータに基づいて文字列ブロックの傾きを検出する傾き検出手段と、
をさらに備えた請求項１記載の撮影装置。
【０１０２】
【実施態様３】
前記文字列ブロック内の１文字について認識処理を行い、その認識結果に基づいて縦横書き判定を行う縦横書き判定手段をさらに備えたことを特徴とする請求項２記載の撮影装置。
【０１０３】
【実施態様４】
略同一の傾きをもつ前記文字列ブロックを外接矩形によって包囲した領域を１個の文字列集合体とする文字列集合体生成手段と、
前記文字列集合体に含まれる各文字列ブロックの行頭文字を検出する行頭文字検出手段と、
前記文字列集合体に含まれる文字列ブロックの認識順位を決定する認識順位決定手段と、
をさらに備えたことを特徴とする請求項２または３のいずれかに記載の撮影装置。
【０１０４】
【実施態様５】
前記撮影画像を間引き処理する間引き手段をさらに備え、前記間引き処理された画像について文字認識処理を行うことを特徴とする請求項１乃至４のいずれかに記載の撮影装置。
【０１０５】
【実施態様６】
請求項１乃至５いずれかに記載の処理に基づく認識処理で得られた文字画像をモニタに表示し、同時に認識処理前の撮影画像を正立表示して、両者を比較表示する比較表示手段をさらに備えたことを特徴とする撮影装置。
【発明の効果】
本発明によれば、認識精度を高めるための文字認識前処理が容易である。
【図面の簡単な説明】
【図１】本発明に係る画像撮影装置の一実施形態を示すブロック図である。
【図２】図１の画像撮影装置の処理を示すフローチャートである。
【図３】図２におけるモニタ画像輪郭抽出処理を示すフローチャートである。
【図４】図２における文字認識最低画素数合わせ処理を示すフローチャートである。
【図５】図２における距離合わせ処理を示すフローチャートである。
【図６】図４において、文字画像のモニタ画像を２値化した例を示す図である。
【図７】図４において、文字画像をぼかし処理した例を示す図である。
【図８】図４において、文字画像を輪郭抽出した例を示す図である。
【図９】図４において、文字列ブロック輪郭から最小正方形を抽出した例を示す図である。
【図１０】図４における最小文字範囲画素密度算出の処理を示すフローチャートである。
【図１１】図２における輪郭傾き抽出の処理を示すフローチャートである。
【図１２】図４における文字列傾き算出のための分散データ作成を示す図である。
【図１３】図４における文字列傾き算出のための分散データの近似直線を示す図である。
【図１４】図２における輪郭傾き抽出の処理において切り出される、文字列ブロックを示す図である。
【図１５】図２における画像回転角度算出の処理で切り出された文字列ブロックを示す図である。
【図１６】図２における画像回転角度算出の処理によって正立処理された文字列ブロックを示す図である。
【図１７】図２における画像回転角度算出の処理を示すフローチャートである。
【図１８】図１７おいて処理される正立画像を示す図である。
【図１９】図１７おいて処理される逆転画像を示す図である。
【図２０】図１７おいて処理される９０度回転画像を示す図である。
【図２１】図１７おいて処理される２７０度回転画像を示す図である。
【図２２】図２における集合ブロックの座標算出の処理の対象となる文字列集合体を示す図である。
【図２３】図２における原画像の切り出し正立処理によって文字列集合体を正立させた状態を示す図である。
【符号の説明】
１０１  表示機
１０２  モニタ画像表示制御部
１０３  モニタ画像メモリ
１０４  輪郭画像メモリ
１０５  撮影光学系
１０６  ＣＣＤ
１０７  モーター制御画角データ検出
１０８  周辺制御装置
１０９  側長器
１１２  撮影データメモリ
１１４  ＣＰＵ
１１５  ワークメモリ
１１６  傾きレジスタ
１１７  近似直線式レジスタ
１１８  切出し座標レジスタ
１１９  回転確度レジスタ
１２０  画角レジスタ
１２１  側距離レジスタ
１２２  目標距離レジスタ
１２３  補正倍率レジスタ
１２４  倍率テーブル
１２５  文字列方向レジスタ
１２６  ＯＣＲ装置
１２７  文字コードメモリ
【図１】
2004171337.tif 000003
【図２】
2004171337.tif 000004
【図３】
2004171337.tif 000005
【図４】
2004171337.tif 000006
【図５】
2004171337.tif 000007
【図６】
2004171337.tif 000008
【図７】
2004171337.tif 000009
【図８】
2004171337.tif 000010
【図９】
2004171337.tif 000011
【図１０】
2004171337.tif 000012
【図１１】
2004171337.tif 000013
【図１２】
2004171337.tif 000014
【図１３】
2004171337.tif 000015
【図１４】
2004171337.tif 000016
【図１５】
2004171337.tif 000017
【図１６】
2004171337.tif 000018
【図１７】
2004171337.tif 000019
【図１８】
2004171337.tif 000020
【図１９】
2004171337.tif 000021
【図２０】
2004171337.tif 000022
【図２１】
2004171337.tif 000023
【図２２】
2004171337.tif 000024
【図２３】
2004171337.tif 000025