(57)【要約】【課題】手書き文字を認識する際に、ボールペン特有のボテによる文字切れを好適に補間する仕組みを提供する。【解決手段】本画像処理装置は、原稿から読み取った画像から文字を検出し、検出された文字が手書き文字である場合に、当該文字の輪郭線の方向を検出し、検出された輪郭線に基づき、手書き文字がボールペンで書かれたことを示す特徴的形状が当該文字に含まれるか否かを判定し、特徴的形状が当該文字に含まれると判定されると、特徴的形状に相当する欠落補間領域を特定し、欠落補間領域の画素値を特徴的形状に対応する画素の画素値に変換する。【選択図】図４
2015210674.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
原稿の画像を読み取る読取手段と、
前記読取手段によって読み取られた画像から文字を検出する文字検出手段と、
前記文字検出手段によって検出された文字が手書き文字である場合に、当該文字の輪郭線の方向を検出する輪郭線検出手段と、
前記輪郭線検出手段によって検出された輪郭線に基づき、手書き文字がボールペンで書かれたことを示す特徴的形状が当該文字に含まれるか否かを判定する判定手段と、
前記判定手段によって前記特徴的形状が当該文字に含まれると判定されると、前記特徴的形状に相当する欠落補間領域を特定する特定手段と、
前記特定手段によって特定された欠落補間領域の画素値を前記特徴的形状に対応する画素の画素値に変換する補間手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記輪郭線検出手段は、
前記文字検出手段によって検出された文字を所定画素数の複数の領域に分割し、当該領域ごとに、文字を構成する画素の位置に従って輪郭線の方向を検出し、文字の輪郭を示すチェイン符号化された輪郭線画像データを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、
前記輪郭線画像データが表す文字において、前記検出された輪郭線を所定の画素から当該画素の輪郭線の方向に従って追跡することによって、前記文字の書き出し部分を特定し、特定した書き出し部分の近傍に前記特徴的形状が存在するか否かを判定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記判定手段は、
前記書き出し部分を構成する複数の輪郭線のいずれかの方向を所定画素数だけ延長した範囲内に前記特徴的形状の一部が存在するか否かを判定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記所定画素数とは前記輪郭線画像データが表す文字の線幅に基づいて決定されることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記判定手段は、さらに、所定の大きさである前記特徴的形状のみを該特徴的形状として判定することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記特定手段は、前記書き出し部分と、前記特徴的形状との間を欠落部分と特定することを特徴とする請求項３乃至６の何れか１項に記載の画像処理装置。
【請求項８】
画像処理装置の制御方法であって、
原稿の画像を読み取る読取工程と、
前記読取工程において読み取られた画像から文字を検出する文字検出工程と、
前記文字検出工程において検出された文字が手書き文字である場合に、当該文字の輪郭線の方向を検出する輪郭線検出工程と、
前記輪郭線検出工程において検出された輪郭線に基づき、手書き文字がボールペンで書かれたことを示す特徴的形状が当該文字に含まれるか否かを判定する判定工程と、
前記判定工程において前記特徴的形状が当該文字に含まれると判定されると、前記特徴的形状に相当する欠落補間領域を特定する特定工程と、
前記特定工程において特定された欠落補間領域の画素値を前記特徴的形状に対応する画素の画素値に変換する補間工程と
を実行することを特徴とする画像処理装置の制御方法。
【請求項９】
請求項１乃至７の何れか１項の画像処理装置としてコンピュータを機能させるための該コンピュータで読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手書き文字を補正する画像処理装置、その制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
手書き文字が追記された文書をスキャナなどでスキャンし、ＯＣＲ（ Ｏｐｔｉｃａｌ Ｃｈａｒａｃｔｅｒ Ｒｅｃｏｇｎｉｔｉｏｎ： 光学的文字認識）ソフトを用いて文字認識を行い、手書き文字の認識結果を含む文書の再構成に利用するといったニーズがある。しかし、手書きで記述した文字情報は、従来、マス目指定、数字のみ等の条件を厳しく制限しなければ、実用的な認識率が得られないのが現状である。
【０００３】
そこで、手書き文字の認識精度を向上させるための画像処理装置、又は文字認識装置が提案されている。特許文献１には、活字と手書き文字が混在した入力画像に対して、１文字単位の文字切り出し処理を行い、文字から特徴量を算出し、活字と手書き文字の分離を行い、それぞれに対応する文字認識処理を実行することで、手書き文字の認識率を高める技術が提案されている。特許文献２には、入力画像に対して、輪郭線方向を検出し、文字の黒画素の総量と輪郭の全長を計測し、文字の文字線幅を求め、さらに文字の線幅を一定にすることで文字の認識率を高める技術が提案されている。また、手書き文字には、文字のかすれによって、文字が切れてしまう場合があり、上述の特許文献１や特許文献２では、文字として認識できない場合がある。そこで、特許文献３では、文字の切れを修復し文字認識率を高める技術が提案されている。具体的には、認識できなかった文字領域に対して、縦横における複数の画素で構成されるマトリックスを縦、横、斜め方向に９分割し、文字画像の方向線分と文字切れを検出している。文字の切れを検出できたときは、方向成分を考慮し、文字の線分を補間している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−９２３４５号公報
【特許文献２】特開平１０−１８７８８６号公報
【特許文献３】特許２７４７４９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術には以下に記載する問題がある。ボールペンを使って文字を書く場合、紙に転写しきれなかったインクが、図示しないボールペンのボールの保持部にたまり、大きくなったインクの固まりが紙に付着する、ボテと呼ばれる現象が発生することが知られている。このボテのために、ボールペンの筆跡は書き出し部分で、部分的に途切れていたり、細くなっている箇所がある。
【０００６】
図１（ｂ）は、ボールペンで書いた文字を示す。図１（ａ）の「ｌ」の拡大図である。図１（ｂ）の１０１がボテであり、下方に筆跡が続くが、ボテ１０１の後で文字が一度途切れ、筆跡１０２と離れてしまっている。このような場合、文字認識において、アルファベットの「ｌ」を「ｉ」と誤認識することもある。
【０００７】
特許文献３の補間処理においては、マトリックス領域内の文字切れ部分をすべて補間してしまうために、本来補間しなくてもよい領域を補間してしまう。図１の例では、上記補間処理は問題ないが、実際に「ｉ」の文字を「ｌ」として誤認識する要因となる。
【０００８】
本発明は、上述の問題に鑑みて成されたものであり、手書き文字を認識する際に、ボールペン特有のボテによる文字切れを好適に補間する仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、例えば、画像処理装置であって、原稿の画像を読み取る読取手段と、前記読取手段によって読み取られた画像から文字を検出する文字検出手段と、前記文字検出手段によって検出された文字が手書き文字である場合に、当該文字の輪郭線の方向を検出する輪郭線検出手段と、前記輪郭線検出手段によって検出された輪郭線に基づき、手書き文字がボールペンで書かれたことを示す特徴的形状が当該文字に含まれるか否かを判定する判定手段と、前記判定手段によって前記特徴的形状が当該文字に含まれると判定されると、前記特徴的形状に相当する欠落補間領域を特定する特定手段と、前記特定手段によって特定された欠落補間領域の画素値を前記特徴的形状に対応する画素の画素値に変換する補間手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、手書き文字を認識する際に、ボールペン特有のボテによる文字切れを好適に補間する仕組みを提供できる。
【図面の簡単な説明】
【００１１】
【図１】手書き文字の説明図。
【図２】画像処理装置構成図。
【図３】文字補正に関するブロック図。
【図４】文字補正に関するフローチャート。
【図５】文字の輪郭線方向を検出するフィルタを示す図。
【図６】文字の輪郭線の例を示す図。
【図７】ボールペン文字の検出フローチャート。
【図８】ボールペン文字の領域検出の説明図。
【図９】ボールペン文字の閉じた領域検出の説明図。
【図１０】ボールペン文字の補正の説明図。
【図１１】輪郭線を８方向に符号化した数値の説明図。
【図１２】輪郭線探索を行う条件を示す図。
【発明を実施するための形態】
【００１２】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１３】
＜画像処理装置の構成＞
まず、図２を参照して、本実施形態に係る画像処理装置２００の構成について説明する。画像処理装置２００は、各種演算処理を行うＣＰＵ２０１、基本プログラムを記憶するＲＯＭ２０２及び各種情報を記憶するＲＡＭ２０３をバスライン２１２に接続した一般的なコンピュータシステムの構成となっている。バスライン２１２にはさらに、固定ディスク２０４、表示装置２０６、キーボード２０７、マウス２０８、及び読取装置２０９がインタフェース（Ｉ／Ｆ）２１１を介して接続される。固定ディスク２０４は、各種情報を記憶する。表示装置２０６は画像等の各種情報の表示を行う。キーボード２０７及びマウス２０８は、操作者からの入力を受け付ける。読取装置２０９は、原稿から画像を読み取る。また、不図示の他の装置（印刷装置等）との間で信号を送受信する通信部２１０を有する。本実施形態においては、読取装置２０９はスキャナなどの画像読取装置として説明するが、本実施形態により本発明が限定されるものではない。
【００１４】
画像処理装置２００においては、プログラム２０５が固定ディスク２０４に記憶される。プログラム２０５がＲＡＭ２０３にコピーされるとともにＣＰＵ２０１がＲＡＭ２０３内のプログラムに従って演算処理を実行することにより（即ち、コンピュータがプログラムを実行することにより）、画像処理装置２００が文字画像の文字の補間処理を行う。
【００１５】
＜制御構成＞
次に、図３を参照して、文字画像の文字の補間処理を行うプログラム３００の構成について説明する。文字画像の文字の補間処理を行うプログラム３００は、文字情報検出部３１０と、線幅検出部３１３と、欠落補間部３２０とを含む。また、文字情報検出部３１０は、手書き文字検出部３１１及びボールペン文字検出部３１２を含む。
【００１６】
文字情報検出部３１０は、画像に含まれる文字情報を検出する。線幅検出部３１３は、文字の線幅を検出する。欠落補間部３２０は、文字情報検出部３１０が検出した文字の補間処理を行う。手書き文字検出部３１１は、手書き文字における所定のパラメータを検出する。ボールペン文字検出部３１２は、。手書き文字検出部３１１で検出された所定のパラメータから、ボールペンで書かれた文字であるか否かを検出する。
【００１７】
＜補正処理＞
次に、図４を参照して、文字の補正処理の処理手順について説明する。以下で説明する処理は、ＣＰＵ２０１がＲＡＭ２０３に格納された制御プログラム、例えばプログラム３００を実行することにより実現される。
【００１８】
Ｓ４０１において、文字情報検出部３１０は、読取装置２０９が読み取った画像の画像データを、インタフェース（Ｉ／Ｆ）２１１を介して受け取る。本実施形態において、読取装置２０９から受け取る画像データは、活字と手書き文字が混在して記載されている文書や帳票であるとして説明する。しかしながら、文字情報検出部３１０が受け取る画像データは、手書き文字のみでもよく、本実施形態により本発明が限定されるものではない。
【００１９】
続いて、Ｓ４０２において、文字情報検出部３１０は、読取装置２０９から受け取とった画像データに対して、２値化処理やノイズ除去、傾き補正などの処理を実行し、画像データから１文字ごとの文字データを抽出する。続いて、Ｓ４０３において、文字情報検出部３１０は、Ｓ４０２で抽出した文字データが活字文字であるか、又は手書き文字であるかを判定する。Ｓ４０２の１文字データ抽出に係る処理、及び、文字データが活字文字であるか又は手書き文字であるかの判定処理は公知の技術を用いる（例えば、特開平１０−１６２１０２号公報）。Ｓ４０４で手書き文字と判定されるとＳ４０５に進み、そうでない場合は処理を終了する。
【００２０】
Ｓ４０５において、手書き文字検出部３１１は、輪郭線検出手段として機能し、手書き文字の輪郭線方向の検出処理を行う。輪郭線方向の検出は、Ｓ４０３において検出した手書き文字画像から、図５に示すような２画素×２画素（所定画素数）の複数のマトリックス領域を分割して切り出し、当該マトリックス領域に含まれる黒画素５０１を文字領域として検出し、白画素５０２を背景領域として検出する。当該マトリックス領域において、検出した文字領域と背景領域との位置から輪郭線方向を決定する。
【００２１】
具体的には、図５（ａ１）の２画素×２画素のマトリックスにおいて、黒画素５０１は、右上と右下に位置しており、下から上方向の輪郭線が存在するとみなし、当該マトリックスの右下の画素の輪郭線方向を上向きとする。また、図５（ａ２）の２画素×２画素のマトリックスにおいて、黒画素５０１は、左上と左下に位置しており、上から下方向の輪郭線が存在するとみなし、当該マトリックスの左上の画素の輪郭線方向を下向きとする。同様に、図５（ｂ１）（ｂ２）は右上がり左下がり、図５（ｃ１）（ｃ２）は右下がり左上がり、（ｄ１）（ｄ２）は左向き右向きの輪郭線方向を示すと判断する。
【００２２】
当該マトリックスでの判定は、手書き文字画像の左上から開始し、１画素ずつ右に移動しながら進める。当該マトリックスが手書き文字画像の右端に達したときは、１画素下にずらし再度、左端から判定処理を行う。当該マトリックスの判定処理を全領域に及ぶように移動し文字画像の全画素における輪郭線方向データを得る。
【００２３】
各画素の輪郭線方向データは、図１１に示すように、注目画素を中心に、輪郭線を８方向に符号化した、１から８の数値が割り当てられる。例えば、図１１に示すように、１は左上方向を示し、２は左方向、３は左下方向、４は下方向、５は右下方向、６は右方向、７は右上方向、８は上方向を示すように定義される。Ｓ４０５の輪郭線方向の検出によって、図６に示すようなチェイン符号化された輪郭線方向データ（輪郭線画像データ）が生成される。図６（ｂ）は、図６（ａ）に示すアルファベットのｉの各位置の輪郭線方向データを矢印で示している例である。即ち、文字画像は、文字の輪郭線に沿って、画素ごとに１から８の数値が割り当てられる。
【００２４】
図４の説明に戻る。Ｓ４０６において、ボールペン文字検出部３１２は、補間対象であるボールペンで書かれたボールペン文字を検出する。詳細な検出処理については後述する。Ｓ４０６において、ボールペン文字が検出された場合は、Ｓ４０７において、後述する補間対象部分の補間処理を行い、処理を終了する。補間処理の詳細については後述する。
【００２５】
＜ボールペン文字の検出処理＞
次に、図７、図８、図９及び図１２を参照してボールペン文字の検出処理について説明する。上述したように、ボールペンは書き出し部分にボールペンで書かれたことを示す１つの判断材料となる特徴的形状、即ちボテ１０１が発生する可能性が高い。本実施形態によれば、この特徴的形状であるボテ１０１を探索し、ボテ１０１を検出した場合は、ボールペンで書かれた文字と判断する。
【００２６】
ボールペン検出部３１２の処理は、ボテ１０１の検出の前に、筆跡１０２の検出を行う。ボールペン文字の筆跡１０２部の探索にあたり、図８に示すような８画素×８画素からなるフィルタ８００を用意する。当該フィルタ８００は、左上を原点Ｇ（０，０）とし、各画素の位置をＧ（ｉ，ｊ）で表すとする。図８に示すフィルタ８００内の数値が記入されたブロックは、画素の輪郭線方向データを表わしている。
【００２７】
図８に示すフィルタ８００内で探索するボールペン文字の書き出し部に相当する輪郭線の形状として、図１２に示すように８つのケースがある。ケース１は、ボールペン文字の書き出し部が左から右方向へ真っ直ぐに延びた輪郭線である。ケース２は、ボールペン文字の書き出し部が左から右上方向へ延びた輪郭線である。ケース３は、ボールペン文字の書き出し部が左から右下方向へ延びた輪郭線である。ケース４は、ボールペン文字の書き出し部が上から下方向へ真っ直ぐに延びた輪郭線である。ケース５は、ボールペン文字の書き出し部が下から上方向へ真っ直ぐに延びた輪郭線である。ケース６は、ボールペン文字の書き出し部が右から左方向へ真っ直ぐに延びた輪郭線である。ケース７は、ボールペン文字の書き出し部が右から左上方向へ延びた輪郭線である。ケース８は、ボールペン文字の書き出し部が右から左下方向へ延びた輪郭線である。また、図１２の検索対象フラグは、後述するＳ７０１において探索対象とする輪郭線の形状を表わしており、値が１のとき、探索対象として有効になる。
【００２８】
通常、手書き文字の書き順は、左から右方向、又は上から下方向であることが多い。そのため、本実施形態では、探索する輪郭線の形状を、ケース１、ケース２、ケース３及びケース４としている。なお、探索する輪郭線の形状は、本実施形態に限定されるものではない。また、図１２の検索対象フラグは、ユーザがキーボード２０７やマウス２０８を介して設定することができる。
【００２９】
以下では、図７を参照して、ボールペン文字の検出処理について説明する。以下で説明する処理は、ＣＰＵ２０１がＲＡＭ２０３に格納された制御プログラム、例えばプログラム３００を実行することにより実現される。
【００３０】
まず、Ｓ７０１において、ボールペン文字検出部３１２は、フィルタ８００内に、図１２のケース１に相当する輪郭線が存在するか探索を行う。具体的には、ボールペン文字検出部３１２は、図４のＳ４０５で取得した文字画像の輪郭線方向データから、フィルタ８００の大きさの領域を切り出す。さらに、フィルタ８００の右端（Ｇ（７，０）からＧ（７，７））の領域において、輪郭線方向データの値が２の画素（即ち左向きの輪郭線）が存在するか探索する。つまり、Ｓ７０１では、各ケースに対応する方向とは逆方向の輪郭線方向データを探索する。
【００３１】
尚、Ｓ７０１に関する処理は、ケース２の場合、当該フィルタ８００の右端（Ｇ（７，０）からＧ（７，７））に、輪郭線方向データの値が３の画素（即ち左下向きの輪郭線）の存在を探索する。ケース３の場合は、当該フィルタ８００の右端（Ｇ（７，０）からＧ（７，７））に、輪郭線方向データの値が１の画素（即ち、左上向きの輪郭線）の存在を探索する。ケース４の場合は、当該フィルタ８００の下端（Ｇ（０，７）からＧ（７，７））に、輪郭線方向データの値が８の画素（即ち上向きの輪郭線）の存在を探索する。
【００３２】
Ｓ７０２において、輪郭線方向データが２である左向きの輪郭線の画素を検出できなかった場合は、Ｓ７１２に進み、検出できた場合はＳ７０３に進む。Ｓ７１２において、ボールペン文字検出部３１２は、図１２に示す検索対象フラグで有効になっているケースをまだ探索していない場合は、Ｓ７０１に処理を戻す。一方、全てのケースを探索済みの場合は、Ｓ７１０に進み、ボールペン文字検出部３１２は、文字画像の輪郭線方向データから次の領域を切り出し、次の探索への処理を行うため、本フローチャートの処理を終了する。
【００３３】
Ｓ７０３において、ボールペン文字検出部３１２は、輪郭線方向データの示す画素を追跡する。尚、本実施形態において説明するＳ７０３からＳ７１１に至る処理は、ケース１に相当する輪郭線を用いるが、ケース２、ケース３及びケース４についても、同様の処理内容となる。
【００３４】
図８に示す例の場合、Ｇ（７，５）の画素の輪郭線方向データは２のため、Ｇ（６，５）に進み、同様にＧ（５，５）、Ｇ（４，５）と追跡する。輪郭線の追跡は、追跡先の画素が、当該フィルタ８００の領域以外になるか、スタートの画素Ｇ（７，５）に戻るまで繰り返す。
【００３５】
その後、Ｓ７０４において、ボールペン文字検出部３１２は、輪郭線の追跡が終了したときの画素が、フィルタ８００の右端（Ｇ（７，０）からＧ（７，７））のいずれかに位置し、輪郭線方向データの値が、６（右向き）であるか否かを判定する。即ち、図８の画素８０２が上記条件を満たすことになる。Ｓ７０５において、ボールペン文字検出部３１２は、書き出し領域である否かを判定する。具体的には、図８に示すように、画素８０２が条件を満たすため、追跡した輪郭線で囲まれた領域８０４が文字の書き出し部分の候補であると判断してＳ７０６に進む。一方、条件を満たさない場合はＳ７１０へ進む。
【００３６】
Ｓ７０６において、ボールペン文字検出部３１２は、図８に示す画素Ｇ（７，５）の輪郭線の直線成分の判定を行う。通常、手書き文字は筆跡癖などにより、文字の書き出し部分の直線の長さは、活字と比べて短くなる。そのため、直線成分は、Ｇ（７，５）の輪郭線方向データを追跡し、３画素以上同じ左向きの輪郭線方向データが並んでいるかを判定条件とする。図８に示す例の場合、Ｇ（７，５）とＧ（６，５）、Ｇ（５，５）の３画素が対象になる。
【００３７】
同様に、図８に示す画素Ｇ（７，２）の輪郭線の直線成分の判定を行う。直線成分は、Ｇ（７，２）の輪郭線方向データを逆に追跡し、３画素以上同じ右向きの輪郭線方向データが並んでいるかを判定条件とする。図８に示す例の場合、Ｇ（７，２）とＧ（６，２）、Ｇ（５，２）の３画素が対象になる。
【００３８】
Ｓ７０７において、ボールペン文字検出部３１２は、左向きの輪郭線方向データが３画素並び、かつ、右向きの輪郭線方向データが３画素並んでいるときは、Ｓ７０８に進み、そうでない場合はＳ７１０に進む。Ｓ７０８において、ボールペン文字検出部３１２は、線幅を算出する。具体的には、Ｇ（７，２）とＧ（７，５）の間の画素数を文字の線幅８０３とする。図８の場合、線幅８０３は４となる。
【００３９】
次に、Ｓ７０９において、ボールペン文字検出部３１２は、フィルタ８００の延長上の領域（所定画素だけ延長した範囲内）、即ち図９のフィルタ９００において閉じた領域の探索を行う。つまり、当該フィルタＧ（０，０）とＧ（７，０）、Ｇ（７，７）、Ｇ（０，７）に囲まれた領域の左隣のＧ（−８，０）と、Ｇ（−１，０）、Ｇ（−１，７）、Ｇ（−８，７）に囲まれた領域を含めたフィルタ９００に閉じた輪郭線９０３の有無を調べる。つまり、ここでは、書き出し部分の近傍におけるボテの有無を調べる。
【００４０】
まず、図９の画素８０１のＧ（７，５）から画素８０２のＧ（７，２）に至る輪郭線方向データを順々に追跡していき、最も左に位置する画素、即ち座標ｉが小さい画素、Ｇ（３，４）を基準画素９０１と定める。最も左に位置する画素が複数存在する場合は、最初に見つかった画素を基準画素とする。
【００４１】
次に、フィルタ９００の基準画素９０１の左隣の画素Ｇ（２，４）からＧ（−８，４）方向へ、輪郭線方向データを有している画素を探索していき、初めに輪郭線方向データを検出した画素（図９では画素９０２）で探索を終了する。探索最大画素数（所定画素数）Ｌは、線幅８０３の２倍の画素数（図９では８画素となる）とする。探索最大画素数Ｌ以内で、輪郭線方向データを有している画素を発見できないときは、閉じた輪郭線方向データが存在しないと判断する。探索最大画素数Ｌの値は、実験等により予め相応しい値が設定されているが、筆記角度や筆圧、紙質などによってばらつきがあるため、本実施形態に限定されるものではなく、筆記角度や筆圧、紙質などの補正情報を加味して決定してもよい。図９の場合、Ｇ（−１，４）の画素９０２に輪郭線方向データが存在するので、Ｇ（−１，４）の位置で探索を終了する。
【００４２】
次に、画素９０２を開始位置とし、画素９０２が有する輪郭線方向データを基に、輪郭線方向データを追跡していく。図９の場合、Ｇ（−１，４）、Ｇ（−２，５）、Ｇ（−３，５）、Ｇ（−４，５）の順で追跡していく。輪郭線の追跡は、追跡先の画素が開始位置の画素９０２に戻るまで繰り返す。ただし、追跡する輪郭線が閉じていない場合もありえるので、最大追跡画素数Ｎを超えない範囲で追跡する。最大追跡画素数Ｎの値は、実験等により予め相応しい値が設定されている。輪郭線の追跡が開始位置の画素９０２で終了した場合は、閉じた輪郭線９０３が存在すると判断する。ここで、画素９０２は、特徴的形状（ボテ）の一部の画素となる。
【００４３】
次に、閉じた輪郭線９０３の面積が所定の画素数以下であるかを、下記条件式を使って判断する。
閉じた輪郭線９０３の領域の画素数＜（線幅８０３／２）ｘ（線幅８０３／２）ｘπｘ２・・・式１
式１において、閉じた輪郭線９０３の面積が、線幅８０３から計算できる面積の２倍より小さい値になるように設定しているが、これは、ボテ１０１の大きさが、上記条件式１を満たす場合が多いためである。しかしながら、ボテ１０１は、筆記角度や筆圧、紙質などによってばらつきがあるため、本実施形態に限定されるものではなく、筆記角度や筆圧、紙質などの補正情報を加味して決定してもよい。
【００４４】
Ｓ７１１において、ボールペン文字検出部３１２は、閉じた輪郭線９０３が上記条件式１を満たしている場合、ボールペンの手書き特有の領域画像と判断し、処理を終了する。一方、そうでないと判断すると処理をＳ７１０に進める。
【００４５】
＜補間処理＞
次に、図１０を参照して、図４のＳ４０７における欠落部分の補間処理について説明する。上記Ｓ７１１で位置と大きさが所定の条件内である閉じた輪郭線９０３を特定すると以下の補間処理を行う。
【００４６】
閉じた輪郭線９０３の画素の中で、最も左に位置する画素、即ち座標ｉが小さい画素１００１の座標Ｇ（−５，４）を基に補間する領域を特定する。具体的には、図１０の座標８０１のＧ（７，５）と座標８０２のＧ（７，２）、座標１００３のＧ（−５，２）、座標１００２のＧ（−５，５）の領域を欠落補間領域１００４として特定する。欠落補間部３２０は、欠落補間領域１００４を特定すると、当該欠落補間領域１００４の背景画素、即ち、当該領域内の全ての画素値を、閉じた輪郭線９０３の画素値に変換して画像データの補間処理を行う。
【００４７】
以上説明したように、本実施形態によれば、ボールペンで文字を書いたときに、ボールペンのインクのボテによる文字の欠けた箇所を補間し、手書き文字の文字認識率を高めることができる。また、文字認識前に文字の欠けた場所を補間できるために、誤認識後に、再度、文字認識処理をする必要がなくなるため、処理時間を短縮できる。
【００４８】
本発明は、上記実施形態に限らず様々な変形が可能である。上記実施形態では、文字画像の輪郭線抽出を行うために、文字画像の線幅を３から５画素程度として説明しているが、線幅は２画素以上であればよい。また、本実施形態では、２画素×２画素のマトリックス領域で、８方向の輪郭方向データを求めたが、マトリックスのサイズを大きくし、８方向以上の輪郭方向データを算出してもよい。
【００４９】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015210674.tif 000003
【図２】
2015210674.tif 000004
【図３】
2015210674.tif 000005
【図４】
2015210674.tif 000006
【図５】
2015210674.tif 000007
【図６】
2015210674.tif 000008
【図７】
2015210674.tif 000009
【図８】
2015210674.tif 000010
【図９】
2015210674.tif 000011
【図１０】
2015210674.tif 000012
【図１１】
2015210674.tif 000013
【図１２】
2015210674.tif 000014