JP2009141597A - 画像処理装置、文字領域特定方法、および文字領域特定プログラム - Google Patents

画像処理装置、文字領域特定方法、および文字領域特定プログラム Download PDF

Info

Publication number
JP2009141597A
JP2009141597A JP2007314902A JP2007314902A JP2009141597A JP 2009141597 A JP2009141597 A JP 2009141597A JP 2007314902 A JP2007314902 A JP 2007314902A JP 2007314902 A JP2007314902 A JP 2007314902A JP 2009141597 A JP2009141597 A JP 2009141597A
Authority
JP
Japan
Prior art keywords
character
rectangle
image
area
row
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.)
Granted
Application number
JP2007314902A
Other languages
English (en)
Other versions
JP5003445B2 (ja
Inventor
Kazuya Yago
和也 矢後
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2007314902A priority Critical patent/JP5003445B2/ja
Publication of JP2009141597A publication Critical patent/JP2009141597A/ja
Application granted granted Critical
Publication of JP5003445B2 publication Critical patent/JP5003445B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】複雑で多様な背景を含んだ画像からより正確に文字行矩形を生成するとともに、より正確に文字行矩形を特定する画像処理装置、当該画像処理装置を用いた文字領域認識方法、および文字領域認識プログラムを提供する。
【解決手段】画像に基づいて2値画像を生成する生成手段11と、2値画像から余白領域とそれ以外の非余白領域とを抽出する第1の抽出手段12と、非余白領域内で膨張処理を行うことにより、少なくとも1つの第1の行矩形を生成する膨張手段13と、第1の行矩形の形状に基づいて2値画像の文字行方向を判定する判定手段14と、判定手段により判定された文字行方向に第1の行矩形同士を連結することによって第2の行矩形を生成する第1の連結手段17と、2値画像における第2の行矩形に対応する領域に基づいて文字領域を特定する第1の特定手段18とを備える。
【選択図】図3

Description

この発明は、複数の画素からなる画像の中から文字領域を特定する画像処理装置、当該画像処理装置を用いた文字領域特定方法、および文字領域特定プログラムに関し、特に、複雑で多様な背景を含んだ画像から正確に文字行矩形を生成するとともに、正確に文字行矩形を特定する画像処理装置、当該画像処理装置を用いた文字領域特定方法、および文字領域特定プログラムに関する。
近年、情報の電子化が進み、文書を紙ではなく電子化して保存、または送信する需要が高まっている。そこで、MFP(Multi Function Peripheral)等の画像データを取得する画像処理装置において、スキャンして得られた画像データを紙に印刷することなく、メールに添付するなどして直接送信する機能が普及してきている。
ところで、MFP等の画像処理装置において取り扱う画像は白黒画像からカラー画像に移行しつつあるため、上記画像データはカラー画像データとなりつつある。MFPにおいて、いわゆるA4サイズと言われる297mm×210mmのサイズのフルカラー原稿を解像度300dpiでスキャンして得られるカラー画像データのサイズは、約25MBに達する。そのため、カラー画像データは、メールに添付して送信するにはサイズが大きすぎるという問題が発生してきている。
この問題を解決するために、スキャンして得られた画像データ(スキャンデータと略する)を圧縮してサイズダウンしてから送信することが一般的になされている。しかしながら、画像全体に対して同一の解像度でスキャンデータを圧縮すると、画像に含まれる文字の判読性が損なわれる。画像中の文字の判読性を確保できる程度の高い解像度で圧縮すると、スキャンデータのサイズダウンが十分にできないという問題がある。
この問題を解決するために、本願出願人が先に出願して公開されている特開2004−304469号公報(特許文献1)において、画像中の領域ごとに異なる解像度や異なる圧縮方法でスキャンデータを圧縮する、いわゆるコンパクトPDF(Portable Document Format)化と言われる方法などの圧縮方法が提案されている。この方法によると、コンパクトPDFは、(1)スキャンデータの領域を判別する処理を実行し、文字領域と文字以外の部分とを分離し、(2)文字領域に対して、高解像度のまま二値化処理し、同じ色の文字を統合して文字の色を決定して、MMR(Modified Modified-Read)圧縮等の可逆圧縮し、(3)文字以外の部分に対して、解像度を下げてJPEG(Joint Photographic Experts Group)圧縮等の非可逆圧縮し、(4)JPEGレイヤとMMRレイヤとを重ね合わせる、という手順で作成される。このようにして、文字判読性とデータの圧縮性を両立したPDFファイルを生成することが出来る。
そして、コンパクトPDFは上記の手順で生成されるため、コンパクトPDFの生成においてはスキャンされた画像データから文字領域を正確に抽出することが重要となる。特に、複雑で多様な背景を含んだ画像から文字を抽出する際に問題となるのが、背景領域を間違えて文字として抽出してしまうことである。この問題を解決するために、文字が行単位にまとまって存在することが多いという特徴を活かし、画素が連結されて形成された矩形について、行らしさを基に文字判定を行う方法が挙げられている。
たとえば、特開平5−73718号公報(特許文献2)に記載の領域属性識別方式では、文字領域内のすべての黒画素の連結状態を調べ、黒画素が連結しているかたまりに外接する矩形の座標を検出する。各外接矩形に対して最も近い外接矩形を検出してその位置関係を検出する。そして、水平方向につながっていれば水平方向結合カウンタを1つすすめ、垂直方向につながっていれば、垂直方向結合カウンタを1つすすめる。全ての外接矩形について処理が終了したら、水平方向結合カウンタと垂直方向結合カウンタの値を比較し、水平方向結合カウンタが多い場合は横書き領域と判定され、垂直方向結合カウンタが多い場合は縦書き領域と判定する。
また、特開平5−166000号公報(特許文献3)に記載の文書画像の領域抽出方法では、領域画像作成処理により領域画像を作成し、その領域画像を用いてラベル画像作成処理によってラベル画像を作成する。文書画像作成処理では、ラベル画像から文字領域以外の領域を全て白にし、文字のみの文字画像を作成する。そして、隣接領域検索処理で、文字領域毎に上,下,左,右それぞれの最も近くに位置する文字領域を検索する。この結果を基に、書き方向結合処理で、文字領域の、行方向あるいは列方向の結合を行う。さらに、グループ化結合処理で書き方向が一致する複数の文字列を結合する。最後に領域統合処理で、グループ化結合処理で結合された文字領域を囲む最小の矩形領域を求めることにより文書画像の領域抽出を行う。
さらに、特開2007−193750号公報(特許文献4)には、スキャン画像から、主に図形やグラフなどを含む図領域と、テキスト領域とを分離し、テキスト領域については、近傍の黒画素を連結して、黒画素が連結して得られた矩形単位で文字判定を行う画像処理装置が記載されている。この画像処理装置は、図領域については、黒画素の連結を行わずに、ラベリング処理を行って連続する黒画素の外接矩形を抽出し、その矩形単位で文字判定を行う。
このように、余白を抽出し、残った領域に対して画素を連結し行矩形を生成する行矩形形成方法が公知になっている。この余白抽出処理を行うと文字行と文字行の間(行間)が余白で分断されるため、行矩形の形成精度が良いことが知られている。そして、連結されて出来た矩形のアスペクト比が規定の値以上であれば、文字矩形と判定する文字領域判定方法も公知になっている。
特開2004−304469号公報 特開平5−73718号公報 特開平5−166000号公報 特開2007−193750号公報
しかしながら、上記従来の行矩形形成方法では、周囲に文字行が無い文字行や、テキスト領域の端にあるような文字行の場合、単なる文字間をも余白と誤判定してしまうことがある。この誤判定によって文字行が分断されてしまい、画素の連結を行っても正確な文字行が形成されなかった。また、従来の文字判定方法では、背景領域にも縦長、横長の矩形が存在しているために、背景の一部分を文字として抽出してしまうことがあった。
本発明は前記問題点を解決するためになされたものであって、本発明の主たる目的は、複雑で多様な背景を含んだ画像からより正確に文字行矩形を生成するとともに、より正確に文字行矩形を特定する画像処理装置、当該画像処理装置を用いた文字領域特定方法、および文字領域特定プログラムを提供することである。
この発明のある局面に従えば、複数の画素からなる画像の中から文字領域を特定する画像処理装置であって、画像に基づいて2値画像を生成する生成手段と、2値画像から余白領域とそれ以外の非余白領域とを抽出する第1の抽出手段と、非余白領域内で膨張処理を行うことにより、少なくとも1つの第1の行矩形を生成する膨張手段と、第1の行矩形の形状に基づいて2値画像の文字行方向を判定する判定手段と、判定手段により判定された文字行方向に第1の行矩形同士を連結することによって第2の行矩形を生成する第1の連結手段と、2値画像における第2の行矩形に対応する領域に基づいて文字領域を特定する第1の特定手段とを備える。
この局面によれば、第1の連結手段が、周囲に文字行が存在しない文字行や、テキスト領域の端にある文字行からでも行矩形を生成する。このため、従来方法より正確に文字行矩形の形成ができ、文字領域の抽出精度が良くなる。
好ましくは、判定手段は、第1の行矩形のうち、その縦横比が第1の所定条件を満たす行矩形の個数と、その縦横比が第2の所定条件を満たす行矩形の個数と、を算出する算出手段と、2つの個数に基づいて2値画像の文字行方向を決定する第1の決定手段とを含む。
好ましくは、第1の特定手段は、第2の行矩形に含まれる少なくとも1つの小矩形を抽出する第2の抽出手段と、各第2の行矩形について、第2の行矩形の縦横比と小矩形の個数との関係が第3の所定条件を満たす場合に、第2の行矩形に対応する領域を文字領域として決定する第2の決定手段とを含む。
この場合には、第2の行矩形を抽出した後で、更に行矩形内の小矩形の情報を用いて行矩形が文字領域であるか否かの判定を行うため、従来より正確に文字領域の特定ができる。つまり、文字領域の抽出精度が良くなって、背景の誤抽出が少なくなる。
好ましくは、第1の特定手段は、第2の行矩形に含まれる少なくとも1つの小矩形を抽出する第2の抽出手段と、各第2の行矩形について、第2の行矩形のサイズと小矩形のサイズとの関係が第4の所定条件を満たす場合に、第2の行矩形に対応する領域を文字領域として決定する第3の決定手段とを含む。
好ましくは、第1の特定手段によって文字領域として特定された領域以外の第1の行矩形同士を、判定手段により判定された文字行方向と垂直な方向に連結することによって第3の行矩形を生成する第2の連結手段と、2値画像における第3の行矩形に対応する領域に基づいて文字領域を特定する第2の特定手段とをさらに備える。
好ましくは、生成手段は、画像から複数種類の2値画像を生成し、第1の抽出手段と、膨張手段と、判定手段と、第1の連結手段とは、各2値画像に対して処理を行い、特定手段は、それぞれの2値画像における第2の行矩形に対応する領域の和集合に基づいて文字領域を特定する。
この発明の別の局面に従えば、複数の画素からなる画像の中から文字領域を特定するための画像処理装置を用いた文字領域特定方法であって、画像処理装置は、制御部を備え、画像処理方法は、制御部が、画像に基づいて2値画像を生成するステップと、制御部が、2値画像から余白領域とそれ以外の非余白領域とを抽出するステップと、制御部が、非余白領域内で膨張処理を行うことにより、少なくとも1つの第1の行矩形を生成するステップと、制御部が、第1の行矩形の形状に基づいて2値画像の文字行方向を判定するステップと、制御部が、文字行方向に第1の行矩形同士を連結することによって第2の行矩形を生成するステップと、制御部が、2値画像における第2の行矩形に対応する領域に基づいて文字領域を特定するステップとを備える。
この発明のさらに別の局面に従えば、コンピュータに複数の画素からなる画像の中から文字領域を特定させるための文字領域特定プログラムであって、プログラムは、コンピュータに、画像に基づいて2値画像を生成するステップと、2値画像から余白領域とそれ以外の非余白領域とを抽出するステップと、非余白領域内で膨張処理を行うことにより、少なくとも1つの第1の行矩形を生成するステップと、第1の行矩形の形状に基づいて2値画像の文字行方向を判定するステップと、文字行方向に第1の行矩形同士を連結することによって第2の行矩形を生成するステップと、2値画像における第2の行矩形に対応する領域に基づいて文字領域を特定するステップとを実行させる。
以上のように、この発明によれば、複雑で多様な背景を含んだ画像からより正確に文字行矩形を生成するとともに、より正確に文字行矩形を特定することが可能になる。
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
本実施の形態においては、本発明にかかる画像処理装置として代表的に、複写機能やスキャン機能やFAX送信機能などを統合したMFP(Multi Function Peripheral)であるものとする。但し、本発明にかかる画像処理装置はMFPに限定されず、入力された画像データを処理する手段を備える装置であれば他の装置であってもよく、たとえば一般的なパーソナルコンピュータなどであってもよい。
<ハードウェア構成>
図1は、本実施の形態にかかるMFP10のハードウェア構成の具体例を示す図である。図1を参照して、本実施の形態にかかるMFP10は、複数の画素(画素データ)からなる画像(画像データ)を処理するものであって、スキャン処理部1と、入力画像処理部2と、記憶部3と、CPU(Central Processing Unit)4と、ネットワークI/F(インタフェース)5と、出力画像処理部6と、エンジン部7と、モデム・NCU(Network Control Unit)8と、操作部9とを含んで構成される。
スキャン処理部1は、CPU4からの制御信号に従って、セットされた原稿をスキャンして読み取り、入力画像処理部2に対して画像データを出力する。入力画像処理部2は、上記制御信号に従って、スキャン処理部1から入力された画像データの各画素について、たとえばRGBデータなどの値を算出し、CPU4へ出力する、もしくは記憶部3へ記憶する。
記憶部3は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の電子メモリと、ハードディスク等の磁気メモリとを含んで構成され、プログラムや画像データを保持する。記憶部3は、CPU4においてプログラムが実行される際の作業領域としても用いられる。
CPU4は、記憶部3に記憶されるプログラムを実行する。CPU4は、操作部9から入力された操作信号に基づいて、必要な制御信号を各部に出力してMFP10全体を制御する。たとえば、CPU4は、操作キーの検出、操作パネルの表示、入力されたデータの画像ファイルへの変更、電子メールの作成などを実行する。そして、CPU4は、記憶部3に記憶されるプログラムを実行し、記憶部3に保持される画像データに対して画像処理を施し、記憶部3、ネットワークI/F部5、またはモデム・NCU8などに対して制御信号などを出力する。CPU4は、入力画像処理部2から入力される画像データに対して、本実施の形態に従う色変換、色補正、解像度変換、領域特定等の処理を実行する。処理後のデータは記憶部3に保持される。
ネットワークI/F部5は、電子メール等を、ネットワークを介して他の装置に送信するためのI/Fであり、プロトコルに従って、データパケットの作成などを行う。ネットワークI/F部5は、上記制御信号に従って、CPU4から入力された画像データ、または記憶部3から読出した画像データを、ネットワークを介して他の装置に送信する。
出力画像処理部6は、上記制御信号に従って記憶部3に保持される画像データを読出し、その画像に対してスクリーン制御、スムージング処理等を施し、処理後の画像データをエンジン部7に対して出力する。
エンジン部7は、上記制御信号に従って、出力画像処理部6から入力された画像データに基づいてトナー画像を生成し、トナー画像をセットされた印刷用紙に転写することで画像を印刷する。ここでMFP10がカラー画像を出力するカラーMFPである場合にはエンジン部7はイエロー、マゼンタ、シアン、ブラックの4色のトナーを用いてトナー画像を生成する。
モデム・NCU8は、ファクシミリ送受信のための変復調、ファクシミリの通信プロトコルなどに従って電話回線を介した通信を制御する。モデム・NCU8は、上記制御信号に従って、CPU4から入力された画像データ、または記憶部3から読出した画像データを、電話回線を介して他の装置に送信する。
操作部9は操作キーと表示部とを含んで構成され、ユーザI/Fとして機能して、ユーザからの宛先の入力、スキャン条件の選択、画像ファイルフォーマットの選択、処理の開始/中断等の操作を受付ける。操作部9は、ユーザの操作に基づいた操作信号を、CPU4に対して出力する。
<機能構成>
図2は、本実施の形態にかかるMFP10において画像データの圧縮を行ってPDF(Portable Document Format)ファイルを作成するための機能構成の具体例を示すブロック図である。図2に示される各部は、主にCPU4が記憶部3に記憶されるプログラムを実行することによって実現される機能であるが、いくつかの機能がたとえばスキャン処理部1や入力画像処理部2などの他の専用のハードウェア構成によって実現されてもよい。
図2を参照して、本実施の形態にかかるMFP10においてPDFファイルを作成するための機能は、画像データ取得部101と、前処理部103と、写真判定部104と、文字領域特定部105と、可逆圧縮部107と、低解像度化部109と、非可逆圧縮部111と、PDF化部113とを含んで構成される。
画像データ取得部101は、上記スキャン処理部1において生成された画像データを取得し、TIFF(Tagged Image File Format)、JPEG(Joint Photographic Experts
Group)、BMP(Bit MaP)などのデータフォーマットで前処理部103に入力する。つまり、画像データ取得部101は、MFP10のスキャナ部分であり、原稿を読み取り、画像データを出力する部分である。
前処置部103は、画像データ取得部101から入力された画像データに対して、文字領域を特定するための前処理として、画像形式の変換、解像度変換、下地除去などの処理を施し、領域特定部105に入力する。また、前処理部103は、HSL(色相、彩度、明度)変換、明度の2値化、ラベリングを行う。ラベリングでは明度の2値化で得られた連結画素に矩形番号、外接矩形の左上の座標、右下の座標を与え、矩形とする。
写真判定部104は、写真領域の判別を行う。写真領域を判別したい理由は、写真領域と写真領域以外の領域とで文字抽出処理の方法を変えるためである。写真領域から文字抽出を試みると文字でないものが文字であると誤判定されることが多く、写真領域においては文字の判定をより厳密に行う必要がある。ただし、写真領域の判定方法はここでは問わない。代表的には、前処理部103にて得られた矩形の内、写真の可能性があると判断された所定の大きさを有する矩形について、色相データを用いることにより、色数が多ければ写真であると判定する方法がある。
文字領域特定部105は、写真判定部104から入力された写真領域以外の領域の画像データに対して文字領域特定処理を施す。文字領域特定処理には、減色処理(2値化処理)、余白抽出処理、膨張処理、文字行方向判定処理、第1の連結処理、第1の文字行判定処理、第2の連結処理、文字色決定処理などが含まれる。文字領域特定部105はこのような文字領域特定処理を実行して、画像中の文字(文字および罫線)領域を抽出する。そして、文字領域特定部105は、文字領域と、文字領域以外の写真や図形やグラフなどの背景領域と、を分離する。ここでいう文字領域には、写真や図形やグラフなどのように図の中に存在する文字の領域も含まれる。つまり、文字領域特定部105は、写真領域以外の領域と写真領域とで異なる文字領域特定処理を施して文字領域を抽出するものであって、文字の色算出までを行う機能を有したブロックである。写真領域以外の領域上の文字領域特定処理については後述する。
分離された背景領域、すなわち文字領域と特定されなかった領域、を構成する画像データは低解像度化部109を経て非可逆圧縮部111に入力される。一方、文字領域と特定された領域を構成する画像データは低解像度化部109を経ることなく可逆圧縮部107に直接入力される。
可逆圧縮部107は、領域特定部105から入力された文字領域を構成する画像データに対して、MMR(Modified Modified-Read)圧縮方式のような可逆性の圧縮を行う。また、非可逆圧縮部111は、低解像度化部109で低解像度化された背景領域を構成する画像データに対して、JPEG圧縮方式のような非可逆圧縮を行う。可逆圧縮部107および非可逆圧縮部111において圧縮された文字領域を構成する画像データおよび背景領域を構成する画像データはPDF化部113に入力され、これらに基づいてPDFファイルが作成される。
なお、図2に示されるMFP10の機能構成はPDFファイルを作成する際に画像データのうち背景領域を構成する画像データについて解像度を低下させて非可逆圧縮する場合の構成であるが、背景領域を構成する画像データについて解像度を低下させずに非可逆圧縮してもよい。その場合、MFP10の機能には低解像度化部109が含まれていないくてもよい。
図3は、文字領域特定部105の機能構成を示す機能ブロック図である。図3に示すように、文字領域特定部105は、生成部11と、第1の抽出部12と、膨張部13と、判定部14と、第1の連結部17と、第1の特定部18と、第2の連結部22と、第2の特定部23とを含む。判定部14は、算出部15と、第1の決定部16とを含む。前記第1の特定部18は、第2の抽出部19と、第2の決定部20とを含む。また、前記第1の特定部18は、第2の決定部20の代わりに、もしくは第2の決定部20とともに、第3の決定部21を含むものであってもよい。ここで、文字領域特定部105を構成する各機能ブロックは、CPU4が記憶部3から読み出されたプログラムを実行することによって実現されるものである。
生成部11は、入力された画像データに基づいて2値画像のデータを生成する。入力された画像データは、MFP10がスキャンすることによって得た画像データであってもよいし、外部の装置からMFP10へと入力される画像データであってもよい。本実施の形態に係る生成部11は、画像データから複数種類の2値画像データを生成する。
より詳細には、生成部11は、画像データを減色して、複数色の各々に対する2値画像を作成する。生成部11は、画素データ毎に、当該画素データに対応する輝度値に基づいて2値画像データを生成する。生成部11は、画像データについて、予め設定された輝度値のしきい値、もしくは対象となる画像データを一旦検査することによって決定された輝度値のしきい値に基づいて、当該画像データを構成する各画素データに対して「0」(白または黒)もしくは「1」(黒または白)を対応させて記憶部3に記憶させる。
複数種類の2値画像を生成することによって、いずれかの2値画像において文字色の輝度値と背景色の輝度値との間にしきい値が位置する場合に、当該2値画像において文字の画素データと背景の画素データとを「0」と「1」とに分離させることができる。同じ文字行の文字は同じ色であることが多いため、同じ色(白もしくは黒)に減色されることが多い。たとえば、本実施の形態に係るMFP10においては、減色数を4色としている。減色するためしきい値を算出する方法は特には問わないが、頻度法や中央値分割法などがある。
第1の抽出部12は、2値画像から余白領域とそれ以外の非余白領域とを抽出する。ここで、「余白領域」とは、黒画素が規定数以上無い(白画素が規定数以上続く)余白部分をいう。そして、「非余白領域」とは、画像データのうちで余白領域以外の領域をいう。
より詳細には、第1の抽出部12は、生成部11にて作成された各2値画像に対し、主走査方向および副走査方向に画像を走査して、黒画素が規定数以上無い(白画素が規定数以上続く)余白部分(余白領域)を抽出し、余白色(たとえば「0」)で塗り潰す。一方、白画素が規定数以上続かない非余白領域については、黒画素に対応する画素データを「1」としておく。規定数とは、例えば4.5cmの長さに相当する画素数(300dpiなら600pixel程度)である。この抽出処理により、後述する膨張部13が、異なる文字行の文字同士を連結することを防ぐことができる。但し、当該抽出処理を行った結果、周囲に黒画素(「1」が対応させられている画素)が無いような文字行の場合、文字行が分断されてしまうことがある。具体的なイメージは後述する。
図4は、主走査方向への画素膨張を示すイメージ図である。「余白領域」は、図4において「−1」が対応付けられている画素からなる領域をいう。「非余白領域」は、図4において「0」または「1」が対応付けられている画素からなる領域をいう。
図4を参照して、画素膨張について説明する。膨張部13は、第1の抽出部12から渡される画像データ20Mに基づいて、非余白領域内において黒画素(画素データが「1」となっている画素)の膨張処理を行うことにより、少なくとも1つの第1の行矩形を生成する。より詳細には、第1の抽出部12にて余白領域と判断されなかった領域について、黒画素を膨張して黒画素同士連結を行う。ここでの黒画素の膨張処理は、CPU4が、入力された周辺画素マップ(画像データ)20に基づいて、主走査方向の近隣画素を確認することにより画素を左右方向へ膨張させた後の周辺画素マップ(画像データ)20L,20Rを作成する。ここで、画像データ20Lとは、左方向へ膨張処理が施された後の画像データをいう。画像データ20Rとは、右方向へ膨張処理が施された後の画像データをいう。
具体的には、CPU4が、以下の処理を主走査方向の各ラインにて主走査方向に移動しながら行う。(1)CPU4は注目画素の値を検査する。注目画素が余白画素として塗り潰されている場合は、当該左右方向へ膨張させた後の周辺画素マップの当該注目画素を「−1」とする。(2)余白画素でない場合(白画素および黒画素)、たとえば注目画素から左側(画素を右方向へ膨張させる場合)へ最大文字幅の2分の1ピクセル以内に黒画素があるかどうかを検査する。ここで、最大文字幅とは、たとえば190ピクセルなどである。
もし黒画素がある場合には、右方向へ膨張させた後の周辺画素マップの注目画素の値を「1」とする。そして、黒画画素が無い場合は0とする。但し、途中で余白画素が見つかったらそれ以上の探索を行わない。このようにして、膨張部13は、各注目画素に対して左側に探索をおこない、すなわち黒画素については右方向へ膨張するような処理を行って画像データ21Rを生成する。膨張部13は、同様の処理を右側に対しても行って画像データ21Lを生成する。このようにして、全ての画素について周辺画素マップが完成する。
図5は、図4に示す右方向へ膨張後の画像データ21Rの副走査方向への画素膨張を示すイメージ図である。図5に示すように、膨張部13は、画像データ21Rについて副走査方向に周辺画素マップの連結を行い、画像データ22Rを生成する。より詳細には、膨張部13は、(1)各X座標についてY方向へ走査し、第1の所定の間隔(本実施の形態においては1画素)以内に存在する「1」の画素同士を連結する。すなわち、膨張部13は、「1」の画素データと「1」の画素データの間の「0」の画素データを「1」の画素データで満たしてしまう。主走査方向への膨張と同様に、「−1」である画素データについては変更を行わない。
図6は、図4に示す左方向へ膨張後の画像データ21Lの副走査方向への画素膨張を示すイメージ図である。図6に示すように、膨張部13は、画像データ21Rについて副走査方向への画素を膨張させた後、画像データ21Lについても同様に副走査方向へ画素を膨張させる。
図7は、図5および図6に示す左右方向へ膨張後の画像データ22L,22Rの黒画素の和集合を示すイメージ図である。膨張部13は、画像データ21R・21Lの副走査方向への画素膨張の後、(2)注目画素に対応する左側の膨張後の画像データ22Lと右側の画素膨張後の画素データ22Rとについて、いずれかの画像データ22L,22Rの周辺画素マップの値が「1」であるか否かを検査する。すなわち、膨張部13は、図7に示すように、画像データ22L,22Rを重ね合わせて、左右の画素データ22L,22Rのいずれかが「1」である場合には、当該画素は横方向(主走査方向)の文字行の一部であると判断し黒に塗り潰す。
その後、膨張部13は、画像データ20Mを90度回転させてから、上記と同様の、主走査方向への画素膨張および副走査方向への画素膨張の処理を行い、垂直方向の文字行を連結させる。
具体的には、図8に示すように、膨張部13は、90度回転された画像データ30に基づいて、各画素に対して左側に探索をおこない、すなわち右方向へ黒画素を膨張させる処理を行って画像データ31Rを生成する。そして、膨張部13は、同様の処理を各画素の右側に対しても行って、左方向へ画素膨張させた画像データ31Lを生成する。
そして、膨張部13は、図9に示すように、右方向へ膨張させた画像データ31Rについて副走査方向に画素の連結を行い、画像データ32Rを生成する。図10に示すように、膨張部13は、画像データ31Lについても同様に、副走査方向への画素膨張を行い、画像データ32Lを生成する。そして、図11に示すように、膨張部13は、注目画素に対応する右方向への画素膨張後の画像データ32Rと左方向への画素膨張後の画素データ32Lとについて、いずれかの画像データ32L・32Rの画素データの値が「1」であるか否かを検査する。そして、膨張部13は、図11に示すように、左右の画像データ32L・32Rのいずれかが「1」である場合には、当該画素は横方向の文字行の一部であると判断し黒に塗り潰す。
図3に戻って、判定部14は、第1の行矩形の形状に基づいて2値画像の文字行方向を判定する。具体的には、算出部15が、第1の行矩形のうち、その縦横比が第1の所定条件を満たす行矩形の個数と、その縦横比が第2の所定条件を満たす行矩形の個数と、を算出する。そして、第1の決定部16が、当該2種類の個数に基づいて2値画像の文字行方向を決定する。より詳細には、判定部14は、文字行矩形の形成が完全でない文字行に基づいてより正確な文字行矩形を生成するために、水平/垂直のどちらの方向へ黒画素を再連結させれば良いかを判断する。
具体的には、まず、算出部15が、膨張部13にて形成された第1の行矩形の中で、縦横比(アスペクト比)が第1の所定値(例えば3)以上の矩形を探索する。そして、算出部15は、第1の行矩形の中で、縦横比(アスペクト比)が第2の所定値(例えば1/3)以下の矩形を探索する。次に、縦横比が規定値以上の矩形を文字行であるとみなして、画像全体として縦に長い文字行矩形と横に長い文字行矩形とのいずれの文字行矩形が多いかを判定して、画像全体としての文字行の方向を決定する。
第1の連結部17は、判定部14により判定された文字行方向に第1の行矩形同士を連結することによって第2の行矩形を生成する。より詳細には、第1の連結部17は、膨張部13にて画素が膨張されることによって形成された文字行矩形(黒画素)同士を、判定部14にて判定された文字行方向に再度連結させる。これにより、第1の連結部17は、第1の抽出部12にて余白領域として判定されてしまった文字行内の文字間などを繋げて正確な文字行矩形を生成させるものである。その際、今度は余白領域(「−1」の画素データ)をまたいで黒画素を連結させても良いとする。この処理により、すべての文字行について行矩形を生成することが可能となる。
図12は、画像データの回転を示すイメージ図である。ここで、文字行方向が水平方向の場合には、以下の処理が実行される。(1)第1の連結部17は、まず画像データ40を90度回転させて、画像データ50を得る。そして、(2)第1の連結部17は、注目画素の値を検査する。
図13は、図12に示す画像データに対する膨張処理を示すイメージ図である。図13に示すように、余白画素として塗り潰されている場合は左右の周辺画素マップを「−1」とする。余白画素でない場合(白画素「0」か黒画素「1」の場合)、注目画素から左側へ最大文字幅(たとえば190ピクセル)の2分の1ピクセル以内に黒画素があるかどうかを検査する。もし黒画素がある場合には、左周辺画素マップの値を「1」とする。黒画素がない場合は「0」とする。但し、途中で余白画素が見つかったらそれ以上の探索を行わない。このようにして、第1の連結部17は、右方向への膨張後の画像データ50Rを取得する。図13に示すように、第1の連結部17は、各画素について上記と同様の処理を右側に対しても行い、すなわち黒画素を左方向へ膨張させて画像データ50Lを得る。全ての画素について周辺画素マップが完成する。
図14は、図13に示す第1の文字行矩形(黒画素)同士の第1の連結処理を示すイメージ図である。(2)の処理に引き続き、図14に示すように、(3)第1の連結部17は、各X座標についてY方向へ走査し、第2の所定の間隔(本実施の形態においては3画素)以内に存在する「1」を連結する。ここで、第2の所定の間隔は、膨張処理における第1の所定の間隔よりも広い間隔が指定されている。また、膨張処理における連結とは異なり、余白画素「−1」であっても1で埋めてしまう。
最後に、(4)第1の連結部17は、注目画素に対応する左右方向へ膨張した画像データ51L・51Rについて周辺画素マップの値が「1」であるかを検査し、左右方向へ膨張した画像データ51L・51Rのいずれかが「1」である場合には、当該画素は横方向の行の一部であると判断し、当該画素を黒に塗り潰す。すなわち、画像データ51L・51Rを重ね合わせて、第1の文字行矩形(黒画素)の和集合を算出する。これによって、図14に示すように、文字行内の文字間に存在した余白が黒画素に塗りつぶされて、より正確な文字行矩形が形成される。
図15は、図14に示す画像データに膨張処理のみを行った画素データ50L・50Rを重ね合わせて得られた画素データ61を示すイメージ図である。参考のために、図15に示すように、膨張処理のみを行った画素データ50L・50Rを重ね合わせて得られた画素データ61においては、黒画素の連結が不十分であって、正確な文字行が生成されていないことがわかる。すなわち、図14では文字間の余白領域が「1」で埋められているが、図15では文字間の余白領域が「−1」のままであり正確な文字行矩形が形成されていないことがわかる。
一方、文字行方向が垂直方向の場合には、画像を回転させずに上記の処理を行うものとする。
膨張部13は、膨張処理を行ったのちの黒画素を含む矩形領域(第1の行矩形)の四隅の座標を取得することによって、第1の行矩形の位置座標やサイズや形状を特定する。同様に、第1の連結部17は、連結処理を行ったのちの黒画素を含む矩形領域(第2の行矩形)の四隅の座標を取得することによって、第2の行矩形の位置座標やサイズや形状を特定する。
図3に戻って、特定部18は、2値画像における第2の行矩形に対応する領域に基づいて文字領域を特定する。第2の抽出部19は、第2の行矩形に含まれる少なくとも1つの小矩形を抽出する。第2の決定部20は、各第2の行矩形について、第2の行矩形の縦横比と小矩形の個数との関係が第3の所定条件を満たす場合に、2値画像における第2の行矩形に対応する領域を文字領域として決定する。第3の決定部21は、各第2の行矩形について、第2の行矩形のサイズと小矩形のサイズとの関係が第4の所定条件を満たす場合に、2値画像における第2の行矩形に対応する領域を文字領域として決定する。
より詳しくは、始めに、特定部18の第2の抽出部19は、第1の連結部17によって形成された第2の行矩形から、行矩形の特徴的形状、たとえばアスペクト比に基づいて文字行候補矩形を抽出する。すなわち、第2の抽出部19は、文字行方向に長く且つアスペクト比が規定値以上(例えば3)の矩形を文字行候補矩形として抽出する。次に、特定部18の第2の決定部20が、抽出された文字行候補矩形内に含まれる小矩形の数を調べる。そして、第2の決定部20は、文字行候補矩形のアスペクト比と、文字行候補矩形の中に含まれる小矩形の数の組が文字行らしい値であるかによって文字行候補矩形を文字行矩形と背景の一部矩形とに分類し、文字判定を行う。次に、特定部18の第3の決定部21が、抽出された文字行候補矩形内に含まれる、小矩形の数、小矩形のサイズも調べる。そして、第3の決定部21は、文字行候補矩形のアスペクト比と、文字行候補矩形の中に含まれる小矩形の数の組が文字行らしい値であるか、小矩形の大きさが同一サイズであるかによって文字行候補矩形を文字行矩形と背景の一部矩形とに分類し、文字判定を行う。
図16は、特定部18における文字領域であるか否かの判断方法を示すイメージ図である。図16(a)に示すように、第2の行矩形の縦横比(X/Y)と第2の行矩形に含まれる小矩形の個数との関係が第3の所定の条件を満たしており、かつ、第2の行矩形の縦横比(X/Y)と第2の行矩形に含まれる小矩形のサイズとの関係が第4の所定の条件を満たしている場合には、特定部18は第2の行矩形を文字領域と判断する。
一方、図16(b)に示すように、第2の行矩形のサイズと第2の行矩形に含まれる小矩形のサイズとの関係、たとえば第2の行矩形の高さ(縦幅)と小矩形の長さ(横幅)との関係、が第4の所定の条件を満たしていない場合には、特定部18は第2の行矩形を文字領域でないと判断する。具体的には、第2の行矩形の高さに対する小矩形の長さの割合が1以上である場合に文字領域でないと判断する。また、具体的には、第2の行矩形に含まれる小矩形のサイズにばらつきが大きい、すなわち縦幅もしくは横幅の標準偏差が所定値以上である場合に当該第2の行矩形は文字領域でないと判断する。
また、図16(c)に示すように、第2の行矩形の縦横比(X/Y)と第2の行矩形に含まれる小矩形の個数との関係が第3の所定の条件を満たしていない場合、たとえば縦横比が10である場合において、小矩形の個数が10未満である場合(縦横比に対する小矩形の個数の割合が1未満である場合)や、小矩形の個数が50以上である場合(縦横比に対する小矩形の割合が5以上である場合)には、特定部18は第2の行矩形を文字領域でないと判断する。
上記の判断によって、第2の行矩形のうちから文字行である可能性が高い行矩形が特定される。つまり、文字行矩形の特定がより正確になって、文字行の誤抽出が少なくなる。
第2の連結部22は、特定部18によって文字領域として特定された領域以外の前記第1の行矩形同士を、判定部14により判定された文字行方向と垂直な方向に連結することによって第3の行矩形を生成する。つまり、第2の連結部22は、文字行と垂直方向への連結を行う。ここでは、2値画像から特定部18にて文字領域と判定された行矩形エリアを省いた画像について、規定しきい値範囲のサイズを持った第1の矩形毎に、判定部14にて判定された文字行方向と垂直な方向に同一のサイズ(文字幅)の矩形があるかを判定し、同一サイズの矩形を順次連結を行うことで、再度新たな文字方向へ向かって行矩形を生成する。この処理を含めることにより、縦横両方向に文字行が含まれているような画像であっても文字領域をより正確に抽出することが可能である。
そして、第2の特定部23は、前記2値画像における第3の行矩形に対応する領域に基づいて文字領域を特定する。そして、上記の各部は、生成された各2値画像に対して処理を行い、第1の特定部18および第2の特定部23は、それぞれの前記2値画像における前記第2の行矩形に対応する領域の和集合に基づいて文字領域を特定する。
文字色決定部は、ここでは、文字と判定された部分の色を決定する。決定方法は、各文字行内のRGB値をそれぞれ平均して算出する。
<PDF化処理>
図17は、本実施の形態にかかるMFP10において画像データの圧縮を行ってPDFファイルを作成する処理手順を示すフローチャートである。図17のフローチャートに示される処理は、主にCPU4が記憶部3に記憶されるプログラムを実行して図2および図3に示される各部を制御することで実現される処理である。
すなわち、図17を参照して、本実施の形態にかかるMFP10においては、まず画像データ取得部101において画像データが取得される(ステップ100、以下ステップをSと略す。)。そして、取得された画像データに対して、前処理部103での前処理を経てから領域特定部105において領域特定処理が施される(S300)。画像データにはその判別結果に応じて領域ごとに適した圧縮処理が行われて、PDF化部113においてPDF化処理が実行されることで(S500)、その画像データが圧縮されてPDFファイルが作成される。
すなわち、S500では、S300において文字領域と判定された領域を構成する画像データについては、解像度を低下させずに可逆圧縮部107でMMR圧縮方式のような可逆圧縮処理が施される。また、S300において背景領域と判定された領域を構成する画像データについては、S500において、低解像度化部109で解像度を低下させるように解像度変換された後に非可逆圧縮部111でJPEG圧縮方式のような非可逆圧縮処理が施される。なお、S500において、背景領域と判定された領域を構成する画像データについて解像度を低下させずに非可逆圧縮処理が施されてもよい。
上記S500でのPDF化処理については、上述したような、いわゆるコンパクトPDFファイルを作成する一般的な処理が採用され、本発明において限定される処理ではない。以下においては、本発明の特徴とする領域特定処理(S300)の処理手順について詳細に説明する。
<文字領域特定処理>
図18は、文字領域特定処理S300の処理手順を示すフローチャートである。図18を参照して、CPU4もしくは入力画像処理部2は、まず、入力された画像データに対して、2値画像生成処理を行う(S310)。より詳細には、CPU4もしくは入力画像処理部2は、入力された画像データに対して、減色処理を施してから、複数種類のしきい値に基づいて2値化処理を施す(S310)。ここでの2値画像生成処理においては、CPU4もしくは入力画像処理部2が、1つの画像データに対して、複数種類の色毎に2値画像を生成する。本実施の形態に係るMFP10においては、記憶部3に記憶された図19に示すカラーの画像に基づき、CPU4もしくは入力画像処理部2が、4種類のしきい値に基づいて、図20(a)から図20(d)に示す4種類の2値画像を生成する。そして、余白領域抽出処理S320へと移行する。
図21は、余白領域抽出処理S320の処理手順を示すフローチャートである。図21に示すように、CPU4が、対象領域について、主走査方向(x方向)に連続する文字を構成していない画素としての特定色の画素(ここでは白画素)の数をカウントし、規定数以上連続する白画素を検出すると、その連続する白画素を特定の色にて塗りつぶす(S321)。なお、ここでは文字を構成していない画素が具体的に白画素である特定色の画素であるものとされているが、対象となる画素の色は限定されていなくてもよく、たとえば文字を構成する画素色以外の色の画素等であってもよい。
同様に、副走査方向について、規定数以上連続する白画素が検出され、さらにその白画素の連続に対して主走査方向の連続数がチェックされる(S322)。上記規定数もまた同様に決定されるものであるが、具体的には、主走査方向に2dot、副走査方向に150dot以上などが挙げられる。そして、図18に戻って、膨張処理S330へと移行する。
図22は、膨張処理S330の処理手順を示すフローチャートである。図22に示すように、膨張処理S330においては、文字を構成する特定色の画素(ここでは黒画素とする)が膨張され近傍の画素が連結される。なお、ここでは文字を構成する画素が具体的に黒画素である特定色の画素であるものとされているが、対象となる画素の色は限定されていなくてもよく、たとえば背景を構成する画素色以外の色の画素等であってもよい。
図22を参照して、まず、近傍の画素として、具体的には対象領域の主走査方向について所定の距離以下で隣合う黒画素が検出される(S331)。より詳しくは、画像を主走査方向(x方向)に走査して、あるx座標について、そのx座標位置の左右最大文字幅(たとえば190pixel)の1/2の範囲について黒画素が探索され、黒画素が検出されたそのy座標における配列値が1とされて、y座標が0から画像高さから1減じた座標値までについて、順次y方向に、黒画素の探索が繰り返される。
ただし、途中で行間が検出された場合には、それ以上のy方向の探索が行われない。さらに、上記あるx座標について生成された配列が走査され、配列値0の連続が規定数以下である場合にはその連続の配列値を1に書換えられる。なお、本実施の形態においては、近傍の画素を検出する方法として画素の間隔が所定の距離以下であるか否かで検出する方法が示されているが、その他の方法で近傍の画素が検出されてもよい。
次に、副走査方向(y方向)に黒画素が膨張される(S332)。より詳しくは、画像が主走査方向(x方向)に走査されてあるx座標についてy方向に走査され、黒画素が探索される。そして、検出された黒画素の上下最大文字幅(たとえば190pixel)の1/2の範囲について、そのx座標について生成された配列の配列値が1であるならば、その範囲にある白画素が黒に塗りつぶされる。
次に、対象領域が90度回転され(S333)、同様に、主走査方向について所定の距離以下で隣り合う黒画素が検出されて(S334)、副走査方向にそれらの黒画素が膨張される(S335)。図23は、回転前の膨張処理後の画像と、回転後の膨張処理後の画像とを重ね合わせて、第1の行矩形の和集合を取得した状態の画像データを示すイメージ図である。その後、図18に戻って、文字行方向判定処理S340が実行される。
図24は、文字行方向判定処理S340の処理手順を示すフローチャートである。図24に示すように、CPU4は、上述の処理によって連結された黒画素群を囲む最小矩形領域を得るためにラベリングを行い、当該ラベリングによって得られた連結された文字を囲む最小矩形の座標値を取得する(S341)。なお、ここでのラベリング方法は一般的な方法を採用するものとする。
次に、上記ラベリングで得られた矩形領域ごとに、短辺の長さ、短辺と長辺との長さの比率を算出し、所定条件を満たす矩形のみを抽出する(S342)。画像全体として縦長と横長の矩形数をカウントする(S343)。そして、縦長の矩形と横長の矩形とどちらが多いかを判断する(S344)。縦長の矩形の方が多い場合(S344にてYESの場合)、文字行を縦方向に決定する(S345)。縦長の矩形の方が多くない場合(S344にてNOの場合)、文字行を横方向に決定する(S346)。その後、図18に戻って、第1の連結処理S350が実行される。
図25は、第1の連結処理S350の処理手順を示すフローチャートである。図25に示すように、CPU4は、判定処理において判定された文字行方向に第1の行矩形同士を連結することによって第2の行矩形を生成する。より詳細には、CPU4は、まず黒画素を左右方向へ膨張させて画像データを取得する(S351)。そして左右の画像データを重ね合わせて、黒画素の和集合を算出したのちに、文字方向に向かって第2の所定の間隔以内に存在する「1」を連結する(S352)。ここで、第2の所定の間隔は、膨張処理における第1の所定の間隔よりも広い間隔が指定されている。また、膨張処理における連結とは異なり、文字間が余白画素「−1」であっても文字画素「1」によって埋める。その後、図18に戻って、第1の文字判定処理S360が実行される。
図26は、第1の文字判定処理S360の処理手順を示すフローチャートである。図26に示すように、CPU4は、矩形領域ごとに、短辺の長さと、短辺と長辺との長さの比率とを算出し、所定条件を満たす第2の行矩形のみを抽出する(S361)。CPU4は、第2の行矩形に含まれる少なくとも1つの小矩形を抽出する(S362)。CPU4は、各第2の行矩形について、第2の行矩形の縦横比と小矩形の個数との関係が第3の所定条件を満たす場合に、第2の行矩形に対応する領域を文字領域として決定する(S363)。加えて、CPU4は、各第2の行矩形について、第2の行矩形のサイズと小矩形のサイズとの関係が第4の所定条件を満たす場合に、第2の行矩形に対応する領域を文字領域として決定してもよい。
図27は、文字行方向への第1の連結処理後の画像を示すイメージ図である。図26および図27に示すように、膨張後の画像の第1の行矩形と比較して、連結後の画像の第2の行矩形には、文字行内に余白が混在する箇所が無くなっている。つまり、より正確な文字行領域が取得されている。その後、図18に戻って、第2の連結処理S370が実行される。
図28は、第2の連結処理S370の処理手順を示すフローチャートである。図28に示すように、CPU4は、特定部18によって文字領域として特定された領域以外の領域において、上述の処理によって連結された黒画素群を囲む矩形領域を得るためにラベリングを行い、当該ラベリングによって得られた連結された文字を囲む最小矩形の座標値を取得する(S371)。なお、ここでのラベリング方法は一般的な方法を採用するものとする。次に、上記ラベリングで得られた矩形領域ごとに、短辺の長さ、短辺と長辺との長さの比率を算出し、所定条件を満たす矩形のみを抽出する(S372)。ここで、CPU4は、当該所定条件を満たす矩形を判定された文字行方向と垂直な方向に連結することによって第3の行矩形を生成してもよい。そして、CPU4は、第1の文字判定処理S360と同様に、2値画像における第3の行矩形に対応する領域に基づいて文字領域を特定する。
その後、図18に戻って、全ての2値画像に対して処理が完了したか否かが判断される(S380)。全ての2値画像に対して処理が完了していない場合(S380にてNOの場合)、次の2値画像に対してS320からS370の処理が繰り返される。一方、全ての2値画像に対して処理が完了した場合(S380にてYESの場合)、文字色決定処理S390が実行する。
図29は、文字色決定処理の処理手順を示すフローチャートである。図29に示すように、文字領域に対応する元画像の色データ(RGBデータ)が参照されて、文字の色が決定される。CPU4が、文字領域と判定された第2の行矩形毎に、すなわちRGBデータの平均値が算出されて(S391)、1つの文字領域に対して1色が割当てられる(S392)。なお、文字領域と判定され隣り合う2つの矩形領域の間隔が所定の間隔以下であり、それらの矩形領域に割当てられた色の差が所定値以下である場合、これらの矩形領域を統合してもよい。このようにすることが文字領域である矩形領域の数を減らすことができ、作成されるPDFデータのサイズを小さくすることができる。また、作成処理の速度を早めることができる。
以上のようにして、全ての2値画像に対して処理が完了して、コンパクトPDFデータ作成における領域特定処理S300が終了する。図30は、コンパクトPDFデータ作成前の最終的な文字領域の画像を示すイメージ図である。
上述のように、本実施の形態にかかる領域特定処理では、原稿に含まれるテキスト領域と図領域とについて文字判定処理を分岐し、テキスト領域については従来からなされている黒画素が連結された矩形単位で文字判定がなされるのに対して、図領域については黒画素が連結されることなくラベリングで得られた矩形領域ごとに文字判定がなされる。
このように図領域内では黒画素を連結しないことによって、図領域にある文字近傍に多く存在すると考えられる線や点が文字を構成する画素と連結されて、文字判定の精度を低下させることが防止される。その結果、図領域中の文字領域が高精度で判定される。また、図領域とテキスト領域とを分けてテキスト領域について従来からなされている文字判定を行うことで、処理速度も確保される。
<まとめ>
以下、本実施の形態に係る画像処理装置(MFP10)についての特徴をまとめる。本実施の形態に係る文字行矩形の形成方法は、一度連結を行って行単位に形成された矩形群の情報(縦長の矩形か横長の矩形か)を用い、文字間に余白があると判定してしまった文字行を縦方向か横方向のどちらに最連結を行えば良いか文字行方向を決定し、再度、連結処理を行うことで、正確に行矩形を生成する。また、画像全体を見たときの文字行方向と垂直な方向の文字行を正確に抽出するために、画像全体で見たときの文字行方向と垂直な方向に走査し、規定しきい値以上のサイズを持った矩形について、垂直方向に同一サイズの矩形があるかを判定し、同一サイズの矩形があれば順次連結を行うことで、行矩形を生成する。
そして、本実施の形態に係る文字を判定する方法として、形成された矩形の中からアスペクト比が規定値以上の文字行らしい矩形を抽出した後で、行矩形内に含まれる小矩形(文字単位に相当)の大きさにばらつきがあるような行矩形は、背景の一部分であると判定することで、正確に文字を判定する。また、行矩形内に含まれる小矩形(文字単位に相当)の数と行矩形のアスペクト比の組について、行矩形のアスペクト比に対し、小矩形数が少なすぎたり多すぎたりした矩形は、背景の一部分であると判定することで、正確に文字を判定する。
具体的には、上記の目的を達成するための本実施の形態に係るMFP10は以下の機能を実現する構成を備えている。(1)スキャンされた画像を減色し、色毎に2値画像を作成する(文字と文字周辺の背景を分離することを目的とする。)。(2)作成された各画像に対し、主走査方向、副走査方向に画像を走査し、黒画素が全くない余白部分を抽出する。(3)残った各領域に対して、画素を膨張して連結を行う。(4)連結した矩形の中で、縦横比が規定値以上(例えば3)の矩形を行塊となっている矩形とみなし、画像全体として縦横のどちらに長い矩形が多いか、文字行の方向を判定する。(5)求まった方向(文字行方向)について、再度、画素を膨張して連結を行い、文字間に余白が抽出され文字行を形成できなかった文字から文字行を形成する。このとき、上記(2)において余白として抽出された領域をまたいでも良い。(6)連結して出来た矩形から、アスペクト比が規定値(例えば3)以上の矩形を文字行候補矩形として抽出する。(7)抽出された文字行候補矩形内に含まれる、小矩形の数、小矩形のサイズを調べる。(8)文字行候補矩形のアスペクト比と、文字行候補矩形の中に含まれる小矩形の数の組が文字行らしい値であるか、小矩形の大きさが同一サイズであるかによって文字行候補矩形を文字行矩形と背景の一部矩形とに分類し、文字判定を行う。(9)文字行方向と垂直な方向について、(2)にて出来た画像から文字と判定された矩形を省いた各画像について走査し、規定しきい値範囲のサイズを持った矩形について、垂直方向に同一サイズの矩形があるかを判定し、同一サイズの矩形があれば順次連結を行うことで、行矩形を生成する。
<その他の実施の形態>
なお、本実施の形態ではPDFファイルを作成する前の画像処理としての文字判定処理に適用した場合を示しているが、本発明はこれに限定されることなく、たとえばOCR(Optical Character Reader)のような文字認識処理の前処理として文字を誤認識しないように文字判定する処理にも適用できる。
さらに、本実施の形態にかかるMFP10で実行される文字判定処理を、CPU4を有するコンピュータに実行させるための文字判定プログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
なお、本発明にかかる文字判定プログラムは、コンピュータのオペレーションシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して情報管理処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して情報管理処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかる文字判定プログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストール
されて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本実施の形態にかかるMFPのハードウェア構成の具体例を示す図である。 PDFファイルを作成するための機能構成を示すブロック図である。 文字領域特定部の機能構成を示す機能ブロック図である。 主走査方向への画素膨張を示すイメージ図である。 右方向へ膨張後の画像データの副走査方向への画素膨張を示すイメージ図である。 左方向へ膨張後の画像データの副走査方向への画素膨張を示すイメージ図である。 左右方向へ膨張後の画像データの黒画素の和集合を示すイメージ図である。 回転後の主走査方向への画素膨張を示すイメージ図である。 回転後の右方向へ膨張後の画像データの副走査方向への画素膨張を示すイメージ図である。 回転後の左方向へ膨張後の画像データの副走査方向への画素膨張を示すイメージ図である。 回転後の左右方向へ膨張後の画像データの黒画素の和集合を示すイメージ図である。 画像データの回転を示すイメージ図である。 膨張処理を示すイメージ図である。 第1の文字行矩形(黒画素)同士の第1の連結処理を示すイメージ図である。 膨張処理のみを行った画素データを重ね合わせて得られた画素データを示すイメージ図である。 特定部における文字領域であるか否かの判断方法を示すイメージ図である。 PDFファイルを作成する処理手順を示すフローチャートである。 文字領域特定処理の処理手順を示すフローチャートである。 入力されるカラー画像の一例を示す図である。 2値画像を示すイメージ図である。 余白領域抽出処理の処理手順を示すフローチャートである。 膨張処理の処理手順を示すフローチャートである。 回転前の膨張処理後の画像と、回転後の膨張処理後の画像とを重ね合わせて、第1の行矩形の和集合を取得した状態の画像データを示すイメージ図である。 文字行方向判定処理の処理手順を示すフローチャートである。 第1の連結処理の処理手順を示すフローチャートである。 第1の文字判定処理の処理手順を示すフローチャートである。 文字行方向への第1の連結処理後の画像を示すイメージ図である。 第2の連結処理の処理手順を示すフローチャートである。 文字色決定処理の処理手順を示すフローチャートである。 コンパクトPDFデータ作成前の最終的な文字領域の画像を示すイメージ図である。
符号の説明
1 スキャン処理部、2 入力画像処理部、3 記憶部、4 CPU、5 ネットワークI/F、6 出力画像処理部、7 エンジン部、8 モデム・NCU、9 操作部、10 画像処理装置(MFP)、11 生成部、12 第1の抽出部、13 膨張部、14 判定部、15 算出部、16 第1の決定部、17 第1の連結部、18 第1の特定部、19 第2の抽出部、20 第2の決定部、21 第3の決定部、22 第2の連結部、23 第2の特定部、101 画像データ取得部、103 前処理部、105 領域特定部、107 可逆圧縮部、109 低解像度化部、111 非可逆圧縮部、113 PDF化部。

Claims (8)

  1. 複数の画素からなる画像の中から文字領域を特定する画像処理装置であって、
    前記画像に基づいて2値画像を生成する生成手段と、
    前記2値画像から余白領域とそれ以外の非余白領域とを抽出する第1の抽出手段と、
    前記非余白領域内で膨張処理を行うことにより、少なくとも1つの第1の行矩形を生成する膨張手段と、
    前記第1の行矩形の形状に基づいて前記2値画像の文字行方向を判定する判定手段と、
    前記判定手段により判定された前記文字行方向に前記第1の行矩形同士を連結することによって第2の行矩形を生成する第1の連結手段と、
    前記2値画像における前記第2の行矩形に対応する領域に基づいて文字領域を特定する第1の特定手段とを備える、画像処理装置。
  2. 前記判定手段は、
    前記第1の行矩形のうち、その縦横比が第1の所定条件を満たす行矩形の個数と、その縦横比が第2の所定条件を満たす行矩形の個数と、を算出する算出手段と、
    前記2つの個数に基づいて前記2値画像の文字行方向を決定する第1の決定手段とを含む、請求項1に記載の画像処理装置。
  3. 前記第1の特定手段は、
    前記第2の行矩形に含まれる少なくとも1つの小矩形を抽出する第2の抽出手段と、
    各前記第2の行矩形について、前記第2の行矩形の縦横比と前記小矩形の個数との関係が第3の所定条件を満たす場合に、前記第2の行矩形に対応する領域を文字領域として決定する第2の決定手段とを含む、請求項1または2に記載の画像処理装置。
  4. 前記第1の特定手段は、
    前記第2の行矩形に含まれる少なくとも1つの小矩形を抽出する第2の抽出手段と、
    各前記第2の行矩形について、前記第2の行矩形のサイズと前記小矩形のサイズとの関係が第4の所定条件を満たす場合に、前記第2の行矩形に対応する領域を文字領域として決定する第3の決定手段とを含む、請求項1から3のいずれか1項に記載の画像処理装置。
  5. 前記第1の特定手段によって文字領域として特定された領域以外の前記第1の行矩形同士を、前記判定手段により判定された文字行方向と垂直な方向に連結することによって第3の行矩形を生成する第2の連結手段と、
    前記2値画像における第3の行矩形に対応する領域に基づいて文字領域を特定する第2の特定手段とをさらに備える、請求項1から4のいずれか1項に記載の画像処理装置。
  6. 前記生成手段は、前記画像から複数種類の2値画像を生成し、
    前記第1の抽出手段と、前記膨張手段と、前記判定手段と、前記第1の連結手段とは、各前記2値画像に対して処理を行い、
    前記特定手段は、それぞれの前記2値画像における前記第2の行矩形に対応する領域の和集合に基づいて文字領域を特定する、請求項1から5のいずれか1項に記載の画像処理装置。
  7. 複数の画素からなる画像の中から文字領域を特定するための画像処理装置を用いた文字領域特定方法であって、
    前記画像処理装置は、
    制御部を備え、
    前記画像処理方法は、
    前記制御部が、前記画像に基づいて2値画像を生成するステップと、
    前記制御部が、前記2値画像から余白領域とそれ以外の非余白領域とを抽出するステップと、
    前記制御部が、前記非余白領域内で膨張処理を行うことにより、少なくとも1つの第1の行矩形を生成するステップと、
    前記制御部が、前記第1の行矩形の形状に基づいて前記2値画像の文字行方向を判定するステップと、
    前記制御部が、前記文字行方向に前記第1の行矩形同士を連結することによって第2の行矩形を生成するステップと、
    前記制御部が、前記2値画像における前記第2の行矩形に対応する領域に基づいて文字領域を特定するステップとを備える、文字領域特定方法。
  8. コンピュータに複数の画素からなる画像の中から文字領域を特定させるための文字領域特定プログラムであって、
    前記プログラムは、前記コンピュータに、
    前記画像に基づいて2値画像を生成するステップと、
    前記2値画像から余白領域とそれ以外の非余白領域とを抽出するステップと、
    前記非余白領域内で膨張処理を行うことにより、少なくとも1つの第1の行矩形を生成するステップと、
    前記第1の行矩形の形状に基づいて前記2値画像の文字行方向を判定するステップと、
    前記文字行方向に前記第1の行矩形同士を連結することによって第2の行矩形を生成するステップと、
    前記2値画像における前記第2の行矩形に対応する領域に基づいて文字領域を特定するステップとを実行させる、文字領域特定プログラム。
JP2007314902A 2007-12-05 2007-12-05 画像処理装置、文字領域特定方法、および文字領域特定プログラム Expired - Fee Related JP5003445B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007314902A JP5003445B2 (ja) 2007-12-05 2007-12-05 画像処理装置、文字領域特定方法、および文字領域特定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007314902A JP5003445B2 (ja) 2007-12-05 2007-12-05 画像処理装置、文字領域特定方法、および文字領域特定プログラム

Publications (2)

Publication Number Publication Date
JP2009141597A true JP2009141597A (ja) 2009-06-25
JP5003445B2 JP5003445B2 (ja) 2012-08-15

Family

ID=40871786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007314902A Expired - Fee Related JP5003445B2 (ja) 2007-12-05 2007-12-05 画像処理装置、文字領域特定方法、および文字領域特定プログラム

Country Status (1)

Country Link
JP (1) JP5003445B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012132051A1 (ja) * 2011-03-31 2012-10-04 株式会社ナナオ 細線・文字検出方法及び装置
JP2013211678A (ja) * 2012-03-30 2013-10-10 Brother Ind Ltd 画像処理装置
US8577132B2 (en) 2010-12-01 2013-11-05 Konica Minolta Business Technologies, Inc. Electronic document generation system, electronic document generation method, and program
KR20200065684A (ko) * 2018-11-30 2020-06-09 카페24 주식회사 온라인 전자상거래의 쇼핑몰의 디자인 자동 생성 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1031716A (ja) * 1996-05-13 1998-02-03 Matsushita Electric Ind Co Ltd 文字行抽出方法および装置
JP2007193750A (ja) * 2006-01-23 2007-08-02 Konica Minolta Business Technologies Inc 画像処理装置、文字判定プログラム、および文字判定方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1031716A (ja) * 1996-05-13 1998-02-03 Matsushita Electric Ind Co Ltd 文字行抽出方法および装置
JP2007193750A (ja) * 2006-01-23 2007-08-02 Konica Minolta Business Technologies Inc 画像処理装置、文字判定プログラム、および文字判定方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577132B2 (en) 2010-12-01 2013-11-05 Konica Minolta Business Technologies, Inc. Electronic document generation system, electronic document generation method, and program
WO2012132051A1 (ja) * 2011-03-31 2012-10-04 株式会社ナナオ 細線・文字検出方法及び装置
JP2012216956A (ja) * 2011-03-31 2012-11-08 Nanao Corp 細線・文字検出方法及び装置
JP2013211678A (ja) * 2012-03-30 2013-10-10 Brother Ind Ltd 画像処理装置
KR20200065684A (ko) * 2018-11-30 2020-06-09 카페24 주식회사 온라인 전자상거래의 쇼핑몰의 디자인 자동 생성 방법 및 장치
KR102198545B1 (ko) * 2018-11-30 2021-01-06 카페24 주식회사 온라인 전자상거래의 쇼핑몰의 디자인 자동 생성 방법 및 장치

Also Published As

Publication number Publication date
JP5003445B2 (ja) 2012-08-15

Similar Documents

Publication Publication Date Title
JP4424309B2 (ja) 画像処理装置、文字判定プログラム、および文字判定方法
JP4329764B2 (ja) 画像処理装置および罫線抽出プログラム
JP5049920B2 (ja) 画像処理装置及び画像処理方法
JP2005045404A (ja) 画像処理装置、画像処理方法およびプログラム
JP7071564B2 (ja) 画像処理システム、画像処理方法、及び画像処理装置
JP2009135796A (ja) 画像処理装置、画像処理方法、画像処理プログラム、画像形成装置、記憶媒体
JP5049921B2 (ja) 画像処理装置及び画像処理方法
JP5003445B2 (ja) 画像処理装置、文字領域特定方法、および文字領域特定プログラム
JP5049922B2 (ja) 画像処理装置及び画像処理方法
JP6249240B2 (ja) 画像処理装置
JP4140519B2 (ja) 画像処理装置、プログラムおよび記録媒体
US8577132B2 (en) Electronic document generation system, electronic document generation method, and program
JP4695914B2 (ja) 画像処理装置及び画像処理方法
JP2007019673A (ja) 画像処理装置、画像圧縮方法、画像圧縮プログラムおよび圧縮画像のデータ構造
JP2007088912A (ja) 画像処理装置およびプログラム
JP4710672B2 (ja) 文字色判別装置、文字色判別方法、およびコンピュータプログラム
JP2000022943A (ja) 画像領域判別装置および方法ならびに画像領域判別プログラムを記録した記録媒体
JP5517028B2 (ja) 画像処理装置
JP6025803B2 (ja) 画像処理装置
JP2009105541A (ja) 画像処理装置、方法、および、プログラム
US8553294B2 (en) Outlining method for properly representing curved line and straight line, and image compression method using the same
JP7185451B2 (ja) 画像処理装置と画像処理方法、及びプログラム
JP2006311193A (ja) 画像処理装置及びこれを備えた画像読取装置並びに画像処理方法
JPH11127353A (ja) 画像処理装置及び画像処理方法
JP2001351068A (ja) 文字認識装置、文字認識方法、画像処理装置、画像処理方法、並びにコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111215

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: 20120424

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120507

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees