JP5517028B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP5517028B2
JP5517028B2 JP2009062832A JP2009062832A JP5517028B2 JP 5517028 B2 JP5517028 B2 JP 5517028B2 JP 2009062832 A JP2009062832 A JP 2009062832A JP 2009062832 A JP2009062832 A JP 2009062832A JP 5517028 B2 JP5517028 B2 JP 5517028B2
Authority
JP
Japan
Prior art keywords
image
stroke
histogram
thin line
handwritten
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009062832A
Other languages
English (en)
Other versions
JP2010218106A (ja
Inventor
幸二 小林
浩久 稲本
酉華 木原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009062832A priority Critical patent/JP5517028B2/ja
Publication of JP2010218106A publication Critical patent/JP2010218106A/ja
Application granted granted Critical
Publication of JP5517028B2 publication Critical patent/JP5517028B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Discrimination (AREA)

Description

本発明は、手書き文字と活字が混在した原稿をスキャナ等により読み取ることで得られたデジタル画像データに対して、手書きの文字やパターン等の手書き領域を活字等領域と分離、識別する画像処理装置に関する。
近年、複写機系複合機(以下MFP(Multi Function Printer))のスキャナ機能等を使用し、ネットワークを介してパーソナルコンピュータ(以下PC)等の端末装置へ電子化された画像データを配信する機能が注目を集めている。画像配信機能においては、画像と文字を分離して、異なる圧縮処理を施し全体の圧縮効率を高めた高圧縮多層化技術や、スキャナにより読み取られた文書画像に対してOCR(Optical Character Reader)処理によって、文字画像をテキストデータ化して、画像の背後に非可視のテキスト情報を付加して画像を検索可能とする検索可能化技術等、種々の画像処理技術が開発、商品化されておりユーザの利便性を高めている。
このようなスキャナによる原稿読み取りでは、しばしば手書きの文字と活字等の印刷が混在したものが原稿として入力される場合があり、手書き部分による注釈付け、手書きによる文書の校正等のアプリケーションとして技術が公開されているものがある。
このようなアプリケーションにおいては、スキャナにて読み取った画像に含まれる手書き文字と印刷文字とを区別して抽出する手法が重要であり、種々の方法が公開されている(例えば、特許文献1〜特許文献3)。
特許文献1に記載された発明では、画像に含まれる文字又は図形のエッジ部分から濃度勾配の大きさを求め、濃度勾配の大きさについてヒストグラムを作成し、作成したヒストグラムに基づいて手書き画像と推定出来る濃度勾配の範囲を設定することによって手書き文字か否かの判定を行っている。
また、特許文献2に記載された発明では、入力画像を2値化した2値化データに対し、1文字単位の切り出しを行い、それぞれの文字に対する異なる複数の特徴量を文字単位に算出し、画像全体で特徴量を集計することにより手書き文字と活字の分離係数を算出し、算出した分離係数によって手書き文字と活字の判定を行っている。
また、特許文献3に記載された発明では、ストロークの太さ、直線性、角度を抽出することにより手書き文字であるか否かの判定を行っている。
しかしながら、特許文献1に記載された発明では、エッジで囲まれる領域に対して処理を行うので、活字と手書きが重なった部分を分離する事は困難である。このため、例えば図32に示すような活字文字の取り消し線等を手書きで追記した場合などでは、分離して判定する事が不可能である(第1の問題)。
また、縮小処理や空間フィルタ処理でエッジ強調が行われた画像においては正確な判定が出来なくなったり、精度が低下したりするため、スキャナから出力される生の画像でかつ高解像度の画像を処理対象とする必要がある(第2の問題)。
第2の問題について補足すると、現状のMFPによる画像配信では、画像の容量の問題でサイズはスキャナ解像度よりも小さく、通常200dpi〜300dpi程度が使用される。また、文字画像の読みやすさ等を向上する目的で、空間フィルタ処理が行われる事が通常であり、スキャナの生画像ではなく、縮小処理やエッジ強調処理が行われた画像が配信される事になる。特許文献1に記載された発明では、文字画像等のエッジの濃度勾配を特徴量とするため、これらの処理が行われた後の画像に対して高精度の判別を実施することが困難であり、スキャナの生画像に近い画像によって判定を実施する必要がある。これは、例えば、配信後の画像をPC上で処理するなどの用途に使用不可能な事を示し、技術の適用先を減らすことになる。また、現在MFPで良く使用されるスキャナは600dpiの解像度であり、縮小処理により精度が低下する場合は、大きな解像度の画像に対して処理を行う必要があり、メモリが増えるために、コストアップや、処理速度の低下などの問題も生じることとなる。
また、特許文献2に記載された発明では、一文字単位で特徴量を算出するため、上記第1の問題がある。また、文字枠等の無い文書画像の余白等に自由に書かれた手書き文字は、崩れたりする場合が多く、そもそも文字として認識するのが困難な場合が多い。
また、特許文献3に記載された発明では、文字単位で識別しているので、特許文献2に記載された発明と同様な問題が存在し、また、ストローク内のランの長さやストロークの輪郭線もしくは骨格線の長さや、ストロークの交点のなす角の統計をとり判別する手法においては、文字種によって特徴が異なり、例えばひらがなやアルファベット等の曲線の多い画像では漢字と同様に判別するのは困難である(第3の問題)。
さらに、ストロークの太さによる判定では、ゴシック体は良いが、明朝体の文字では線や止め部などで太さにばらつきがあり、判別しにくい。また、縮小等がされた画像では識別が困難となるので前述した第2の問題が存在する。
本発明は、このような問題を解決するためになされたものであり、その目的は、手書き文字と活字が混在した原稿から得られたデジタル画像データに対して、高精度でかつ適用範囲の広い手書きと活字の判別を可能とすることである。
画像処理装置、
本発明は、手書き部分と印刷部分が混在する原稿から得られた画像データを入力画像データとして、手書き部分を認識して抽出する画像処理装置であって、前記入力画像データより細線画像を抽出する細線画像抽出手段と、前記細線画像抽出手段より抽出された細線を文字ストロークに分解するストローク抽出手段と、ストローク内部の画素値の状態に応じて手書き部か否かを判定する第1の判定手段とを備え、前記第1の判定手段は、前記ストローク内部の画素から画素値のヒストグラムを算出するヒストグラム算出手段と、算出されたヒストグラムの態様に応じて手書き部か否かを判定する第2の判定手段とを備え、前記第2の判定手段は、ヒストグラムのピーク数を検出する検出手段を備え、ピーク数が2以上である場合には、1つのピークでのみ判定する事を特徴とする画像処理装置である。
[作用]
本発明によれば、手書き部分と印刷部分が混在する原稿から得られた画像データより細線画像を抽出し、抽出された細線を文字ストロークに分解し、ストローク内部の画素の画素値の状態に応じて手書き部か否かを判定する。この判定においては、ストローク内部の画素から画素値のヒストグラムを算出し、算出されたヒストグラムのピーク数を検出し、ピーク数が2以上である場合には、1つのピークでのみ判定する。
本発明によれば、手書き文字と活字が混在した原稿から得られたデジタル画像データに対して、高精度でかつ適用範囲の広い手書きと活字の判別が可能となる。
本発明の第1の実施形態の画像処理装置であるMFPの全体ブロック図である。 本発明の第1の実施形態の画像処理装置を用いた画像配信システムを示す図である。 本発明の第1の実施形態の画像処理装置における手書き除去動作を示すフローチャートである。 図3に示す手書き除去動作で処理する入力画像を示す図である。 図4に示す画像における手書き部分を示す図である。 図4に示す画像における活字と手書きが重なった部分で手書きと判定された画素及び混在と判定された画素を示す図である。 図4に示す画像から図5に示す手書き部分が除去された出力画像を示す図である。 図3における手書き領域認識処理の詳細を示すフローチャートである。 図8に示すフローにおける細線検出後の画像データを示す図である。 手書き文字ストロークの画素値のヒストグラムである。 活字文字ストロークの画素値のヒストグラムである。 図8における細線化処理の詳細を示すフローチャートである。 図4に示す入力画像に対して2値化処理を施した例を示す図である。 四角形を細線として抽出した例を示す図である。 ストローク抽出処理の動作のフローチャートである。 手書き文字画像の例を示す図である。 図16に示す手書き文字画像に2値化処理を施した結果を示す図である。 図16に示す手書き文字画像に細線化処理を施した結果、及び端点と交点を検出した結果を示す図である。 図16に示す手書き文字画像をストロークに分解した模式図である。 図15における文字をストローク単位に分解する処理の詳細を示すフローチャートである。 図16に示す手書き文字画像の3画目のストローク抽出後の画像を示す図である。 中央を現在の注目画素として、その前の画素からの方向によって8パターンに分けた優先度を決定するパターンテーブルを示す図である。 図22のテーブルを用いて優先度を決定する例を示す図である。 空間フィルタ処理後の活字文字の例を示す図である。 図24に示す活字文字を本発明の第1の実施形態で処理した場合のヒストグラムである。 本発明の第2の実施形態におけるストローク分割画像生成処理のフローチャートである。 図24に示す活字文字を本発明の第2の実施形態で処理した場合のヒストグラムの例を示す図である。 本発明の第2の実施形態における対象ストロークの模式図である。 本発明の第3の実施形態におけるヒストグラム算出処理のフローチャートである。 図25に示す活字のヒストグラムを16階調化したヒストグラムを示す図である。 手書きストロークを対象とし16階調化したヒストグラムを示す図である。 活字文字の取り消し線を手書きで追記した画像を示す図である。
以下、本発明を実施するための形態について、図面を参照して説明する。
[第1の実施形態]
〈MFPの全体ブロック図〉
図1は、本発明の第1の実施形態の画像処理装置であるMFPの全体ブロック図である。以下、同図における構成要素を説明する。
この画像処理装置は、原稿を読取るスキャナ部101、スキャナ部101から入力された画像データに対して、公知のγ補正処理や空間フィルタ処理等の画像処理を施すスキャナ画像処理部102、ビットマップ形式の画像データを圧縮符号化して符号データを出力するエンコーダ103、画像処理装置(MFP)全体の動作制御命令や外部装置との通信、バス111のデータの流れを制御するCPU(Central Processing Unit)105、画像データや圧縮符号化された符号データを一時的に記憶するワーク領域として使用される揮発性のメモリ106、符号データ等を保存、蓄積するためのハードディスク(以下HDD)107、操作者とのI/F(インタフェース)であり、スタートボタンやMFPの動作モード等を設定する操作部108、外部装置に対して符号化された画像データを転送する際に画像データのフォーマットを変換するフォーマット変換処理部109、外部転送路を介してPC等の外部装置に対し制御コマンドやページ記述言語形式を含む画像データを送受信する外部I/F110、接続された構成要素間にて双方向にデータ転送可能なバス111、符号データを復号処理して画像データを出力するデコーダ112、画像データを入力して公知の色補正処理、γ変換処理、擬似階調処理等を行いプリンタ114に出力するプリンタ画像処理部113、画像データを記録紙等の記録媒体へ出力するプリンタ部114、によって構成されている。
なお、外部I/F110はLAN(Local Area Network)等の外部転送路202に接続され、サーバ装置やPC等の外部装置やインターネット等の外部ネットワークに接続され、スキャナ部101で読み取られた画像や、HDD107内に蓄積された画像を配信(転送)する機能を備えている。
〈複写動作〉
以下、本実施形態のMFPにおける基本的な原稿読み取り動作及び複写動作について説明する。
ユーザにより操作部108上のスタートボタン(図示無し)が押下されると、操作部108よりバス111を介して信号を受信したCPU105は、複写動作に先立ち必要なパラメータの設定等を行い、所定の複写動作を実施すべくMFP全体の制御を行う。
まずスキャナ部101は、原稿をスキャンして図示しないCCD(Charge Coupled Device)によって光電変換を行い、デジタル信号であるRed(以下R),Green(以下G),Blue(以下B)のカラー画像データへと変換して出力する。スキャナ部101から出力された画像データは、スキャナ画像処理部101にて公知の画像処理を施される。この画像処理には例えば、CCDから読み込まれた反射率属性の信号を、濃度属性に変換するγ変換やlog変換、スキャナ光学系のMTF(Modulation Transfer Function)の劣化の補正や、モアレ抑制を目的としたエッジ強調や平滑化処理を行う空間フィルタ処理、原稿地肌を除去する地肌除去処理、スキャナの色空間を例えばsRGBなどの標準色空間へと変換する色変換処理等がある。
スキャナ画像処理部102から出力された画像データは、バス111を介して一時的にメモリ106に記憶される。メモリ106に記憶された画像データは、エンコーダ103に入力され圧縮符号化される。エンコーダ103からバス111に出力される符号データは、一旦メモリ106に記憶された後、メモリ106から読み出されてHDD107に保存される。メモリ106から読み出された画像データは、HDD107への保存と並行してデコーダ112にも入力され、復号処理を受ける。上記のようなバスの制御はCPU105によって行われる。
なお、通常このようにバスに接続されたメモリへのデータの書き込みアクセスは、バスに接続された各処理部がDMA(Direct Memory Access)方式によって数十バイトから数キロバイト単位の一定量のデータ単位で実行されるため、バスの接続部はバッファとDMAコントローラで構成されているのが一般的である。但し、本実施形態では説明の簡略化のため、DMAコントローラは省略している。また、メモリからのデータを読み出す場合にも同様にDMA方式によってアクセスするため、入力バッファメモリが必要となる。
また、HDD107への符号データの保存の際にメモリ106への書き込みを介在させる理由は以下のとおりである。HDDは、ディスクの中心に近い側と遠い側とで読み出し/書き込み速度が変化したり、読み出し/書き込みエラー等を生じたりする可能性があり、半導体メモリと比較すると同期信号の読み出し/書き込みには向かないデバイスである。そこで、同期信号であるエンコーダ103の出力データを直接書き込まずに、一旦メモリ106に記憶された符号データを非同期に書き込み、安定的に使用できるようにした。また、読み出し時も同様である。なお、1ページ単位でマクロ的にみればHDDも同期して動作することになる。
HDD107に保存された符号データは、複写動作時に紙詰まり等が発生した場合のバックアップ用途、多ページの原稿を多部数、ページ順に出力するいわゆる電子ソート機能用途など複写動作時に使用される用途の他に、外部機器への画像データ配信用途、過去に保存したデータを原稿無しで再びプリントする再プリント用途等に使用される。
一方、デコーダ112は、メモリ106から符号データが入力されると、所定の復号および合成処理を行い、画像データをプリンタ画像処理部113へ出力する。プリンタ画像処理部113での画像処理は、スキャナ画像処理部102同様、本発明において特に限定されることはない。例をあげれば、RGB信号を、プリンタの色材信号、例えばCyan(以下C),Magenta(以下M),Yellow(以下Y),Black(以下、K)へ変換しカラーマッチングを行う色補正処理、墨生成処理、画像データのγをプリンタ部114のγに合わせるγ補正処理、ディザや誤差拡散といったハーフトーンへの変換を行う擬似階調処理等が考えられる。
上記のような画像処理を受けた画像データはプリンタ部114にて図示しない記録紙などに印字されて出力され、複写動作が完了する。なお、本実施形態においては、エンコーダ103にて画像の圧縮符号化が行われ、デコーダ112により復号化が行われるように説明している。通常、MFPでは、必要メモリ量やHDDの容量の節約のためにこのような操作が行われるが、圧縮符号化を行わなくとも実現可能である。また、圧縮符号化の種類は問わない。
以上説明したのが、MFPの最も基本的な動作である複写動作である。複写動作完了後には、HDD107内に複写動作途中の画像データが圧縮符号化された状態で保存されたことになる。前述したようにHDD107内に画像データを保存しておくことによって、画像データをPC等へ電子データとして取り込んだり、必要になった時に再プリントしたりする事が可能となっている。なお、原稿をHDD107内に電子データとして保存することのみ必要な場合は、デコーダ112以降の処理は必要ない。
〈画像配信動作〉
前述のように、本実施形態のMFPは、外部転送路202を介して外部装置へ画像を配信する機能を備える。図2は画像配信の場合の全体システム構成を示す図である。同図に示すように、このシステムはMFP201、外部転送路202、クライアント装置であるPC203、PC203に配信した画像を表示等するモニタ204からなる。ここで、MFP201は図1に示した構成を有する。
以下画像配信動作について説明する。
ユーザによる操作部108により配信動作に必要な配信パラメータ設定が行われ、スタートボタン(図示無し)が押下されると、操作部108よりバス111を介して信号を受信したCPU105は、配信動作に先立ち必要な動作パラメータの設定等を行い、所定の配信動作を実施すべくMFP201全体の制御を行う。
配信パラメータ設定は、例えば、配信画像の形態(カラー、グレー、モノクロ2値)、圧縮レベル、圧縮種類、出力フォーマット、及び配信機能等である。配信機能は、例えば、画像を画像種類毎に多層化して圧縮率を高めたり、OCRにより画像に透明テキストコードを付加して検索可能とする等のものが一般的に使用されている。ここでは、例えば、手書きと活字等の印刷データが混在した原稿上から、手書き画像を消去する「手書き画像の消去」機能が選択されたものとする(なお、複数の機能が同時に選択されるような場合も考えられる)。
ここで、配信対象画像が新規スキャンデータの場合は、複写動作と同様に、エンコーダ103により圧縮符号化された画像データがメモリ106上に展開される。また、配信対象画像がHDD107内に保存されている画像の場合は、対象画像をHDD107より読み出し、同様にメモリ106上に展開する。
次に、配信機能などの上記ユーザによるパラメータ設定により設定された「手書き画像消去」画像への変換処理が行われる。画像変換処理は、CPU105によってメモリ106上に画像が展開されてソフトウェア的に実施される。なお、画像変換処理は、カラー画像のモノクロ変換、2値変換なども含まれるが説明は省略する。画像変換処理の詳細動作は後述する。
ここでメモリ106上に展開された画像データは圧縮符号化されているものであり、通常画像変換動作の前に復号化が必要である。復号化は、デコーダ112を介して行っても良いし、CPU105によって処理と並行して実施しても良い。なお、これ以降、説明の簡素化のため圧縮符号化、復号化の処理を省略して説明を行う。
画像変換がなされた画像データは、再度メモリ106上に展開され、フォーマット変換処理部109にて、ユーザにより設定された所望のフォーマットへ変換される。ここでのフォーマットには圧縮種類や、一般的に使用される文書フォーマット等が含まれる。
フォーマット変換処理部109にてフォーマット変換された文書画像は、一旦メモリ106に蓄積された後、外部I/F110より外部転送路110を介してPC203へ転送され、PC203上で表示アプリケーション等を使用してモニタ204上に表示され閲覧される。
〈画像変換処理動作(手書き画像除去動作)〉
本実施形態における画像変換処理動作は手書き画像の除去動作である。図3に手書き除去動作のフローチャートを示す。
S1:入力画像(図4参照)に対して画素単位に、手書き/活字/その他(文字以外の印刷と白地等の背景が含まれる)のいずれかに判定し、判定結果をメモリ106へ書き出す。詳細は後述する。
S2〜S4:画素単位に判定結果を識別し(S2)、手書きかつ非活字領域である場合(S2:YES→S3:NO)に、手書き除去画像(画素)を生成する(S4)。ここでの手書き除去画像は、一例として白画素であるが、好適には、周囲画素の非細線部分を選択する(詳細については、手書き領域認識処理の説明において後述する)。生成した手書き除去画像(画素)を入力画像へメモリ106上で上書き処理する。なお、S3の判定で活字領域である場合(S3:YES)には、活字の印刷上に手書き文字が書かれた画素と判定し、入力画像をそのまま出力する。このとき、図4に示す入力画像において活字と手書きが重なった部分に対して、手書き画素(図5A)及び混在画素(図5B)が正確に判定される。なお、重なった部分を活字部分、手書き部分の双方に残すこともできる。
S5:入力画像の全ての画素について実行したか否か判定し終了していない場合(S5:NO)は、S2〜S4を繰り返す。
以上により、図4に示す画像から図6に示す手書き部分が除去された出力画像(図7参照)がメモリ106上へ記憶される。
〈手書き領域認識処理(S1)〉
図3のステップS1の手書き領域認識処理の詳細について図8のフローチャートをもとに説明する。
S11:入力画像より細線部を抽出する。これ以降の処理は細線部のみ対象とする。処理終了後には細線の識別フラグの画像データ(2値の画像データ)がメモリ106上に記憶される。細線抽出処理の詳細は後述する。細線検出後の画像データは図9のようになる。(但し、実際にこのような画像は生成されない。)
S12:S11で抽出した細線部の画像データを対象としてストロークに分解し、文字のストローク毎に処理対象とし抽出する。詳細は後述する。
S13:S12で抽出したストロークの画像毎にヒストグラムを算出する。
S14:S13で算出したヒストグラムを基にストロークを手書きと活字に識別する。本実施形態においては、ヒストグラムの分散又は標準偏差を算出して、閾値処理によってばらつきが大きい(標準偏差や分散が大きい)ものは手書き文字ストローク、ばらつきが小さいものは活字文字ストロークに判別する。判別結果に応じて、画素単位を3値データ化(手書き文字/活字/その他)してフラグ画像としてメモリ106に記憶する。
図10は手書き文字ストロークの画素値のヒストグラムであり、図11は活字文字ストロークのヒストグラムである。手書き文字の方がばらつきが大きく、分散が大きな事が分かる。
〈細線抽出処理(S11)〉
S11の細線化処理の動作を図12のフローチャートをもとに説明する。
S21:まず入力画像全体を2値化する。2値化の手法は様々なものがあり、最も単純で高速な処理は、画像全体に対する固定の閾値による2値化であるが、文字を抽出するには、精度的に問題が生じる場合が多い。
好適な例としては、所定の矩形領域のブロック単位に画像信号を入力し、入力された画像信号に対し閾値決定処理にてブロック単位に一つの閾値が決定される。ここでの閾値決定処理方法としては、種々の方法が考えられ、特に限定されない。公知の方法、例えば特開2002−7763号公報に開示されているようなヒストグラムをとって平均、分散等の統計的性質を利用する方法や、簡易な方法としてはブロック内全画素の輝度(Y)値の平均値を用いたり、平均値に所定の重みを演算することによって決定する方法等を利用すればよい。
閾値決定処理にて決定された閾値に応じて2値化処理を行い、メモリ106に2値画像データとして記憶する。なお、入力がカラー画像の場合は、公知の手法により輝度信号に変換するなどの前処理を要する。図13に入力画像データに対して2値化処理を行った例を示す。
S22:2値画像をラスタ走査して黒エッジ部を検出する。
S23:2値画像の黒画素の水平方向及び垂直方向に対向する白エッジ(黒画素と白画素との境界)をスキャンする。
S24:いずれかの方向に白画素が検出された時点で線幅を画素数で確定する。
S25:線幅が所定の閾値以下ならば、細線として抽出し、スキャンした部分を細線画像としてメモリ106上に記憶する(非細線部分を入力画像から消去しても良い)。
S26〜S27:2値画像の同一黒塊内に、細線部と非細線部が混在しているか否かを判定し(S26)、混在している場合(S26:YES)は、その黒塊内の細線画像を全て非細線画像とする(S27)。
このような方法によると、S25までの判定では、三角形などの図形は途中まで細線として取られる場合があるが、S26〜S27で誤判定部分が消去され、三角形全体が非細線として判定される。また、このようなノイズ除去の手法としては、細線抽出された領域が微小領域の場合は非細線領域と判定を変更するなどの簡単な方法でもある程度の効果がある。
前述した図9はS25までの細線抽出結果の例である。この図ではコンピュータの画像の一部が細線として抽出されているが、前述した黒画素領域の補正を行う事によって誤判定領域を消去可能となる。
また、図14のような四角形の場合、白い部分(4ヶ所)が細線部、黒い部分が非細線として抽出されることになる。2値化した場合、四角形全体が黒塊となるので、細線/非細線部の混在判定により全て非細線部分とすることが可能となる。
〈ストローク抽出処理(S12)〉
S12のストローク抽出処理の詳細について図15のフローチャートをもとに説明する。
S31:S21と同様に2値化処理を行う。なお、ここでは便宜上、処理を行うものとしているが、本実施形態の場合、S21にて2値化処理した画像をメモリ106から読み出すだけでよい。
S32:細線抽出された画像に対して、1ドットの画像へ細線化処理して文字の芯線を抽出する。細線化処理にも種々の方法があるが、特開2008−158847号公報に記載された方法が好適である。4近傍距離変換の逐次型アルゴリズムを実行し、その結果を順次メモリ106に記憶してラスタ走査の方向を変化させながら、3×3マスクのパターンマッチングを使用して細線化処理を逐次的に実行していく。最終的に1ドットの文字の細線(芯線)画像が抽出され、メモリ106に記憶される。
図16に示す手書き文字画像に対して、2値化処理を施した結果を図17に、細線化処理を施した結果を図18Aに各々示す。
S33:次に1ドットに細線化した画像をもとに文字ストロークを検出(文字をストローク単位に分解)する。この処理により、図18Bのように端点と交点が検出され、端点(始点)又は交点から、端点(終点)又は交点までのストロークに分解される事になる。この処理の詳細は後述する。
なお、抽出した個々のストロークについては必要に応じてラベリングなどを施しメモリ106に記憶しておけばよい。
図18Bに示す図19Aにストローク分解した模式図を示す。
S34:ストローク検出処理(S33)にて検出されたストロークを元に、2値画像を使用して芯線周囲の黒画素をストローク画像領域として識別する。交点周囲は、所定の画像領域を含めるように構成すればよい(例えば、交点周囲の5×5の矩形領域内の黒画素のみを含める等)。そして、個々のストローク画像領域に対応する入力画像をストローク画像として生成し、ヒストグラム算出(S13)の入力画像とする。
〈文字ストローク検出処理(S33)〉
文字ストロークを検出(文字をストローク単位に分解)する処理を図20のフローチャートにより詳細に説明する。
この処理を単純に実行すると、図19Bに示すように、字の書き順とは異質なストロークが取れてしまう場合がある。このような事が生じると、手書きと活字が混在する部分をうまく識別出来なくなる可能性がある。図21は3画目のストローク抽出後の画像であるが、端点から始まる場合と交点から始まる場合とで場合分けが必要である。
S331:1ドット細線画像を例えば左上から右下方向へラスタ走査して端点(始点)を検出する。前回のS331〜S337までの処理で未処理の交点を残している場合には、検出された交点からスタートする。
S332〜S333:次に分岐がある(交点)か否かを判定し(S332)、交点でない場合(S332:NO)には、周囲画素から黒画素をスキャンして1ドット進める(S338)。この状態では分岐点ではないので進める画素は一つである。
分岐がある場合(S332:YES)には、交点と認識しその交点に未処理の画素の方向が2方向以上あるか否かを判定する(S333)。以前の走査で進めるべき方向が1方向の場合にはS333の処理を実行する。
例えば三叉路の分岐の場合を考えると、以前に一つの方向が処理されていた場合には進める可能性は一意に決定されるので、S335以下の処理は必要なくなる。
S334:進める方向が2方向以上ある場合には、方向の優先度を算出する。方向の優先度は、黒画素スキャンした方向から算出する。
図22は、中央を現在の注目画素(スキャンの位置)つまり交点として、その前の画素からの方向によって8つのパターンA〜Hに分けた優先度を決定するパターンテーブルを示している。数字の低い方が高優先度である。なお、×の画素は黒画素が取りえない位置を表している(×の位置に黒画素が存在する場合、一つ前の画素が交点となるため)。
図23を例にして説明すると、交点の前の画素が交点の上側にある場合は、図22Cのパターンを参照して、交点から次の画素がどの位置に存在するかにより優先度を決定する。三叉路の場合は、2方向に進める可能性があるので、図23の場合は、優先度4と優先度5の方向がある。ここで、現在処理中のストロークの優先度の決定については優先度の高い方を選択し、優先度4となる。
次に、処理中のストローク以外のストロークの優先度を求める。図23の場合は、交点から見て水平方向に伸びるストロークを仮定する。この場合、処理済の画素は対象に入れない。水平方向に伸びるストロークは左から右へ伸びるストロークと右から左へ伸びる2つのストロークを仮定する事が出来る。左から右へ伸びるストロークは、図22Aのパターンを用いて優先度1、右から左へ伸びるストロークも図22Eのパターンを使用して優先度1となる。この場合は優先度の高いものを一つ選んで優先度とし、結果処理中以外のストロークの優先度は1となる。
なお、その他のストロークの処理を簡易的にしたい場合は、複数の方向毎に優先度を算出せずに、左から右のストロークのみ判定するなどストロークの方向の優先度をあらかじめ設定しておいても良い。
S335〜S336:処理中のストロークの優先度とその他のストロークの優先度を比較する(S335)。図23の例では、処理中のストロークは、その他のストロークの優先度よりも低いため(S335:NO)、この交点にてストロークは終了(エンド)となる。
処理中のストロークの優先度が高い場合(S335:YES)には、交点分岐の2方向のうち優先度の高い方向へ1ドットストロークを前進させる(S336)。図23で仮に処理中のストロークの優先度がその他のストロークよりも高い場合は右(優先度4)の方向へ前進する事になる。
S337:終点の端点か否かを判定し、終点の端点に到達するか、交点で他のストロークよりも優先度が低くなるまで、S332〜S336の処理を繰り返す。
以上説明したように、本発明の第1の実施形態によれば、手書き文字と活字文字等の印刷部分が混在する原稿を対象に、手書き部分を認識する画像処理装置において、細線画像を処理対象とし、文字のストロークに分解し、ストローク内部の画素値の状態に応じて手書き文字を判定しているため、活字と手書きが重なった部分や、曲線が多い文字等、文字種によらずに、またスキャナの生画像のみを対象とすることなく精度良く判定することが可能となる。
また、手書き部分と活字部分を各々判定し、手書きでかつ活字部分を混在部分と判定しているので、手書き画像を消去した画像を作成する場合においても、混在部分で活字画像が不自然に消去されることない。
また、手書き文字ストロークの判定対象として細線画像のみを抽出する場合に、2値化画像の黒塊内で細線と非細線の混在がある場合に細線判定部分を非細線へ変更しているので、連続した画像内で細線/非細線の混在を防ぐ事が可能となり、手書き判定の精度が向上する。
なお、本実施形態においては、MFPのCPUで処理を実施する例を示したが、例えば、MFPのスキャナで読み込んだ画像をサーバやPC等の外部装置に配信した後にサーバやPCのCPUによって処理を実施しても良い。その場合は、MFPの代わりにスキャナ単体装置等を使用しても良い。
[第2の実施形態]
図24に空間フィルタ処理後の活字文字の例を示す。文字幅がやや太い文字の場合、文字画像のエッジ部と文字内部で画像の濃度に差が生じる事がある。
このような文字画像を第1の実施形態の処理にて判定しようとすると、濃度の高い画素と濃度の低い画素を有するストロークでは、2つの濃度の影響により、図25のようなヒストグラムとなり、ヒストグラムの分散や標準偏差の値が大きくなる傾向を示す。これは、活字文字の判定の精度低下を招く事になる。本実施形態はこのような場合への対応を可能にしたものである。
本実施形態の画像処理装置の構成は第1の実施形態とほぼ同様であり、異なるのはストローク分割画像生成処理(図15のS34に対応)のみであるため、その処理について説明する。
図26は、本実施形態におけるストローク分割画像生成処理のフローチャートである。
S41:2値化画像から対象ストロークの芯線(1ドット細線)周囲の黒画素を探索する。
S42:黒エッジ又は黒エッジ近傍画素か否かを判定する。黒エッジ近傍画素は、黒エッジからの距離によって判定すればよい。なお、黒エッジ画素のみを対象とする方法もあるが、黒エッジと黒エッジから1〜2ドットの画素を対象外とした方が良い精度が得られる。黒エッジ又は黒エッジ近傍画素であった場合(S42:YES)には、次のS43をスキップして、その画素をストローク分割画像に含めないようにする。
S43:S42の判定にて黒エッジ又は黒エッジ近傍画素で無い場合(S42:NO)には、その画素をストローク分割画像に追加する。
S44:終点まで処理が終了したか否かを判定し、終点周囲の画素まで全て処理が終了した時点で終了とする。
以上のように、本実施形態によれば、ストローク分割画像生成処理にてエッジやエッジ近傍画素をストローク分割画像から除外する事によって、文字内部の画素のみからヒストグラムの算出が可能となる。
この場合の活字文字のヒストグラムの例を図27に示す。図25と比べると、ヒストグラムの複数のピークが解消され、ばらつきが少なくなった(分散、標準偏差が小さくなった)事が分かる。
なお、S41〜S44の処理によって全く画素が取得出来ない場合などは、対象ストロークが極細線画像なので、一旦除外された対象ストロークの全ての画素をストローク分割画像としても良いし、極細線画像が活字である事が予め明確であれば、(通常手書き画像は活字よりも太くなるため)ヒストグラムの算出、判定をせずに活字と判定する方法もある。
図28に対象ストロークの模式図を示す。
以上説明したように、本発明の第2の実施形態によれば、空間フィルタによってエッジが強調された画像においても、エッジおよびエッジ近傍画素を除外して、ヒストグラムを算出して手書き文字ストロークと活字ストロークを判定しているので、精度良く手書き文字ストロークと活字文字ストロークを識別可能となる。
[第3の実施形態]
本実施形態は第2の実施形態と同様な課題を別アプローチにより解決したものである。画像処理装置の構成は第1の実施形態とほぼ同様であるため、異なる部分であるヒストグラム算出処理(図8のS13に対応)のみ説明する。
図29は、本実施形態におけるヒストグラム算出処理のフローチャートである。
S51:第1の実施形態と同様に通常の階調数でヒストグラム1を算出する。
S52:階調数を落としてヒストグラム2を算出する。これには、入力画像データの階調数を落として算出する手法もあるが、好適にはヒストグラム1の度数を結合すれば良い。例えば、256階調の画像を16階調としてヒストグラム2を算出すると、256階調の画素値は0〜255を取るので、画素値0〜15の度数の加算結果をヒストグラム2の画素値0の度数とすればよい。図30に図25の活字のヒストグラムを16階調化したヒストグラム2を示す。
S53:ヒストグラム2よりピーク数を検出する。ヒストグラム2を画素値0からスキャンし、度数が山になっている部分がいくつあるかを検出すればよい。なお、多少の増減をも検出してしまうと精度が低下するので、所定の閾値以上変化した場合のみの変化を有効とした方がより好適である。
S54、S58:ピーク数が2以上あるか否かを判定し(S54)、ピークが一つのみの場合(S54:NO)は、S58にてヒストグラム1の結果をそのまま手書き判定処理S14へ出力する。
S55:S54の判定でピーク数が2以上である場合(S54:YES)には、ヒストグラム2によって谷を検出する。なお、最低画素値と最高画素値は谷として扱う。
S56:谷、山(ピーク)、谷に含まれる画素の度数を、一つのピーク毎に積算して、最も度数の多いピークを選択する。なお、谷にあたる画素の度数は、隣り合うピークの双方に含めることとする。
S57:選択されたピークの谷から谷までの画素値に対応するヒストグラム1のデータを手書き判定処理S14へ出力する。なお、ヒストグラム2が16階調、ヒストグラム1が256階調であった場合、ヒストグラム2で谷にあたる画素値のデータは、ヒストグラム1では16の画素値が含まれる事になるので、例えば、半数のピーク値に近い画素のみ含めたり、谷にあたる画素値のデータを全く含めなかったりしても良い。
なお、手書き判定処理S14への出力は入力画像の全画素値を対象としたヒストグラム1を使用しているが、処理の簡素化のためにヒストグラム2を使用しても問題ない場合もある。
図31は、手書きストロークを対象としたヒストグラム2の例である。この場合、多少の増減があるが、ピークは一つとして判定される。
以上説明したように、本発明の第3の実施形態によれば、空間フィルタによってエッジが強調された画像においても、ヒストグラムのピーク数を検出してピーク数が複数の場合に、単一のピークに関わる画素値のみを対象として手書き文字ストロークと活字ストロークを判定しているので、精度良く手書き文字ストロークと活字文字ストロークを識別可能となる。
101・・・スキャナ部、102・・・スキャナ画像処理部、105・・・CPU、106・・・メモリ、201・・・MFP、S1・・・手書き領域認識処理、S4・・・手書き除去画像生成処理、S11・・・細線抽出処理、S12・・・ストローク抽出処理、S13・・・ヒストグラム算出処理、S14・・・手書き判定処理、S21・・・2値化処理、S22・・・エッジ検出処理、S23・・・エッジ探索処理、S24・・・線幅検出処理、S25・・・線幅判定処理。
特開2007−087196号公報 特開2006−092345号公報 特開平10−162102号公報

Claims (3)

  1. 手書き部分と印刷部分が混在する原稿から得られた画像データを入力画像データとして、手書き部分を認識して抽出する画像処理装置であって、
    前記入力画像データより細線画像を抽出する細線画像抽出手段と、前記細線画像抽出手段より抽出された細線を文字ストロークに分解するストローク抽出手段と、ストローク内部の画素値の状態に応じて手書き部か否かを判定する第1の判定手段とを備え
    前記第1の判定手段は、前記ストローク内部の画素から画素値のヒストグラムを算出するヒストグラム算出手段と、算出されたヒストグラムの態様に応じて手書き部か否かを判定する第2の判定手段とを備え、
    前記第2の判定手段は、ヒストグラムのピーク数を検出する検出手段を備え、ピーク数が2以上である場合には、1つのピークでのみ判定する事を特徴とする画像処理装置。
  2. 請求項1に記載された画像処理装置において、
    前記検出手段は、ピーク数の検出を階調数を低減したヒストグラム上で実施する事を特徴とする画像処理装置。
  3. 請求項1又は2に記載された画像処理装置において、
    前記細線画像抽出手段は、画像を2値化処理する2値化処理手段と、前記2値化処理された画像より線画像エッジを検出するエッジ検出手段と、前記エッジ検出手段により検出されたエッジから少なくとも2つの方向へ非細線画像エッジを探索する探索手段と、前記探索結果により線幅を検出する線幅検出手段と、前記線幅から細線か否かを判定する細線判定手段と、前記2値化処理された画像の黒塊内に細線領域と非細線領域が混在していた場合に細線領域を非細線領域と変更する変更手段を備えた事を特徴とする画像処理装置。
JP2009062832A 2009-03-16 2009-03-16 画像処理装置 Expired - Fee Related JP5517028B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009062832A JP5517028B2 (ja) 2009-03-16 2009-03-16 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009062832A JP5517028B2 (ja) 2009-03-16 2009-03-16 画像処理装置

Publications (2)

Publication Number Publication Date
JP2010218106A JP2010218106A (ja) 2010-09-30
JP5517028B2 true JP5517028B2 (ja) 2014-06-11

Family

ID=42976913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009062832A Expired - Fee Related JP5517028B2 (ja) 2009-03-16 2009-03-16 画像処理装置

Country Status (1)

Country Link
JP (1) JP5517028B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7379063B2 (ja) 2019-10-04 2023-11-14 キヤノン株式会社 画像処理システム、画像処理方法、及びプログラム
US11568623B2 (en) 2019-08-22 2023-01-31 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181993A (ja) * 1998-12-16 2000-06-30 Fujitsu Ltd 文字認識方法および装置
JP2006092345A (ja) * 2004-09-24 2006-04-06 Fuji Xerox Co Ltd 文字認識装置、文字認識方法および文字認識プログラム

Also Published As

Publication number Publication date
JP2010218106A (ja) 2010-09-30

Similar Documents

Publication Publication Date Title
US8320019B2 (en) Image processing apparatus, image processing method, and computer program thereof
US7664321B2 (en) Image processing method, system, program, program storage medium and information processing apparatus
JP5875637B2 (ja) 画像処理装置、画像処理方法
US7660014B2 (en) Image processing apparatus capable of extracting rule from document image with high precision
US8451462B2 (en) Image forming apparatus, image forming method, and storage medium
US10477063B2 (en) Character detection and binarization
US8384964B2 (en) Image processing apparatus and image processing method
JP5049920B2 (ja) 画像処理装置及び画像処理方法
JP4424309B2 (ja) 画像処理装置、文字判定プログラム、および文字判定方法
Bhattacharjya et al. Data embedding in text for a copier system
US7133559B2 (en) Image processing device, image processing method, image processing program, and computer readable recording medium on which image processing program is recorded
US8774511B2 (en) Image processing apparatus and image processing method
JP6743092B2 (ja) 画像処理装置、画像処理の制御方法、及びプログラム
US8229214B2 (en) Image processing apparatus and image processing method
JP4582200B2 (ja) 画像処理装置、画像変換方法、およびコンピュータプログラム
US8810877B2 (en) Image processing apparatus, image processing method, and storage medium for eliminating blurring of scanned image
US8577132B2 (en) Electronic document generation system, electronic document generation method, and program
JP5517028B2 (ja) 画像処理装置
JP4396710B2 (ja) 画像処理装置、画像処理装置の制御方法、および画像処理装置の制御プログラム
JP2006093880A (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP7185451B2 (ja) 画像処理装置と画像処理方法、及びプログラム
JP2010068198A (ja) 画像形成装置
JP2010218128A (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140320

LAPS Cancellation because of no payment of annual fees