(57)【要約】【課題】手書き文字と活字が混在した文書画像から得られたデジタル画像データに対して、高精度でかつ適用範囲の広い手書きと活字の判定を可能とする。【解決手段】入力画像データより細線画像を抽出し（Ｓ11）、抽出された細線を文字ストロークに分解し(Ｓ12)、ストローク内部の画素から画素値のヒストグラムを算出し（Ｓ13）、算出されたヒストグラムの態様に応じて手書き部を判定する（Ｓ14）。【選択図】図８
2010218106.tif 000002
【特許請求の範囲】
【請求項１】
手書き部分と印刷部分が混在する原稿から得られた画像データを入力画像データとして、手書き部分を認識して抽出する画像処理装置であって、
前記入力画像データより細線画像を抽出する細線画像抽出手段と、前記細線抽出手段より抽出された細線を文字ストロークに分解するストローク抽出手段と、ストローク内部の画素値の状態に応じて手書き部か否かを判定する第１の判定手段とを備えた事を特徴とする画像処理装置。
【請求項２】
請求項１に記載された画像処理装置において、
前記第１の判定手段は、前記ストローク内部の画素から画素値のヒストグラムを算出するヒストグラム算出手段と、算出されたヒストグラムの態様に応じて手書き部か否かを判定する第２の判定手段とを備えた事を特徴とする画像処理装置。
【請求項３】
請求項２に記載された画像処理装置において、
前記第２の判定手段は、ヒストグラムのばらつき度合いで判定する事を特徴とする画像処理装置。
【請求項４】
請求項３に記載された画像処理装置において、
前記ヒストグラム算出手段は、エッジ部の画素を前記ヒストグラムの算出に含めない事を特徴とする画像処理装置。
【請求項５】
請求項２に記載された画像処理装置において、
前記第２の判定手段は、ヒストグラムのピーク数を検出する検出手段を備え、ピーク数が２以上である場合には、１つのピークでのみ判定する事を特徴とする画像処理装置。
【請求項６】
請求項５に記載された画像処理装置において、
前記検出手段は、ピーク数の検出を階調数を低減したヒストグラム上で実施する事を特徴とする画像処理装置。
【請求項７】
請求項１〜６のいずれかに記載された画像処理装置において、
前記第１の判定手段で非手書き部と判定されたストロークを活字部と判定し、手書き部でかつ活字部の領域を混在部として判定する第３の判定手段を備えた事を特徴とする画像処理装置。
【請求項８】
請求項１〜７のいずれかに記載された画像処理装置において、
前記細線画像抽出手段は、画像を２値化処理する２値化処理手段と、前記２値化処理された画像より線画像エッジを検出するエッジ検出手段と、前記エッジ検出手段により検出されたエッジから少なくとも２つの方向へ非細線画像エッジを探索する探索手段と、前記探索結果により線幅を検出する線幅検出手段と、前記線幅から細線か否かを判定する細線判定手段と、前記２値化処理された画像の黒塊内に細線領域と非細線領域が混在していた場合に細線領域を非細線領域と変更する変更手段を備えた事を特徴とする画像処理装置。
【請求項９】
手書き部分と印刷部分が混在する原稿から得られた画像データを入力画像データとして、手書き部分を認識して抽出する画像処理方法であって、
前記入力画像データより細線画像を抽出する細線画像抽出工程と、前記細線抽出手段より抽出された細線を文字ストロークに分解するストローク抽出工程と、ストローク内部の画素値の状態に応じて手書き部か否かを判定する判定工程とを備えた事を特徴とする画像処理方法。
【請求項１０】
コンピュータを請求項１〜８の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手書き文字と活字が混在した原稿をスキャナ等により読み取ることで得られたデジタル画像データに対して、手書きの文字やパターン等の手書き領域を活字等領域と分離、識別する画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複写機系複合機（以下ＭＦＰ（Multi Function Printer））のスキャナ機能等を使用し、ネットワークを介してパーソナルコンピュータ（以下ＰＣ）等の端末装置へ電子化された画像データを配信する機能が注目を集めている。画像配信機能においては、画像と文字を分離して、異なる圧縮処理を施し全体の圧縮効率を高めた高圧縮多層化技術や、スキャナにより読み取られた文書画像に対してＯＣＲ（Optical Character Reader）処理によって、文字画像をテキストデータ化して、画像の背後に非可視のテキスト情報を付加して画像を検索可能とする検索可能化技術等、種々の画像処理技術が開発、商品化されておりユーザの利便性を高めている。
【０００３】
このようなスキャナによる原稿読み取りでは、しばしば手書きの文字と活字等の印刷が混在したものが原稿として入力される場合があり、手書き部分による注釈付け、手書きによる文書の校正等のアプリケーションとして技術が公開されているものがある。
【０００４】
このようなアプリケーションにおいては、スキャナにて読み取った画像に含まれる手書き文字と印刷文字とを区別して抽出する手法が重要であり、種々の方法が公開されている（例えば、特許文献１〜特許文献３）。
【０００５】
特許文献１に記載された発明では、画像に含まれる文字又は図形のエッジ部分から濃度勾配の大きさを求め、濃度勾配の大きさについてヒストグラムを作成し、作成したヒストグラムに基づいて手書き画像と推定出来る濃度勾配の範囲を設定することによって手書き文字か否かの判定を行っている。
【０００６】
また、特許文献２に記載された発明では、入力画像を２値化した２値化データに対し、１文字単位の切り出しを行い、それぞれの文字に対する異なる複数の特徴量を文字単位に算出し、画像全体で特徴量を集計することにより手書き文字と活字の分離係数を算出し、算出した分離係数によって手書き文字と活字の判定を行っている。
【０００７】
また、特許文献３に記載された発明では、ストロークの太さ、直線性、角度を抽出することにより手書き文字であるか否かの判定を行っている。
【０００８】
しかしながら、特許文献１に記載された発明では、エッジで囲まれる領域に対して処理を行うので、活字と手書きが重なった部分を分離する事は困難である。このため、例えば図３２に示すような活字文字の取り消し線等を手書きで追記した場合などでは、分離して判定する事が不可能である（第１の問題）。
【０００９】
また、縮小処理や空間フィルタ処理でエッジ強調が行われた画像においては正確な判定が出来なくなったり、精度が低下したりするため、スキャナから出力される生の画像でかつ高解像度の画像を処理対象とする必要がある（第２の問題）。
【００１０】
第２の問題について補足すると、現状のＭＦＰによる画像配信では、画像の容量の問題でサイズはスキャナ解像度よりも小さく、通常200dpi〜300dpi程度が使用される。また、文字画像の読みやすさ等を向上する目的で、空間フィルタ処理が行われる事が通常であり、スキャナの生画像ではなく、縮小処理やエッジ強調処理が行われた画像が配信される事になる。特許文献１に記載された発明では、文字画像等のエッジの濃度勾配を特徴量とするため、これらの処理が行われた後の画像に対して高精度の判別を実施することが困難であり、スキャナの生画像に近い画像によって判定を実施する必要がある。これは、例えば、配信後の画像をＰＣ上で処理するなどの用途に使用不可能な事を示し、技術の適用先を減らすことになる。また、現在ＭＦＰで良く使用されるスキャナは600dpiの解像度であり、縮小処理により精度が低下する場合は、大きな解像度の画像に対して処理を行う必要があり、メモリが増えるために、コストアップや、処理速度の低下などの問題も生じることとなる。
【００１１】
また、特許文献２に記載された発明では、一文字単位で特徴量を算出するため、上記第１の問題がある。また、文字枠等の無い文書画像の余白等に自由に書かれた手書き文字は、崩れたりする場合が多く、そもそも文字として認識するのが困難な場合が多い。
【００１２】
また、特許文献３に記載された発明では、文字単位で識別しているので、特許文献２に記載された発明と同様な問題が存在し、また、ストローク内のランの長さやストロークの輪郭線もしくは骨格線の長さや、ストロークの交点のなす角の統計をとり判別する手法においては、文字種によって特徴が異なり、例えばひらがなやアルファベット等の曲線の多い画像では漢字と同様に判別するのは困難である（第３の問題）。
【００１３】
さらに、ストロークの太さによる判定では、ゴシック体は良いが、明朝体の文字では線や止め部などで太さにばらつきがあり、判別しにくい。また、縮小等がされた画像では識別が困難となるので前述した第２の問題が存在する。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本発明は、このような問題を解決するためになされたものであり、その目的は、手書き文字と活字が混在した原稿から得られたデジタル画像データに対して、高精度でかつ適用範囲の広い手書きと活字の判別を可能とすることである。
画像処理装置、
【課題を解決するための手段】
【００１５】
本発明は、手書き部分と印刷部分が混在する原稿から得られた画像データを入力画像データとして、手書き部分を認識して抽出する画像処理装置であって、前記入力画像データより細線画像を抽出する細線抽出手段と、前記細線抽出手段により抽出された細線を文字ストロークに分解するストローク抽出手段と、前記ストローク抽出手段により抽出されたストローク内部の画素値の状態に応じて手書き部か否かを判定する判定手段とを備えた事を特徴とする画像処理装置である。
【００１６】
［作用］
本発明によれば、手書き部分と印刷部分が混在する原稿から得られた画像データより細線画像を抽出し、抽出された細線を文字ストロークに分解し、ストローク内部の画素値の状態に応じて手書き部か否かを判定する。
【発明の効果】
【００１７】
本発明によれば、手書き文字と活字が混在した原稿から得られたデジタル画像データに対して、高精度でかつ適用範囲の広い手書きと活字の判別が可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態の画像処理装置であるＭＦＰの全体ブロック図である。
【図２】本発明の第１の実施形態の画像処理装置を用いた画像配信システムを示す図である。
【図３】本発明の第１の実施形態の画像処理装置における手書き除去動作を示すフローチャートである。
【図４】図３に示す手書き除去動作で処理する入力画像を示す図である。
【図５】図４に示す画像における手書き部分を示す図である。
【図６】図４に示す画像における活字と手書きが重なった部分で手書きと判定された画素及び混在と判定された画素を示す図である。
【図７】図４に示す画像から図５に示す手書き部分が除去された出力画像を示す図である。
【図８】図３における手書き領域認識処理の詳細を示すフローチャートである。
【図９】図８に示すフローにおける細線検出後の画像データを示す図である。
【図１０】手書き文字ストロークの画素値のヒストグラムである。
【図１１】活字文字ストロークの画素値のヒストグラムである。
【図１２】図８における細線化処理の詳細を示すフローチャートである。
【図１３】図４に示す入力画像に対して２値化処理を施した例を示す図である。
【図１４】四角形を細線として抽出した例を示す図である。
【図１５】ストローク抽出処理の動作のフローチャートである。
【図１６】手書き文字画像の例を示す図である。
【図１７】図１６に示す手書き文字画像に２値化処理を施した結果を示す図である。
【図１８】図１６に示す手書き文字画像に細線化処理を施した結果、及び端点と交点を検出した結果を示す図である。
【図１９】図１６に示す手書き文字画像をストロークに分解した模式図である。
【図２０】図１５における文字をストローク単位に分解する処理の詳細を示すフローチャートである。
【図２１】図１６に示す手書き文字画像の３画目のストローク抽出後の画像を示す図である。
【図２２】中央を現在の注目画素として、その前の画素からの方向によって８パターンに分けた優先度を決定するパターンテーブルを示す図である。
【図２３】図２２のテーブルを用いて優先度を決定する例を示す図である。
【図２４】空間フィルタ処理後の活字文字の例を示す図である。
【図２５】図２４に示す活字文字を本発明の第１の実施形態で処理した場合のヒストグラムである。
【図２６】本発明の第２の実施形態におけるストローク分割画像生成処理のフローチャートである。
【図２７】図２４に示す活字文字を本発明の第２の実施形態で処理した場合のヒストグラムの例を示す図である。
【図２８】本発明の第２の実施形態における対象ストロークの模式図である。
【図２９】本発明の第３の実施形態におけるヒストグラム算出処理のフローチャートである。
【図３０】図２５に示す活字のヒストグラムを１６階調化したヒストグラムを示す図である。
【図３１】手書きストロークを対象とし１６階調化したヒストグラムを示す図である。
【図３２】活字文字の取り消し線を手書きで追記した画像を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための形態について、図面を参照して説明する。
［第１の実施形態］
〈ＭＦＰの全体ブロック図〉
図１は、本発明の第１の実施形態の画像処理装置であるＭＦＰの全体ブロック図である。以下、同図における構成要素を説明する。
【００２０】
この画像処理装置は、原稿を読取るスキャナ部101、スキャナ部101から入力された画像データに対して、公知のγ補正処理や空間フィルタ処理等の画像処理を施すスキャナ画像処理部102、ビットマップ形式の画像データを圧縮符号化して符号データを出力するエンコーダ103、画像処理装置（ＭＦＰ）全体の動作制御命令や外部装置との通信、バス111のデータの流れを制御するＣＰＵ（Central Processing Unit）105、画像データや圧縮符号化された符号データを一時的に記憶するワーク領域として使用される揮発性のメモリ106、符号データ等を保存、蓄積するためのハードディスク（以下ＨＤＤ)107、操作者とのＩ／Ｆ（インタフェース）であり、スタートボタンやＭＦＰの動作モード等を設定する操作部108、外部装置に対して符号化された画像データを転送する際に画像データのフォーマットを変換するフォーマット変換処理部109、外部転送路を介してＰＣ等の外部装置に対し制御コマンドやページ記述言語形式を含む画像データを送受信する外部Ｉ／Ｆ110、接続された構成要素間にて双方向にデータ転送可能なバス111、符号データを復号処理して画像データを出力するデコーダ112、画像データを入力して公知の色補正処理、γ変換処理、擬似階調処理等を行いプリンタ114に出力するプリンタ画像処理部113、画像データを記録紙等の記録媒体へ出力するプリンタ部114、によって構成されている。
【００２１】
なお、外部Ｉ／Ｆ110はＬＡＮ（Local Area Network）等の外部転送路202に接続され、サーバ装置やＰＣ等の外部装置やインターネット等の外部ネットワークに接続され、スキャナ部101で読み取られた画像や、ＨＤＤ107内に蓄積された画像を配信（転送）する機能を備えている。
【００２２】
〈複写動作〉
以下、本実施形態のＭＦＰにおける基本的な原稿読み取り動作及び複写動作について説明する。
【００２３】
ユーザにより操作部108上のスタートボタン（図示無し）が押下されると、操作部108よりバス111を介して信号を受信したＣＰＵ105は、複写動作に先立ち必要なパラメータの設定等を行い、所定の複写動作を実施すべくＭＦＰ全体の制御を行う。
【００２４】
まずスキャナ部101は、原稿をスキャンして図示しないＣＣＤ（Charge Coupled Device）によって光電変換を行い、デジタル信号であるRed（以下Ｒ），Green（以下Ｇ），Blue（以下Ｂ）のカラー画像データへと変換して出力する。スキャナ部101から出力された画像データは、スキャナ画像処理部101にて公知の画像処理を施される。この画像処理には例えば、ＣＣＤから読み込まれた反射率属性の信号を、濃度属性に変換するγ変換やlog変換、スキャナ光学系のＭＴＦ（Modulation Transfer Function）の劣化の補正や、モアレ抑制を目的としたエッジ強調や平滑化処理を行う空間フィルタ処理、原稿地肌を除去する地肌除去処理、スキャナの色空間を例えばｓＲＧＢなどの標準色空間へと変換する色変換処理等がある。
【００２５】
スキャナ画像処理部102から出力された画像データは、バス111を介して一時的にメモリ106に記憶される。メモリ106に記憶された画像データは、エンコーダ103に入力され圧縮符号化される。エンコーダ103からバス111に出力される符号データは、一旦メモリ106に記憶された後、メモリ106から読み出されてＨＤＤ107に保存される。メモリ106から読み出された画像データは、ＨＤＤ107への保存と並行してデコーダ112にも入力され、復号処理を受ける。上記のようなバスの制御はＣＰＵ105によって行われる。
【００２６】
なお、通常このようにバスに接続されたメモリへのデータの書き込みアクセスは、バスに接続された各処理部がＤＭＡ（Direct Memory Access）方式によって数十バイトから数キロバイト単位の一定量のデータ単位で実行されるため、バスの接続部はバッファとＤＭＡコントローラで構成されているのが一般的である。但し、本実施形態では説明の簡略化のため、ＤＭＡコントローラは省略している。また、メモリからのデータを読み出す場合にも同様にＤＭＡ方式によってアクセスするため、入力バッファメモリが必要となる。
【００２７】
また、ＨＤＤ107への符号データの保存の際にメモリ106への書き込みを介在させる理由は以下のとおりである。ＨＤＤは、ディスクの中心に近い側と遠い側とで読み出し／書き込み速度が変化したり、読み出し／書き込みエラー等を生じたりする可能性があり、半導体メモリと比較すると同期信号の読み出し／書き込みには向かないデバイスである。そこで、同期信号であるエンコーダ103の出力データを直接書き込まずに、一旦メモリ106に記憶された符号データを非同期に書き込み、安定的に使用できるようにした。また、読み出し時も同様である。なお、１ページ単位でマクロ的にみればＨＤＤも同期して動作することになる。
【００２８】
ＨＤＤ107に保存された符号データは、複写動作時に紙詰まり等が発生した場合のバックアップ用途、多ページの原稿を多部数、ページ順に出力するいわゆる電子ソート機能用途など複写動作時に使用される用途の他に、外部機器への画像データ配信用途、過去に保存したデータを原稿無しで再びプリントする再プリント用途等に使用される。
【００２９】
一方、デコーダ112は、メモリ106から符号データが入力されると、所定の復号および合成処理を行い、画像データをプリンタ画像処理部113へ出力する。プリンタ画像処理部113での画像処理は、スキャナ画像処理部102同様、本発明において特に限定されることはない。例をあげれば、ＲＧＢ信号を、プリンタの色材信号、例えばCyan（以下Ｃ），Magenta（以下Ｍ），Yellow（以下Ｙ），Black（以下、Ｋ）へ変換しカラーマッチングを行う色補正処理、墨生成処理、画像データのγをプリンタ部114のγに合わせるγ補正処理、ディザや誤差拡散といったハーフトーンへの変換を行う擬似階調処理等が考えられる。
【００３０】
上記のような画像処理を受けた画像データはプリンタ部114にて図示しない記録紙などに印字されて出力され、複写動作が完了する。なお、本実施形態においては、エンコーダ103にて画像の圧縮符号化が行われ、デコーダ112により復号化が行われるように説明している。通常、ＭＦＰでは、必要メモリ量やＨＤＤの容量の節約のためにこのような操作が行われるが、圧縮符号化を行わなくとも実現可能である。また、圧縮符号化の種類は問わない。
【００３１】
以上説明したのが、ＭＦＰの最も基本的な動作である複写動作である。複写動作完了後には、ＨＤＤ107内に複写動作途中の画像データが圧縮符号化された状態で保存されたことになる。前述したようにＨＤＤ107内に画像データを保存しておくことによって、画像データをＰＣ等へ電子データとして取り込んだり、必要になった時に再プリントしたりする事が可能となっている。なお、原稿をＨＤＤ107内に電子データとして保存することのみ必要な場合は、デコーダ112以降の処理は必要ない。
【００３２】
〈画像配信動作〉
前述のように、本実施形態のＭＦＰは、外部転送路202を介して外部装置へ画像を配信する機能を備える。図２は画像配信の場合の全体システム構成を示す図である。同図に示すように、このシステムはＭＦＰ201、外部転送路202、クライアント装置であるＰＣ203、ＰＣ203に配信した画像を表示等するモニタ204からなる。ここで、ＭＦＰ201は図１に示した構成を有する。
【００３３】
以下画像配信動作について説明する。
ユーザによる操作部108により配信動作に必要な配信パラメータ設定が行われ、スタートボタン（図示無し）が押下されると、操作部108よりバス111を介して信号を受信したＣＰＵ105は、配信動作に先立ち必要な動作パラメータの設定等を行い、所定の配信動作を実施すべくＭＦＰ201全体の制御を行う。
【００３４】
配信パラメータ設定は、例えば、配信画像の形態（カラー、グレー、モノクロ２値）、圧縮レベル、圧縮種類、出力フォーマット、及び配信機能等である。配信機能は、例えば、画像を画像種類毎に多層化して圧縮率を高めたり、ＯＣＲにより画像に透明テキストコードを付加して検索可能とする等のものが一般的に使用されている。ここでは、例えば、手書きと活字等の印刷データが混在した原稿上から、手書き画像を消去する「手書き画像の消去」機能が選択されたものとする（なお、複数の機能が同時に選択されるような場合も考えられる）。
【００３５】
ここで、配信対象画像が新規スキャンデータの場合は、複写動作と同様に、エンコーダ103により圧縮符号化された画像データがメモリ106上に展開される。また、配信対象画像がＨＤＤ107内に保存されている画像の場合は、対象画像をＨＤＤ107より読み出し、同様にメモリ106上に展開する。
【００３６】
次に、配信機能などの上記ユーザによるパラメータ設定により設定された「手書き画像消去」画像への変換処理が行われる。画像変換処理は、ＣＰＵ105によってメモリ106上に画像が展開されてソフトウェア的に実施される。なお、画像変換処理は、カラー画像のモノクロ変換、２値変換なども含まれるが説明は省略する。画像変換処理の詳細動作は後述する。
【００３７】
ここでメモリ106上に展開された画像データは圧縮符号化されているものであり、通常画像変換動作の前に復号化が必要である。復号化は、デコーダ112を介して行っても良いし、ＣＰＵ105によって処理と並行して実施しても良い。なお、これ以降、説明の簡素化のため圧縮符号化、復号化の処理を省略して説明を行う。
【００３８】
画像変換がなされた画像データは、再度メモリ106上に展開され、フォーマット変換処理部109にて、ユーザにより設定された所望のフォーマットへ変換される。ここでのフォーマットには圧縮種類や、一般的に使用される文書フォーマット等が含まれる。
【００３９】
フォーマット変換処理部109にてフォーマット変換された文書画像は、一旦メモリ106に蓄積された後、外部Ｉ／Ｆ110より外部転送路110を介してＰＣ203へ転送され、ＰＣ203上で表示アプリケーション等を使用してモニタ204上に表示され閲覧される。
【００４０】
〈画像変換処理動作（手書き画像除去動作）〉
本実施形態における画像変換処理動作は手書き画像の除去動作である。図３に手書き除去動作のフローチャートを示す。
【００４１】
Ｓ１：入力画像（図４参照）に対して画素単位に、手書き／活字／その他（文字以外の印刷と白地等の背景が含まれる）のいずれかに判定し、判定結果をメモリ106へ書き出す。詳細は後述する。
【００４２】
Ｓ２〜Ｓ４：画素単位に判定結果を識別し（Ｓ２）、手書きかつ非活字領域である場合（Ｓ２：YES→Ｓ３：NO）に、手書き除去画像（画素）を生成する（Ｓ４）。ここでの手書き除去画像は、一例として白画素であるが、好適には、周囲画素の非細線部分を選択する（詳細については、手書き領域認識処理の説明において後述する）。生成した手書き除去画像（画素）を入力画像へメモリ106上で上書き処理する。なお、Ｓ３の判定で活字領域である場合（Ｓ３：YES）には、活字の印刷上に手書き文字が書かれた画素と判定し、入力画像をそのまま出力する。このとき、図４に示す入力画像において活字と手書きが重なった部分に対して、手書き画素（図５Ａ）及び混在画素（図５Ｂ）が正確に判定される。なお、重なった部分を活字部分、手書き部分の双方に残すこともできる。
【００４３】
Ｓ５：入力画像の全ての画素について実行したか否か判定し終了していない場合（Ｓ５：NO）は、Ｓ２〜Ｓ４を繰り返す。
【００４４】
以上により、図４に示す画像から図６に示す手書き部分が除去された出力画像（図７参照）がメモリ106上へ記憶される。
【００４５】
〈手書き領域認識処理（Ｓ１）〉
図３のステップS1の手書き領域認識処理の詳細について図８のフローチャートをもとに説明する。
【００４６】
Ｓ11：入力画像より細線部を抽出する。これ以降の処理は細線部のみ対象とする。処理終了後には細線の識別フラグの画像データ（２値の画像データ）がメモリ106上に記憶される。細線抽出処理の詳細は後述する。細線検出後の画像データは図９のようになる。（但し、実際にこのような画像は生成されない。）
【００４７】
Ｓ12：Ｓ11で抽出した細線部の画像データを対象としてストロークに分解し、文字のストローク毎に処理対象とし抽出する。詳細は後述する。
Ｓ13：Ｓ12で抽出したストロークの画像毎にヒストグラムを算出する。
【００４８】
Ｓ14：Ｓ13で算出したヒストグラムを基にストロークを手書きと活字に識別する。本実施形態においては、ヒストグラムの分散又は標準偏差を算出して、閾値処理によってばらつきが大きい（標準偏差や分散が大きい）ものは手書き文字ストローク、ばらつきが小さいものは活字文字ストロークに判別する。判別結果に応じて、画素単位を３値データ化（手書き文字／活字／その他）してフラグ画像としてメモリ106に記憶する。
【００４９】
図１０は手書き文字ストロークの画素値のヒストグラムであり、図１１は活字文字ストロークのヒストグラムである。手書き文字の方がばらつきが大きく、分散が大きな事が分かる。
【００５０】
〈細線抽出処理（Ｓ11）〉
Ｓ11の細線化処理の動作を図１２のフローチャートをもとに説明する。
Ｓ21：まず入力画像全体を２値化する。２値化の手法は様々なものがあり、最も単純で高速な処理は、画像全体に対する固定の閾値による２値化であるが、文字を抽出するには、精度的に問題が生じる場合が多い。
【００５１】
好適な例としては、所定の矩形領域のブロック単位に画像信号を入力し、入力された画像信号に対し閾値決定処理にてブロック単位に一つの閾値が決定される。ここでの閾値決定処理方法としては、種々の方法が考えられ、特に限定されない。公知の方法、例えば特開２００２−７７６３号公報に開示されているようなヒストグラムをとって平均、分散等の統計的性質を利用する方法や、簡易な方法としてはブロック内全画素の輝度（Ｙ）値の平均値を用いたり、平均値に所定の重みを演算することによって決定する方法等を利用すればよい。
【００５２】
閾値決定処理にて決定された閾値に応じて２値化処理を行い、メモリ106に２値画像データとして記憶する。なお、入力がカラー画像の場合は、公知の手法により輝度信号に変換するなどの前処理を要する。図１３に入力画像データに対して２値化処理を行った例を示す。
【００５３】
Ｓ22：２値画像をラスタ走査して黒エッジ部を検出する。
Ｓ23：２値画像の黒画素の水平方向及び垂直方向に対向する白エッジ（黒画素と白画素との境界）をスキャンする。
Ｓ24：いずれかの方向に白画素が検出された時点で線幅を画素数で確定する。
Ｓ25：線幅が所定の閾値以下ならば、細線として抽出し、スキャンした部分を細線画像としてメモリ106上に記憶する（非細線部分を入力画像から消去しても良い）。
【００５４】
Ｓ26〜Ｓ27：２値画像の同一黒塊内に、細線部と非細線部が混在しているか否かを判定し（Ｓ26）、混在している場合（Ｓ26：YES）は、その黒塊内の細線画像を全て非細線画像とする（Ｓ27）。
【００５５】
このような方法によると、Ｓ25までの判定では、三角形などの図形は途中まで細線として取られる場合があるが、Ｓ26〜Ｓ27で誤判定部分が消去され、三角形全体が非細線として判定される。また、このようなノイズ除去の手法としては、細線抽出された領域が微小領域の場合は非細線領域と判定を変更するなどの簡単な方法でもある程度の効果がある。
【００５６】
前述した図９はＳ25までの細線抽出結果の例である。この図ではコンピュータの画像の一部が細線として抽出されているが、前述した黒画素領域の補正を行う事によって誤判定領域を消去可能となる。
【００５７】
また、図１４のような四角形の場合、白い部分（４ヶ所）が細線部、黒い部分が非細線として抽出されることになる。２値化した場合、四角形全体が黒塊となるので、細線／非細線部の混在判定により全て非細線部分とすることが可能となる。
【００５８】
〈ストローク抽出処理（Ｓ12）〉
Ｓ12のストローク抽出処理の詳細について図１５のフローチャートをもとに説明する。
Ｓ31：Ｓ21と同様に２値化処理を行う。なお、ここでは便宜上、処理を行うものとしているが、本実施形態の場合、Ｓ21にて２値化処理した画像をメモリ106から読み出すだけでよい。
【００５９】
Ｓ32：細線抽出された画像に対して、１ドットの画像へ細線化処理して文字の芯線を抽出する。細線化処理にも種々の方法があるが、特開２００８−１５８８４７号公報に記載された方法が好適である。４近傍距離変換の逐次型アルゴリズムを実行し、その結果を順次メモリ106に記憶してラスタ走査の方向を変化させながら、３×３マスクのパターンマッチングを使用して細線化処理を逐次的に実行していく。最終的に１ドットの文字の細線（芯線）画像が抽出され、メモリ106に記憶される。
【００６０】
図１６に示す手書き文字画像に対して、２値化処理を施した結果を図１７に、細線化処理を施した結果を図１８Ａに各々示す。
【００６１】
Ｓ33：次に１ドットに細線化した画像をもとに文字ストロークを検出（文字をストローク単位に分解）する。この処理により、図１８Ｂのように端点と交点が検出され、端点（始点）又は交点から、端点（終点）又は交点までのストロークに分解される事になる。この処理の詳細は後述する。
【００６２】
なお、抽出した個々のストロークについては必要に応じてラベリングなどを施しメモリ106に記憶しておけばよい。
図１８Ｂに示す図１９Ａにストローク分解した模式図を示す。
【００６３】
Ｓ34：ストローク検出処理（S33）にて検出されたストロークを元に、２値画像を使用して芯線周囲の黒画素をストローク画像領域として識別する。交点周囲は、所定の画像領域を含めるように構成すればよい（例えば、交点周囲の５×５の矩形領域内の黒画素のみを含める等）。そして、個々のストローク画像領域に対応する入力画像をストローク画像として生成し、ヒストグラム算出（Ｓ13）の入力画像とする。
【００６４】
〈文字ストローク検出処理（Ｓ33）〉
文字ストロークを検出（文字をストローク単位に分解）する処理を図２０のフローチャートにより詳細に説明する。
【００６５】
この処理を単純に実行すると、図１９Ｂに示すように、字の書き順とは異質なストロークが取れてしまう場合がある。このような事が生じると、手書きと活字が混在する部分をうまく識別出来なくなる可能性がある。図２１は３画目のストローク抽出後の画像であるが、端点から始まる場合と交点から始まる場合とで場合分けが必要である。
【００６６】
Ｓ331：１ドット細線画像を例えば左上から右下方向へラスタ走査して端点（始点）を検出する。前回のＳ331〜Ｓ337までの処理で未処理の交点を残している場合には、検出された交点からスタートする。
【００６７】
Ｓ332〜Ｓ333：次に分岐がある（交点）か否かを判定し（Ｓ332）、交点でない場合（Ｓ332：NO）には、周囲画素から黒画素をスキャンして１ドット進める（Ｓ338）。この状態では分岐点ではないので進める画素は一つである。
【００６８】
分岐がある場合（Ｓ332：YES）には、交点と認識しその交点に未処理の画素の方向が２方向以上あるか否かを判定する（Ｓ333）。以前の走査で進めるべき方向が１方向の場合にはＳ333の処理を実行する。
【００６９】
例えば三叉路の分岐の場合を考えると、以前に一つの方向が処理されていた場合には進める可能性は一意に決定されるので、Ｓ335以下の処理は必要なくなる。
【００７０】
Ｓ334：進める方向が２方向以上ある場合には、方向の優先度を算出する。方向の優先度は、黒画素スキャンした方向から算出する。
【００７１】
図２２は、中央を現在の注目画素（スキャンの位置）つまり交点として、その前の画素からの方向によって８つのパターンＡ〜Ｈに分けた優先度を決定するパターンテーブルを示している。数字の低い方が高優先度である。なお、×の画素は黒画素が取りえない位置を表している（×の位置に黒画素が存在する場合、一つ前の画素が交点となるため）。
【００７２】
図２３を例にして説明すると、交点の前の画素が交点の上側にある場合は、図２２Ｃのパターンを参照して、交点から次の画素がどの位置に存在するかにより優先度を決定する。三叉路の場合は、２方向に進める可能性があるので、図２３の場合は、優先度４と優先度５の方向がある。ここで、現在処理中のストロークの優先度の決定については優先度の高い方を選択し、優先度４となる。
【００７３】
次に、処理中のストローク以外のストロークの優先度を求める。図２３の場合は、交点から見て水平方向に伸びるストロークを仮定する。この場合、処理済の画素は対象に入れない。水平方向に伸びるストロークは左から右へ伸びるストロークと右から左へ伸びる２つのストロークを仮定する事が出来る。左から右へ伸びるストロークは、図２２Ａのパターンを用いて優先度１、右から左へ伸びるストロークも図２２Ｅのパターンを使用して優先度１となる。この場合は優先度の高いものを一つ選んで優先度とし、結果処理中以外のストロークの優先度は１となる。
【００７４】
なお、その他のストロークの処理を簡易的にしたい場合は、複数の方向毎に優先度を算出せずに、左から右のストロークのみ判定するなどストロークの方向の優先度をあらかじめ設定しておいても良い。
【００７５】
Ｓ335〜S336：処理中のストロークの優先度とその他のストロークの優先度を比較する（Ｓ335）。図２３の例では、処理中のストロークは、その他のストロークの優先度よりも低いため（Ｓ335：NO）、この交点にてストロークは終了（エンド）となる。
【００７６】
処理中のストロークの優先度が高い場合（Ｓ335：YES）には、交点分岐の２方向のうち優先度の高い方向へ１ドットストロークを前進させる（Ｓ336）。図２３で仮に処理中のストロークの優先度がその他のストロークよりも高い場合は右（優先度４）の方向へ前進する事になる。
【００７７】
Ｓ337：終点の端点か否かを判定し、終点の端点に到達するか、交点で他のストロークよりも優先度が低くなるまで、Ｓ332〜Ｓ336の処理を繰り返す。
【００７８】
以上説明したように、本発明の第１の実施形態によれば、手書き文字と活字文字等の印刷部分が混在する原稿を対象に、手書き部分を認識する画像処理装置において、細線画像を処理対象とし、文字のストロークに分解し、ストローク内部の画素値の状態に応じて手書き文字を判定しているため、活字と手書きが重なった部分や、曲線が多い文字等、文字種によらずに、またスキャナの生画像のみを対象とすることなく精度良く判定することが可能となる。
また、手書き部分と活字部分を各々判定し、手書きでかつ活字部分を混在部分と判定しているので、手書き画像を消去した画像を作成する場合においても、混在部分で活字画像が不自然に消去されることない。
また、手書き文字ストロークの判定対象として細線画像のみを抽出する場合に、２値化画像の黒塊内で細線と非細線の混在がある場合に細線判定部分を非細線へ変更しているので、連続した画像内で細線／非細線の混在を防ぐ事が可能となり、手書き判定の精度が向上する。
【００７９】
なお、本実施形態においては、ＭＦＰのＣＰＵで処理を実施する例を示したが、例えば、ＭＦＰのスキャナで読み込んだ画像をサーバやＰＣ等の外部装置に配信した後にサーバやＰＣのＣＰＵによって処理を実施しても良い。その場合は、ＭＦＰの代わりにスキャナ単体装置等を使用しても良い。
【００８０】
［第２の実施形態］
図２４に空間フィルタ処理後の活字文字の例を示す。文字幅がやや太い文字の場合、文字画像のエッジ部と文字内部で画像の濃度に差が生じる事がある。
【００８１】
このような文字画像を第１の実施形態の処理にて判定しようとすると、濃度の高い画素と濃度の低い画素を有するストロークでは、２つの濃度の影響により、図２５のようなヒストグラムとなり、ヒストグラムの分散や標準偏差の値が大きくなる傾向を示す。これは、活字文字の判定の精度低下を招く事になる。本実施形態はこのような場合への対応を可能にしたものである。
【００８２】
本実施形態の画像処理装置の構成は第１の実施形態とほぼ同様であり、異なるのはストローク分割画像生成処理（図１５のＳ34に対応）のみであるため、その処理について説明する。
【００８３】
図２６は、本実施形態におけるストローク分割画像生成処理のフローチャートである。
Ｓ41：２値化画像から対象ストロークの芯線（１ドット細線）周囲の黒画素を探索する。
【００８４】
Ｓ42：黒エッジ又は黒エッジ近傍画素か否かを判定する。黒エッジ近傍画素は、黒エッジからの距離によって判定すればよい。なお、黒エッジ画素のみを対象とする方法もあるが、黒エッジと黒エッジから１〜２ドットの画素を対象外とした方が良い精度が得られる。黒エッジ又は黒エッジ近傍画素であった場合（Ｓ42：YES）には、次のＳ43をスキップして、その画素をストローク分割画像に含めないようにする。
【００８５】
Ｓ43：Ｓ42の判定にて黒エッジ又は黒エッジ近傍画素で無い場合（Ｓ42：NO）には、その画素をストローク分割画像に追加する。
Ｓ44：終点まで処理が終了したか否かを判定し、終点周囲の画素まで全て処理が終了した時点で終了とする。
【００８６】
以上のように、本実施形態によれば、ストローク分割画像生成処理にてエッジやエッジ近傍画素をストローク分割画像から除外する事によって、文字内部の画素のみからヒストグラムの算出が可能となる。
【００８７】
この場合の活字文字のヒストグラムの例を図２７に示す。図２５と比べると、ヒストグラムの複数のピークが解消され、ばらつきが少なくなった（分散、標準偏差が小さくなった）事が分かる。
【００８８】
なお、Ｓ41〜Ｓ44の処理によって全く画素が取得出来ない場合などは、対象ストロークが極細線画像なので、一旦除外された対象ストロークの全ての画素をストローク分割画像としても良いし、極細線画像が活字である事が予め明確であれば、（通常手書き画像は活字よりも太くなるため）ヒストグラムの算出、判定をせずに活字と判定する方法もある。
図２８に対象ストロークの模式図を示す。
【００８９】
以上説明したように、本発明の第２の実施形態によれば、空間フィルタによってエッジが強調された画像においても、エッジおよびエッジ近傍画素を除外して、ヒストグラムを算出して手書き文字ストロークと活字ストロークを判定しているので、精度良く手書き文字ストロークと活字文字ストロークを識別可能となる。
【００９０】
［第３の実施形態］
本実施形態は第２の実施形態と同様な課題を別アプローチにより解決したものである。画像処理装置の構成は第１の実施形態とほぼ同様であるため、異なる部分であるヒストグラム算出処理（図８のＳ13に対応）のみ説明する。
【００９１】
図２９は、本実施形態におけるヒストグラム算出処理のフローチャートである。
Ｓ51：第１の実施形態と同様に通常の階調数でヒストグラム１を算出する。
【００９２】
Ｓ52：階調数を落としてヒストグラム２を算出する。これには、入力画像データの階調数を落として算出する手法もあるが、好適にはヒストグラム１の度数を結合すれば良い。例えば、２５６階調の画像を１６階調としてヒストグラム２を算出すると、２５６階調の画素値は０〜２５５を取るので、画素値０〜１５の度数の加算結果をヒストグラム２の画素値０の度数とすればよい。図３０に図２５の活字のヒストグラムを１６階調化したヒストグラム２を示す。
【００９３】
Ｓ53：ヒストグラム２よりピーク数を検出する。ヒストグラム２を画素値０からスキャンし、度数が山になっている部分がいくつあるかを検出すればよい。なお、多少の増減をも検出してしまうと精度が低下するので、所定の閾値以上変化した場合のみの変化を有効とした方がより好適である。
【００９４】
Ｓ54、Ｓ58：ピーク数が２以上あるか否かを判定し（Ｓ54）、ピークが一つのみの場合（Ｓ54：NO）は、Ｓ58にてヒストグラム１の結果をそのまま手書き判定処理Ｓ14へ出力する。
【００９５】
Ｓ55：Ｓ54の判定でピーク数が２以上である場合（Ｓ54：YES）には、ヒストグラム２によって谷を検出する。なお、最低画素値と最高画素値は谷として扱う。
【００９６】
Ｓ56：谷、山（ピーク）、谷に含まれる画素の度数を、一つのピーク毎に積算して、最も度数の多いピークを選択する。なお、谷にあたる画素の度数は、隣り合うピークの双方に含めることとする。
【００９７】
Ｓ57：選択されたピークの谷から谷までの画素値に対応するヒストグラム１のデータを手書き判定処理Ｓ14へ出力する。なお、ヒストグラム２が１６階調、ヒストグラム１が２５６階調であった場合、ヒストグラム２で谷にあたる画素値のデータは、ヒストグラム１では１６の画素値が含まれる事になるので、例えば、半数のピーク値に近い画素のみ含めたり、谷にあたる画素値のデータを全く含めなかったりしても良い。
【００９８】
なお、手書き判定処理Ｓ14への出力は入力画像の全画素値を対象としたヒストグラム１を使用しているが、処理の簡素化のためにヒストグラム２を使用しても問題ない場合もある。
【００９９】
図３１は、手書きストロークを対象としたヒストグラム２の例である。この場合、多少の増減があるが、ピークは一つとして判定される。
【０１００】
以上説明したように、本発明の第３の実施形態によれば、空間フィルタによってエッジが強調された画像においても、ヒストグラムのピーク数を検出してピーク数が複数の場合に、単一のピークに関わる画素値のみを対象として手書き文字ストロークと活字ストロークを判定しているので、精度良く手書き文字ストロークと活字文字ストロークを識別可能となる。
【符号の説明】
【０１０１】
101・・・スキャナ部、102・・・スキャナ画像処理部、105・・・ＣＰＵ、106・・・メモリ、201・・・ＭＦＰ、Ｓ１・・・手書き領域認識処理、Ｓ４・・・手書き除去画像生成処理、Ｓ11・・・細線抽出処理、Ｓ12・・・ストローク抽出処理、Ｓ13・・・ヒストグラム算出処理、Ｓ14・・・手書き判定処理、Ｓ21・・・２値化処理、Ｓ22・・・エッジ検出処理、Ｓ23・・・エッジ探索処理、Ｓ24・・・線幅検出処理、Ｓ25・・・線幅判定処理。
【先行技術文献】
【特許文献】
【０１０２】
【特許文献１】特開２００７−０８７１９６号公報
【特許文献２】特開２００６−０９２３４５号公報
【特許文献３】特開平１０−１６２１０２号公報
【図１】
2010218106.tif 000003
【図２】
2010218106.tif 000004
【図３】
2010218106.tif 000005
【図４】
2010218106.tif 000006
【図５】
2010218106.tif 000007
【図６】
2010218106.tif 000008
【図７】
2010218106.tif 000009
【図８】
2010218106.tif 000010
【図９】
2010218106.tif 000011
【図１０】
2010218106.tif 000012
【図１１】
2010218106.tif 000013
【図１２】
2010218106.tif 000014
【図１３】
2010218106.tif 000015
【図１４】
2010218106.tif 000016
【図１５】
2010218106.tif 000017
【図１６】
2010218106.tif 000018
【図１７】
2010218106.tif 000019
【図１８】
2010218106.tif 000020
【図１９】
2010218106.tif 000021
【図２０】
2010218106.tif 000022
【図２１】
2010218106.tif 000023
【図２２】
2010218106.tif 000024
【図２３】
2010218106.tif 000025
【図２４】
2010218106.tif 000026
【図２５】
2010218106.tif 000027
【図２６】
2010218106.tif 000028
【図２７】
2010218106.tif 000029
【図２８】
2010218106.tif 000030
【図２９】
2010218106.tif 000031
【図３０】
2010218106.tif 000032
【図３１】
2010218106.tif 000033
【図３２】
2010218106.tif 000034