画像処理装置およびその制御方法
【課題】画像に含まれる文字領域を精度よく判定する。
【解決手段】画像を各々が所定数の画素を含む複数のブロックに分割する分割手段と、各画素のエッジ強度値を導出する導出手段と、画素のエッジ強度値の最大値および最小値に基づいて基準値を導出する基準値導出手段と、前記基準値に基づいて第1閾値と第2閾値とを設定する閾値設定手段と、第1閾値以上かつ第2閾値未満である第1範囲と第2閾値以上である第2範囲との各々に含まれるエッジ強度値を有する画素の個数を計数する計数手段と、前記計数の結果に基づいて、第2範囲のエッジ強度値を有する画素が存在する場合は文字領域と判定し、第2範囲及び第1範囲のエッジ強度値を有する画素が存在しない場合は非文字領域と判定する判定手段と、を備える。
【解決手段】画像を各々が所定数の画素を含む複数のブロックに分割する分割手段と、各画素のエッジ強度値を導出する導出手段と、画素のエッジ強度値の最大値および最小値に基づいて基準値を導出する基準値導出手段と、前記基準値に基づいて第1閾値と第2閾値とを設定する閾値設定手段と、第1閾値以上かつ第2閾値未満である第1範囲と第2閾値以上である第2範囲との各々に含まれるエッジ強度値を有する画素の個数を計数する計数手段と、前記計数の結果に基づいて、第2範囲のエッジ強度値を有する画素が存在する場合は文字領域と判定し、第2範囲及び第1範囲のエッジ強度値を有する画素が存在しない場合は非文字領域と判定する判定手段と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理技術に関するものであり、特に、画像に含まれる文字領域を検出する技術に関するものである。
【背景技術】
【0002】
一般に、デジタル複合機等において読み取られる原稿は、文字原稿、写真原稿及び網点印刷原稿の3種類に大別される。網点印刷原稿は、階調のある画像を細かいドットの集合体に分解し、そのドットの大きさ、即ち、濃度で擬似的に階調を表現するものである。スキャナで読み取ったこれらの原稿画像に対して、文字や網点や写真等の領域を識別し、各属性に適した処理を施すことが良く行われる。例えば、文字領域に対しては解像度を重視した処理を施した後、文字認識や文字ベクトル化処理を行い、網点領域や写真領域に対しては階調性を重視した処理を施して画質の向上を図るようにする。そのため、文字や網点等を高い精度で識別することが必要とされる。
【0003】
従来、文字や網点等の識別技術として、色情報、或いは、エッジ情報を用いて判定する方法が提案されている。特許文献1では、入力画像を一定の大きさのブロックに分割し、隣接する画素間の濃度差の絶対値の総和をブロック毎に求め、予め決められた閾値と比較することにより、各ブロックが網点領域と文字領域と中間調領域とのいずれであるかを判定する方法が提案されている。また、特許文献2は、主走査方向と副走査方向の少なくとも一方において画素濃度差が大きい境界部が2画素以上続く連続エッジが検出されなければ文字領域と判定し、連続エッジが検出されれば文字以外の領域と判定する。
【0004】
さらに、特許文献3では、ブロックにあるエッジ画素数を算出し、当該算出したエッジ画素数が閾値以上であるブロックを網点領域、閾値未満であるブロックを非網点領域(文字領域)として判定する方法が提案されている。また、特許文献4では、網点や文字線の輪郭成分を抽出し、当該抽出した輪郭成分のうち網点ドットの輪郭成分を除去し、M×N画素ブロック内の黒画素数を計数する。そして、ブロック内の黒画素数により文字領域と中間調画像領域とを識別する。このとき、網点領域の部分は、黒画素数の少ない領域となるので、中間調画像領域として識別される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特公平5−50187号公報
【特許文献2】特開平08−51537号公報
【特許文献3】特開2002−158873号公報
【特許文献4】特開平01−286571号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、網点領域を構成する網点ドットの密度や構成色によっては、網点領域と文字領域とにおいて、同等のエッジ成分を含んだり、画素間の濃度差が同等になったりする場合がある。このような場合、網点領域と文字領域とを誤認識しやすくなる。
【0007】
また、図1に示すような網点背景上に文字があるような画像においても以下のような理由で誤認識が発生しやすい。図1(a)は、黒色と白色により構成される網点背景上に、白色の文字が存在する画像を例示的に示す図である。図において、所定サイズのブロック(正方形ブロック)ごとに分割して、各ブロックの領域判定を行うものとする。この例では、網点のみを含むブロック(網点ブロック)も、網点と文字とを含むブロック(文字ブロック)も、白、黒により表現されるため、各ブロック内に含まれる画素間の濃度差では文字ブロックと網点ブロックとの区別が出来ない。また、文字ブロックにも網点ブロックにも黒と白との連続エッジが存在するため、エッジ情報によっても文字ブロックと網点ブロックとの区別が困難である。図1(b)は、薄い青色の背景上にある濃い青色の文字を含む画像を示している。この場合、文字色と背景色の色差が小さいので、色を使った判定では文字ブロックと非文字ブロックの判別が難しい。また、文字と背景の濃度差が小さく、文字周囲における連続エッジの認識が困難であるため、エッジ情報によっても文字ブロックと非文字ブロックとの判定が困難になる。その結果、領域の誤判定が生じ、その誤判定結果に基づいた画像処理を行うと、画質の劣化が発生することになる。
【0008】
本発明は上述の問題点に鑑みなされたものであり、画像内の領域の属性を好適に判定する画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述の1以上の問題点を解決するため、本発明の画像処理装置は、画像を、各々が所定数の画素を含む複数のブロックに分割する分割手段と、注目ブロックに含まれる各画素のエッジ強度値を導出する導出手段と、前記注目ブロックに含まれる画素のエッジ強度値の最大値および最小値に基づいて、該注目ブロックにおける基準値を導出する基準値導出手段と、前記導出した基準値に基づいて、該基準値より大きい第1閾値と該第1閾値より大きい第2閾値とを設定する閾値設定手段と、前記注目ブロックにおいて、前記第1閾値以上かつ前記第2閾値未満である第1範囲と前記第2閾値以上である第2範囲との各々に含まれるエッジ強度値を有する画素の個数を計数する計数手段と、前記計数手段による計数の結果に基づいて、前記第2範囲のエッジ強度値を有する画素が存在する場合は前記注目ブロックを文字領域と判定し、前記第2範囲及び前記第1範囲のエッジ強度値を有する画素が存在しない場合は前記注目ブロックを非文字領域と判定する判定手段と、を備える。
【発明の効果】
【0010】
本発明によれば、画像内の領域の属性を好適に判定する画像処理技術を提供することができる。
【図面の簡単な説明】
【0011】
【図1】文字領域と非文字領域との判定が困難な例を示す図である。
【図2】第1実施形態に係る画像処理装置の機能構成を示すブロック図である。
【図3】図2に示す画像処理装置を実装するデジタル複合機(MFP)のブロック図である。
【図4】エッジ特徴量出力処理を説明するフローチャートである。
【図5】基準値(基準閾値)導出処理を説明する図である。
【図6】第1実施形態に係るエッジ特徴量の各パラメータを説明する図である。
【図7】第1実施形態に係るエッジ特徴量の各パラメータを導出するフローチャートである。
【図8】各閾値によるエッジ抽出結果の例を示す図である。
【図9】第1実施形態に係る領域判定処理のフローチャートである。
【図10】第2実施形態に係るエッジ特徴量の各パラメータを説明する図である。
【図11】第2実施形態に係るエッジ特徴量の各パラメータを導出するフローチャートである。
【図12】第2実施形態に係る領域判定処理のフローチャートである。
【発明を実施するための形態】
【0012】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【0013】
(第1実施形態)
本発明に係る画像処理装置の第1実施形態として、デジタル複合機(MFP)を例に挙げて以下に説明する。
<装置構成>
図3は、本発明に係る画像処理装置を実装するデジタル複合機(MFP)の主な構成を示すブロック図である。また、図2は、第1実施形態に係る画像処理装置のスキャナ画像処理部2080の詳細構成を示すブロック図である。なお、本実施形態ではスキャナ画像処理部2080は電子回路等のハードウェアで構成され、当該スキャナ画像処理部のハードウェアが後述する画像処理を実行するものとして説明するが、これに限るものではない。例えば、CPU2001がHDD2004に格納されたプログラムを実行することにより、スキャナ画像処理部2080の各処理部として機能するよう構成してもよい。
【0014】
図3に示すように、MFPは、画像処理装置の制御手段として機能するコントローラユニット2000を備えている。コントローラユニット2000は、画像入力デバイスであるスキャナ2070や画像出力デバイスであるプリンタ2095と、デバイスインタフェース(I/F)を介して接続する。そして、コントローラユニット2000は、スキャナ2070で原稿を読み取ることによって得た画像データを、プリンタ2095によって印刷出力するコピー機能を実現するための制御を行うことが可能である。また、コントローラユニット2000は、LAN1006や公衆回線(WAN)1008を介して他装置との間でパターン画像やデバイス情報等の入出力を行うための制御を行うことが可能である。
【0015】
コントローラユニット2000は、図3に示すように、CPU2001を有している。CPU2001は、ROM2003に格納されているブートプログラムによりオペレーションシステム(OS)を立ち上げる。そして、このOS上でHDD(ハードディスクドライブ)2004に格納されているアプリケーションプログラムを実行することによって各種処理を実行する。CPU2001の作業領域として、RAM2002が用いられる。RAM2002はまた、CPU2001の作業領域だけでなく、画像データを一時記憶するための画像メモリ領域としても用いられる。HDD2004は、上記アプリケーションプログラムや画像データを格納する。
【0016】
CPU2001には、システムバス2007を介して、ROM2003やRAM2002、操作部I/F2006、ネットワークI/F2010、モデム2050及びイメージバスI/F2005が接続されている。
【0017】
操作部I/F(インタフェース)2006は、タッチパネルを有する操作部2012とのインタフェースであり、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部I/F2006は、操作部2012においてユーザにより入力された情報をCPU2001に送出する。
【0018】
また、ネットワークI/F(インタフェース)2010は、LAN1006に接続され、LAN1006を介してLAN1006に接続された各装置との間で情報の入出力を行う。モデム2050は、公衆回線1008に接続し、公衆回線1008を介して他装置との間で情報の入出力を行う。
【0019】
イメージバスI/F(インタフェース)2005は、システムバス2007と画像データを高速で転送する画像バス2008を接続し、データ構造を変換するためのバスブリッジである。画像バス2008は、PCIバス又はIEEE1394から構成される。画像バス2008には、ラスタイメージプロセッサ(RIP)2060、デバイスI/F2020、スキャナ画像処理部2080、プリンタ画像処理部2090、画像回転部2030、及び画像圧縮部2040が接続されている。
【0020】
RIP2060は、PDLコードをビットマップイメージに展開するプロセッサである。デバイスI/F2020には、スキャナ2070及びプリンタ2095が接続され、画像データ転送の同期系/非同期系の変換処理を行う。スキャナ画像処理部2080は、スキャナから入力された入力画像データに対して補正、加工、編集処理を行う。プリンタ画像処理部2090は、プリント出力画像データに対して印刷用の補正、解像度変換等を行って印刷データを生成し、プリンタへ当該印刷データの出力を行う。画像回転部2030は、画像データの回転を行う。画像圧縮部2040は、多値画像データをJPEGデータに、2値画像データをJBIG、MMR、MH等のデータに圧縮するとともに、その伸長処理も行う。
【0021】
次に、スキャナ画像処理部2080において、画像内の各領域の属性を判定し、各属性に応じた所定の画像処理を行う際に用いる各処理部の構成を、図2を用いて説明する。ブロック入力部11は、例えば、スキャナ2070を用いて紙原稿を読み取ることにより得たモノクロまたはカラー画像を、各々が所定数の画素を含む複数のブロック画像(以下、単に”ブロック”とも呼ぶ)に分割する。すなわち、入力画像を所定サイズのブロックごとに分割する。そして、当該分割した各ブロック画像をエッジ抽出部12および平滑化処理部15に入力する。
【0022】
エッジ抽出部12は、ブロック入力部11から入力されたブロックからエッジ強度を抽出する。この処理で抽出されるエッジ強度は、ブロック内の各画素に対して、公知のプレヴィット(Prewitt)フィルタ、或いは、ゾーベル(Sobel)フィルタを適用することにより得られる微分データを利用することが可能である。エッジ特徴抽出部13は、エッジ抽出部12で算出された各画素のエッジ強度(エッジ強度値)から、ブロックごとにエッジ強度に対する基準値(以下、基準閾値とも呼ぶ)を算出する。この基準閾値からエッジ特徴の取得用のパラメータを設定し、エッジ特徴量を求める。なお、このエッジ特徴抽出処理の詳細については図4〜図7を参照して後述する。領域判定部14は、エッジ特徴抽出部13により決定されたエッジ特徴量に基づき、注目ブロックが文字領域か非文字領域かを判定する。この領域判定処理の詳細について図9を用いて後述する。
【0023】
平滑化処理部15は、ブロック入力部11により入力されたブロック画像を平滑化処理する。平滑化処理はブロック画像に含まれる画素毎の細かい変化を少なくし、網点パターンを潰し、色情報の解析をしやすくするためのものである。平滑化処理には、公知のローパスフィルタや移動平均フィルタやエッジ保持型平滑フィルタ等を利用することが可能である。
【0024】
代表色選択部16は、平滑化処理部15による平滑化後のブロック画像にある画素の出現色の分布を解析し、領域判定部14のブロックの領域判定結果を参照して代表色(代表色候補)を選択する。領域判定の結果が文字領域であれば、代表色として複数の色(文字の色、背景の色)を選択するが、領域判定の結果が非文字領域(例えば単色の背景)であれば、代表色を1色に決める。代表色選択処理は、ブロックにある各画素の出現色の頻度が高い色を選択する方法を利用することが可能である。
【0025】
色量子化部17は、注目ブロック内の各画素に対して、代表色選択部16で選択された代表色のいずれかを割り当てる。この色量子化処理は、代表色が複数色選択されたブロック内の各画素に対しては最も色距離が小さい代表色をそれぞれ割り当て、代表色が1色であるブロック内の画素に対しては当該同じ1色をそれぞれ割り当てる方法を利用することが可能である。
【0026】
また、ブロック単位で画像処理の切り替えを行うよう構成してもよい。例えば、文字ブロックにある文字画素をエッジ強調したり、非文字ブロックにある画素を平滑化したりしてもよい。また、ブロック単位の処理結果及びブロック間の情報を使い、文字部分を接続し、文字単位に分離し、その後、文字認識処理や、文字の輪郭を抽出してベクトルデータに変換するベクトル化処理を行うよう構成してもよい。
【0027】
<エッジ特徴量>
図4は、エッジ特徴抽出部13により実行されるエッジ特徴量抽出処理の詳細を示すフローチャートである。
【0028】
ステップS131では、エッジ抽出処理により取得した注目ブロック内の各画素のエッジ強度を入力する。そして、ステップS132では、注目ブロック内の各画素のエッジ強度に基づいて、当該注目ブロックにおける基準値(基準閾値)を導出する(基準値導出手段)。
【0029】
図5は、第1実施形態に係る基準閾値の導出処理を説明する図である。実線は、エッジ抽出部12から取得した、ブロック内の各画素のエッジ強度の分布を例示的に示している。原稿画像を分割して得られる複数のブロックにおいて、画素のエッジ強度の最大値と最小値との差(即ち、エッジ強度の範囲)は大きく異なり得る。したがって、複数のブロックの全てに対して同等の処理を行うためには、画素のエッジ強度の範囲を0〜255の値(8ビット値)に正規化した後にエッジ特徴量を判定することが考えられる。(点線は、正規化した場合のエッジ強度の分布を示している。)しかしながら、注目ブロック内の各画素のエッジ強度を正規化処理すると処理負荷が大きくなってしまう。したがって、本実施形態では、各画素のエッジ強度を正規化するのではなく、正規化した場合に用いる閾値Fに基づいて、実際のエッジ強度範囲における閾値Tを以下のように設定する。つまり、0〜255のエッジ強度の範囲において予め設定した閾値F(経験的に設定される値(例えば”120”))を用いて、実際に取得したエッジ強度の範囲における基準閾値Tを以下の式1によって求める。
【0030】
T=(Emax−Emin)×F/255+Emin (式1)
ここで、 EminおよびEmaxは、それぞれ、抽出処理により求めた注目ブロック内の画素のエッジ強度の最小値と最大値である。つまり、閾値Fの値(所定定数)は各ブロックで共通であるが、EminおよびEmaxの値はブロックごとに異なる。そのため、Tの値はブロックごとに異なり得る。
【0031】
ステップS133では、導出した基準閾値Tを用いて、エッジ特徴量導出用のパラメータを設定し(閾値設定手段)、ステップS134では、設定されたパラメータを用いて、エッジ特徴量を導出する。そして、ステップS135では、導出したエッジ特徴量を出力する。
【0032】
図6は、第1実施形態に係るエッジ特徴量を導出する際に用いる各パラメータを説明する図である。エッジ特徴導出用のパラメータは、基準閾値T(第3閾値)及び、当該基準閾値Tに基づいて求める強エッジ判定用閾値ST(第2閾値)と弱エッジ判定用閾値WT(第1閾値)の3つの閾値である。ここで、
基準閾値T
強エッジ判定用閾値ST=T+B
弱エッジ判定用閾値WT=T+C
であり、B,Cは、ST>WT>Tを満たすように設定された予め指定される定数である。例えばB=70、C=50である。
【0033】
また、エッジ特徴は、注目ブロック内の各画素のエッジ強度と上述のパラメータに基づき導出されるものであり、具体的には、
強エッジ画素数:ST以上(第2閾値以上である第2範囲)のエッジ強度を有する画素の個数
弱エッジ画素数:WT以上かつST未満(第1閾値以上かつ第2閾値未満である第1範囲)のエッジ強度を有する画素の個数
基準エッジ画素数:T以上かつWT未満(第3閾値以上かつ第1閾値未満である第3範囲)のエッジ強度を有する画素の個数
をそれぞれ計数して得られるものである。
【0034】
図7は、第1実施形態に係るエッジ特徴量の各パラメータを導出するフローチャートである。
【0035】
ステップS13301では、注目ブロック内の各画素のエッジ強度と注目ブロックの基準閾値Tを入力する。そして、ステップS13302では、基準閾値Tからエッジ特徴計算用の各パラメータを設定する。例えば、強エッジ判定用閾値ST、弱エッジ判定用閾値WTを、それぞれ、T+70、T+50に設定する。
【0036】
ステップS13303〜S13311では、注目ブロック内の各画素の各々についてエッジ強度の判定を行う(計数手段)。ステップS13303では、処理対象となる画素のエッジ強度が強エッジ判定用閾値ST以上であるか否かを判定する。画素のエッジ強度が強エッジ判定用閾値ST以上である場合は、ステップS13304に進み当該画素を強エッジ画素と判定し、強エッジ画素のカウント値SNを1増加させる。一方、画素のエッジ強度が強エッジ判定用閾値ST未満の場合はステップS13305に進む。
【0037】
ステップS13305では、当該画素のエッジ強度が弱エッジ判定用閾値WT以上か否かを判定する。画素のエッジ強度が弱エッジ判定用閾値WT以上である場合は、ステップS13306に進み当該画素を弱エッジ画素と判定し、弱エッジ画素のカウント値WNを1増加させる。画素のエッジ強度が弱エッジ判定用閾値WT未満の場合はS13307に進む。
【0038】
ステップS13307では、当該画素のエッジ強度が基準閾値T以上か否かを判定する。画素のエッジ強度が基準閾値T以上である場合は、ステップS13308に進み当該画素を基準閾値のエッジ画素と判定し、カウント値TNを1増加させる。画素のエッジ強度が基準閾値T未満の場合はS13311に進む。
【0039】
ステップS13311では、注目ブロック内に含まれる全画素に対して処理が完了したか否かを判定する。未処理の画素があれば、ステップS13303に戻り、次の画素について上述の判定を繰り返す。未処理の画素がなければ、ステップS13312に進み、エッジ特徴量(SN、WN、TN)を出力する。
【0040】
<各閾値によるエッジ抽出の結果例>
図8は、各閾値によるエッジ特徴抽出結果の例を示す図である。ここでは、文字がはっきりしている”読みやすい文字領域”と、前景と背景が同色などで文字がはっきりしていない”読みにくい文字領域”、及び、”非文字領域”の各々の画像に対するエッジ特徴抽出の結果を示している。エッジ抽出結果を示す図において、白画素は各エッジ特徴を有するとして判定された画素である。図からわかるように、”読みやすい文字領域”では3つの閾値すべてで文字の輪郭が好適に抽出されている。一方、”読みにくい文字領域”では、最も低い閾値(基準閾値)では、文字の輪郭が抽出されているものの、他の2つの閾値ではごく一部しか文字の輪郭が抽出されていない。また。”非文字領域”に関しては、最も低い閾値(基準閾値)においてノイズ成分が抽出されている。
【0041】
言い換えると、各閾値以上のエッジ強度を有する画素をエッジ画素とした場合の特徴として、以下のようなことが読み取れる。
【0042】
強エッジ閾値:”読みやすい文字領域”でのみエッジ画素(強エッジ画素)が所定以上抽出される。
【0043】
弱エッジ閾値:”読みやすい文字領域”においてはエッジ画素(弱エッジ画素)が所定以上抽出され、”読みにくい文字領域”では所々エッジ画素(弱エッジ画素)が抽出される。”非文字領域”では所々エッジ画素(弱エッジ画素)が抽出される場合もあるが、エッジ画素(弱エッジ画素)が抽出されない場合もある。
【0044】
基準閾値:”読みやすい文字領域”および”読みにくい文字領域”においては文字のエッジ画素が抽出される。また、”非文字領域”では、網点などのノイズがある場合は非常に多くのエッジ画素が観測される。一方、網点でない非文字領域の場合、エッジ画素は非常に少ない。
【0045】
<文字領域判定処理>
図9は、第1実施形態に係る領域判定(検出)処理のフローチャートである。
【0046】
ステップS1401では、注目ブロックのエッジ特徴量(SN、WN、TN)を入力する。
【0047】
ステップS1402からステップS1407では、注目ブロックが文字領域か非文字領域かを判定する。具体的には、ステップS1402では、強エッジ画素数SNに注目し、強エッジ画素が存在すれば、ステップS1403に進み当該注目ブロックを文字領域と判定する。なお、このとき、ノイズ成分を考慮し、所定の閾値を設けて強エッジ画素が存在するか否かの判定を行うよう構成してもよい。一方、強エッジ画素が存在しない場合、ステップS1404に進み、弱エッジ画素数WNに注目して判定する。
【0048】
弱エッジ画素が存在しなければ、ステップS1405に進み当該注目ブロックを非文字領域と判定する。一方、弱エッジ画素が存在する場合、ステップS1406に進み、基準閾値のエッジ画素数に注目して判定する。つまり、基準閾値のエッジ画素が非常に多い(第1個数以上)、或いは、非常に少ない(第2個数未満)場合は、S1405に進み当該注目ブロックを非文字領域と判定する。基準閾値のエッジ画素数が前記第2個数以上かつ前記第1個数未満の範囲である場合、”読みにくい文字”であるとも”非文字領域”であるとも考えられる。そこで、後処理で補正することを考慮し、ステップS1407では、当該注目ブロックに不確定領域(”UNKNOWN”)を示す判定不能情報を付与するとよい。
【0049】
以上説明したとおり第1実施形態によれば、注目ブロックに対して複数の閾値を設定し、当該複数の閾値に基づいて設定される各範囲のエッジ強度を有する画素の個数に基づいて文字領域・非文字領域・不確定領域を判定する。つまり、注目ブロックに含まれる画素のエッジ強度の分布に基づいて領域の判定を行う。また、不確定領域と判定された領域に関しては、後処理により領域を決定すればよい。このように構成することにより、従来に比較しより正確に文字領域を判定することが可能となる。特に、中間濃度の網点背景と近い色を持つ文字を含む領域は、非文字領域ではなく、不確定領域として判定されるので、後処理で属性を文字領域として修正するように構成すれば、より精度良く区別できるようになる。その結果、例えば、後工程における文字認識の精度をより高めることが可能となる。なお、判定不能であった領域に対しては不確定領域の情報を設定することにより、例えば、後工程において、ユーザから選択的に領域属性の指定を受け付ける(受付手段)ことが可能となる。
【0050】
(第2実施形態)
第2実施形態では、第1実施形態における文字領域か否かの判定と共に、文字領域及び非文字領域の各々において、当該領域が網点を含む領域か否かを併せて識別する例について説明する。つまり、第2実施形態では、”網点背景のみ”、”非網点背景のみ”、”網点背景+文字”、”非網点背景+文字”の4つの何れであるかを識別する。以下では、主に第1実施形態と異なる部分について説明する。
【0051】
<エッジ特徴量>
図10は、第2実施形態に係るエッジ特徴量の各パラメータを説明する図である。エッジ特徴導出用のパラメータは、基準閾値T(基準値)及び、当該基準閾値Tに基づいて求めた強エッジ判定用閾値ST(第2閾値)と弱エッジ判定用閾値WT(第1閾値)、及び、低閾値LT(第4閾値)の4つの閾値である。ここで、
基準閾値T
強エッジ判定用閾値ST=T+B
弱エッジ判定用閾値WT=T+C
低閾値LT=D
であり、B,C,Dは、ST>WT>T>Dを満たすように設定された予め指定される定数である。
【0052】
また、エッジ特徴は、注目ブロック内の各画素のエッジ強度と上述のパラメータに基づき導出されるものであり、具体的には、
強エッジ画素数:ST以上(第2範囲)のエッジ強度を有する画素の個数
弱エッジ画素数:WT以上かつST未満(第1範囲)のエッジ強度を有する画素の個数
基準エッジ画素数:T以上かつWT未満(第3範囲)のエッジ強度を有する画素の個数
低エッジ画素数:LT以上かつT未満(第4閾値以上かつ第3閾値未満である第4範囲)のエッジ強度を有する画素の個数
として表されるものである。
【0053】
図11は、第2実施形態に係るエッジ特徴量の各パラメータを導出するフローチャートである。なお、ステップS13301〜S13308については第1実施形態とほぼ同様である。ただし、ステップS13307において、画素のエッジ強度が基準閾値T未満の場合にS13309に進む点が異なる。
【0054】
ステップS13309では、当該画素のエッジ強度が低閾値LT(例えば40)以上か否かを判定する。画素のエッジ強度が低閾値LT以上である場合は、ステップS13310に進み当該画素を低閾値のエッジ画素と判定し、カウント値LNを1増加させる。一方、低閾値LT未満である場合、ステップS13311に進む。
【0055】
ステップS13311では、注目ブロック内に含まれる全画素に対して処理が完了したか否かを判定する。未処理の画素があれば、ステップS13303に戻り、次の画素について上述の判定を繰り返す。未処理の画素がなければ、ステップS13312に進み、エッジ特徴量(SN、WN、TN、LN)を出力する。
【0056】
<文字領域判定処理>
注目ブロックが非網点(下地)上の文字である場合、一様な色の下地においてはエッジ画素が発生しないので、低閾値エッジ画素数は少なくなる。一方、網点上の文字は、網点背景にある網点画素がエッジ画素となるため、低閾値エッジ画素数が非常に多い。文字の無い非網点背景(下地)は、低閾値におけるエッジ画素が少ない。また、文字の無い網点背景では、低閾値におけるエッジ画素が多い。そこで、以下のようにして”網点背景のみ”、”非網点背景のみ”、”網点背景+文字”、”非網点背景+文字”の4つの何れであるかを識別することが出来る。
【0057】
図12は、第2実施形態に係る領域判定処理のフローチャートである。なお、ステップS1411〜S1417は第1実施形態におけるステップS1401〜S1407とほぼ同様である。ただし、”文字領域”あるいは”非文字領域”と決定された後の処理が第1実施形態と異なる。
【0058】
注目ブロックが”文字領域”であると決定(S1413)された後、ステップS1418では、低閾値のエッジ画素の個数LNが所定個数以上であるか否か判定する。低閾値のエッジ画素の個数LNが所定個数以上の場合、網点背景上の文字(網点上文字領域)であると判定する(S1419)。一方、低閾値のエッジ画素の個数LNが所定個数未満の場合、下地上文字領域(非網点背景(下地)上に文字がある非網点上文字領域)であると判定する(S1420)。
【0059】
同様に、注目ブロックが”非文字領域”であると決定(S1415)された後、ステップS1421では、低閾値のエッジ画素の個数LNが所定個数以上であるか否か判定する。低閾値のエッジ画素の個数LNが所定個数以上の場合、網点(網点背景領域)であると判定する(S1422)。一方、低閾値のエッジ画素の個数LNが所定個数未満の場合、下地(非網点背景領域)であると判定する(S1423)。
【0060】
以上説明したとおり第2実施形態によれば、文字領域と非文字領域との判定に加え、網点背景と非網点背景との判定を併せて行うことが可能となる。
【0061】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、画像処理技術に関するものであり、特に、画像に含まれる文字領域を検出する技術に関するものである。
【背景技術】
【0002】
一般に、デジタル複合機等において読み取られる原稿は、文字原稿、写真原稿及び網点印刷原稿の3種類に大別される。網点印刷原稿は、階調のある画像を細かいドットの集合体に分解し、そのドットの大きさ、即ち、濃度で擬似的に階調を表現するものである。スキャナで読み取ったこれらの原稿画像に対して、文字や網点や写真等の領域を識別し、各属性に適した処理を施すことが良く行われる。例えば、文字領域に対しては解像度を重視した処理を施した後、文字認識や文字ベクトル化処理を行い、網点領域や写真領域に対しては階調性を重視した処理を施して画質の向上を図るようにする。そのため、文字や網点等を高い精度で識別することが必要とされる。
【0003】
従来、文字や網点等の識別技術として、色情報、或いは、エッジ情報を用いて判定する方法が提案されている。特許文献1では、入力画像を一定の大きさのブロックに分割し、隣接する画素間の濃度差の絶対値の総和をブロック毎に求め、予め決められた閾値と比較することにより、各ブロックが網点領域と文字領域と中間調領域とのいずれであるかを判定する方法が提案されている。また、特許文献2は、主走査方向と副走査方向の少なくとも一方において画素濃度差が大きい境界部が2画素以上続く連続エッジが検出されなければ文字領域と判定し、連続エッジが検出されれば文字以外の領域と判定する。
【0004】
さらに、特許文献3では、ブロックにあるエッジ画素数を算出し、当該算出したエッジ画素数が閾値以上であるブロックを網点領域、閾値未満であるブロックを非網点領域(文字領域)として判定する方法が提案されている。また、特許文献4では、網点や文字線の輪郭成分を抽出し、当該抽出した輪郭成分のうち網点ドットの輪郭成分を除去し、M×N画素ブロック内の黒画素数を計数する。そして、ブロック内の黒画素数により文字領域と中間調画像領域とを識別する。このとき、網点領域の部分は、黒画素数の少ない領域となるので、中間調画像領域として識別される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特公平5−50187号公報
【特許文献2】特開平08−51537号公報
【特許文献3】特開2002−158873号公報
【特許文献4】特開平01−286571号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、網点領域を構成する網点ドットの密度や構成色によっては、網点領域と文字領域とにおいて、同等のエッジ成分を含んだり、画素間の濃度差が同等になったりする場合がある。このような場合、網点領域と文字領域とを誤認識しやすくなる。
【0007】
また、図1に示すような網点背景上に文字があるような画像においても以下のような理由で誤認識が発生しやすい。図1(a)は、黒色と白色により構成される網点背景上に、白色の文字が存在する画像を例示的に示す図である。図において、所定サイズのブロック(正方形ブロック)ごとに分割して、各ブロックの領域判定を行うものとする。この例では、網点のみを含むブロック(網点ブロック)も、網点と文字とを含むブロック(文字ブロック)も、白、黒により表現されるため、各ブロック内に含まれる画素間の濃度差では文字ブロックと網点ブロックとの区別が出来ない。また、文字ブロックにも網点ブロックにも黒と白との連続エッジが存在するため、エッジ情報によっても文字ブロックと網点ブロックとの区別が困難である。図1(b)は、薄い青色の背景上にある濃い青色の文字を含む画像を示している。この場合、文字色と背景色の色差が小さいので、色を使った判定では文字ブロックと非文字ブロックの判別が難しい。また、文字と背景の濃度差が小さく、文字周囲における連続エッジの認識が困難であるため、エッジ情報によっても文字ブロックと非文字ブロックとの判定が困難になる。その結果、領域の誤判定が生じ、その誤判定結果に基づいた画像処理を行うと、画質の劣化が発生することになる。
【0008】
本発明は上述の問題点に鑑みなされたものであり、画像内の領域の属性を好適に判定する画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述の1以上の問題点を解決するため、本発明の画像処理装置は、画像を、各々が所定数の画素を含む複数のブロックに分割する分割手段と、注目ブロックに含まれる各画素のエッジ強度値を導出する導出手段と、前記注目ブロックに含まれる画素のエッジ強度値の最大値および最小値に基づいて、該注目ブロックにおける基準値を導出する基準値導出手段と、前記導出した基準値に基づいて、該基準値より大きい第1閾値と該第1閾値より大きい第2閾値とを設定する閾値設定手段と、前記注目ブロックにおいて、前記第1閾値以上かつ前記第2閾値未満である第1範囲と前記第2閾値以上である第2範囲との各々に含まれるエッジ強度値を有する画素の個数を計数する計数手段と、前記計数手段による計数の結果に基づいて、前記第2範囲のエッジ強度値を有する画素が存在する場合は前記注目ブロックを文字領域と判定し、前記第2範囲及び前記第1範囲のエッジ強度値を有する画素が存在しない場合は前記注目ブロックを非文字領域と判定する判定手段と、を備える。
【発明の効果】
【0010】
本発明によれば、画像内の領域の属性を好適に判定する画像処理技術を提供することができる。
【図面の簡単な説明】
【0011】
【図1】文字領域と非文字領域との判定が困難な例を示す図である。
【図2】第1実施形態に係る画像処理装置の機能構成を示すブロック図である。
【図3】図2に示す画像処理装置を実装するデジタル複合機(MFP)のブロック図である。
【図4】エッジ特徴量出力処理を説明するフローチャートである。
【図5】基準値(基準閾値)導出処理を説明する図である。
【図6】第1実施形態に係るエッジ特徴量の各パラメータを説明する図である。
【図7】第1実施形態に係るエッジ特徴量の各パラメータを導出するフローチャートである。
【図8】各閾値によるエッジ抽出結果の例を示す図である。
【図9】第1実施形態に係る領域判定処理のフローチャートである。
【図10】第2実施形態に係るエッジ特徴量の各パラメータを説明する図である。
【図11】第2実施形態に係るエッジ特徴量の各パラメータを導出するフローチャートである。
【図12】第2実施形態に係る領域判定処理のフローチャートである。
【発明を実施するための形態】
【0012】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【0013】
(第1実施形態)
本発明に係る画像処理装置の第1実施形態として、デジタル複合機(MFP)を例に挙げて以下に説明する。
<装置構成>
図3は、本発明に係る画像処理装置を実装するデジタル複合機(MFP)の主な構成を示すブロック図である。また、図2は、第1実施形態に係る画像処理装置のスキャナ画像処理部2080の詳細構成を示すブロック図である。なお、本実施形態ではスキャナ画像処理部2080は電子回路等のハードウェアで構成され、当該スキャナ画像処理部のハードウェアが後述する画像処理を実行するものとして説明するが、これに限るものではない。例えば、CPU2001がHDD2004に格納されたプログラムを実行することにより、スキャナ画像処理部2080の各処理部として機能するよう構成してもよい。
【0014】
図3に示すように、MFPは、画像処理装置の制御手段として機能するコントローラユニット2000を備えている。コントローラユニット2000は、画像入力デバイスであるスキャナ2070や画像出力デバイスであるプリンタ2095と、デバイスインタフェース(I/F)を介して接続する。そして、コントローラユニット2000は、スキャナ2070で原稿を読み取ることによって得た画像データを、プリンタ2095によって印刷出力するコピー機能を実現するための制御を行うことが可能である。また、コントローラユニット2000は、LAN1006や公衆回線(WAN)1008を介して他装置との間でパターン画像やデバイス情報等の入出力を行うための制御を行うことが可能である。
【0015】
コントローラユニット2000は、図3に示すように、CPU2001を有している。CPU2001は、ROM2003に格納されているブートプログラムによりオペレーションシステム(OS)を立ち上げる。そして、このOS上でHDD(ハードディスクドライブ)2004に格納されているアプリケーションプログラムを実行することによって各種処理を実行する。CPU2001の作業領域として、RAM2002が用いられる。RAM2002はまた、CPU2001の作業領域だけでなく、画像データを一時記憶するための画像メモリ領域としても用いられる。HDD2004は、上記アプリケーションプログラムや画像データを格納する。
【0016】
CPU2001には、システムバス2007を介して、ROM2003やRAM2002、操作部I/F2006、ネットワークI/F2010、モデム2050及びイメージバスI/F2005が接続されている。
【0017】
操作部I/F(インタフェース)2006は、タッチパネルを有する操作部2012とのインタフェースであり、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部I/F2006は、操作部2012においてユーザにより入力された情報をCPU2001に送出する。
【0018】
また、ネットワークI/F(インタフェース)2010は、LAN1006に接続され、LAN1006を介してLAN1006に接続された各装置との間で情報の入出力を行う。モデム2050は、公衆回線1008に接続し、公衆回線1008を介して他装置との間で情報の入出力を行う。
【0019】
イメージバスI/F(インタフェース)2005は、システムバス2007と画像データを高速で転送する画像バス2008を接続し、データ構造を変換するためのバスブリッジである。画像バス2008は、PCIバス又はIEEE1394から構成される。画像バス2008には、ラスタイメージプロセッサ(RIP)2060、デバイスI/F2020、スキャナ画像処理部2080、プリンタ画像処理部2090、画像回転部2030、及び画像圧縮部2040が接続されている。
【0020】
RIP2060は、PDLコードをビットマップイメージに展開するプロセッサである。デバイスI/F2020には、スキャナ2070及びプリンタ2095が接続され、画像データ転送の同期系/非同期系の変換処理を行う。スキャナ画像処理部2080は、スキャナから入力された入力画像データに対して補正、加工、編集処理を行う。プリンタ画像処理部2090は、プリント出力画像データに対して印刷用の補正、解像度変換等を行って印刷データを生成し、プリンタへ当該印刷データの出力を行う。画像回転部2030は、画像データの回転を行う。画像圧縮部2040は、多値画像データをJPEGデータに、2値画像データをJBIG、MMR、MH等のデータに圧縮するとともに、その伸長処理も行う。
【0021】
次に、スキャナ画像処理部2080において、画像内の各領域の属性を判定し、各属性に応じた所定の画像処理を行う際に用いる各処理部の構成を、図2を用いて説明する。ブロック入力部11は、例えば、スキャナ2070を用いて紙原稿を読み取ることにより得たモノクロまたはカラー画像を、各々が所定数の画素を含む複数のブロック画像(以下、単に”ブロック”とも呼ぶ)に分割する。すなわち、入力画像を所定サイズのブロックごとに分割する。そして、当該分割した各ブロック画像をエッジ抽出部12および平滑化処理部15に入力する。
【0022】
エッジ抽出部12は、ブロック入力部11から入力されたブロックからエッジ強度を抽出する。この処理で抽出されるエッジ強度は、ブロック内の各画素に対して、公知のプレヴィット(Prewitt)フィルタ、或いは、ゾーベル(Sobel)フィルタを適用することにより得られる微分データを利用することが可能である。エッジ特徴抽出部13は、エッジ抽出部12で算出された各画素のエッジ強度(エッジ強度値)から、ブロックごとにエッジ強度に対する基準値(以下、基準閾値とも呼ぶ)を算出する。この基準閾値からエッジ特徴の取得用のパラメータを設定し、エッジ特徴量を求める。なお、このエッジ特徴抽出処理の詳細については図4〜図7を参照して後述する。領域判定部14は、エッジ特徴抽出部13により決定されたエッジ特徴量に基づき、注目ブロックが文字領域か非文字領域かを判定する。この領域判定処理の詳細について図9を用いて後述する。
【0023】
平滑化処理部15は、ブロック入力部11により入力されたブロック画像を平滑化処理する。平滑化処理はブロック画像に含まれる画素毎の細かい変化を少なくし、網点パターンを潰し、色情報の解析をしやすくするためのものである。平滑化処理には、公知のローパスフィルタや移動平均フィルタやエッジ保持型平滑フィルタ等を利用することが可能である。
【0024】
代表色選択部16は、平滑化処理部15による平滑化後のブロック画像にある画素の出現色の分布を解析し、領域判定部14のブロックの領域判定結果を参照して代表色(代表色候補)を選択する。領域判定の結果が文字領域であれば、代表色として複数の色(文字の色、背景の色)を選択するが、領域判定の結果が非文字領域(例えば単色の背景)であれば、代表色を1色に決める。代表色選択処理は、ブロックにある各画素の出現色の頻度が高い色を選択する方法を利用することが可能である。
【0025】
色量子化部17は、注目ブロック内の各画素に対して、代表色選択部16で選択された代表色のいずれかを割り当てる。この色量子化処理は、代表色が複数色選択されたブロック内の各画素に対しては最も色距離が小さい代表色をそれぞれ割り当て、代表色が1色であるブロック内の画素に対しては当該同じ1色をそれぞれ割り当てる方法を利用することが可能である。
【0026】
また、ブロック単位で画像処理の切り替えを行うよう構成してもよい。例えば、文字ブロックにある文字画素をエッジ強調したり、非文字ブロックにある画素を平滑化したりしてもよい。また、ブロック単位の処理結果及びブロック間の情報を使い、文字部分を接続し、文字単位に分離し、その後、文字認識処理や、文字の輪郭を抽出してベクトルデータに変換するベクトル化処理を行うよう構成してもよい。
【0027】
<エッジ特徴量>
図4は、エッジ特徴抽出部13により実行されるエッジ特徴量抽出処理の詳細を示すフローチャートである。
【0028】
ステップS131では、エッジ抽出処理により取得した注目ブロック内の各画素のエッジ強度を入力する。そして、ステップS132では、注目ブロック内の各画素のエッジ強度に基づいて、当該注目ブロックにおける基準値(基準閾値)を導出する(基準値導出手段)。
【0029】
図5は、第1実施形態に係る基準閾値の導出処理を説明する図である。実線は、エッジ抽出部12から取得した、ブロック内の各画素のエッジ強度の分布を例示的に示している。原稿画像を分割して得られる複数のブロックにおいて、画素のエッジ強度の最大値と最小値との差(即ち、エッジ強度の範囲)は大きく異なり得る。したがって、複数のブロックの全てに対して同等の処理を行うためには、画素のエッジ強度の範囲を0〜255の値(8ビット値)に正規化した後にエッジ特徴量を判定することが考えられる。(点線は、正規化した場合のエッジ強度の分布を示している。)しかしながら、注目ブロック内の各画素のエッジ強度を正規化処理すると処理負荷が大きくなってしまう。したがって、本実施形態では、各画素のエッジ強度を正規化するのではなく、正規化した場合に用いる閾値Fに基づいて、実際のエッジ強度範囲における閾値Tを以下のように設定する。つまり、0〜255のエッジ強度の範囲において予め設定した閾値F(経験的に設定される値(例えば”120”))を用いて、実際に取得したエッジ強度の範囲における基準閾値Tを以下の式1によって求める。
【0030】
T=(Emax−Emin)×F/255+Emin (式1)
ここで、 EminおよびEmaxは、それぞれ、抽出処理により求めた注目ブロック内の画素のエッジ強度の最小値と最大値である。つまり、閾値Fの値(所定定数)は各ブロックで共通であるが、EminおよびEmaxの値はブロックごとに異なる。そのため、Tの値はブロックごとに異なり得る。
【0031】
ステップS133では、導出した基準閾値Tを用いて、エッジ特徴量導出用のパラメータを設定し(閾値設定手段)、ステップS134では、設定されたパラメータを用いて、エッジ特徴量を導出する。そして、ステップS135では、導出したエッジ特徴量を出力する。
【0032】
図6は、第1実施形態に係るエッジ特徴量を導出する際に用いる各パラメータを説明する図である。エッジ特徴導出用のパラメータは、基準閾値T(第3閾値)及び、当該基準閾値Tに基づいて求める強エッジ判定用閾値ST(第2閾値)と弱エッジ判定用閾値WT(第1閾値)の3つの閾値である。ここで、
基準閾値T
強エッジ判定用閾値ST=T+B
弱エッジ判定用閾値WT=T+C
であり、B,Cは、ST>WT>Tを満たすように設定された予め指定される定数である。例えばB=70、C=50である。
【0033】
また、エッジ特徴は、注目ブロック内の各画素のエッジ強度と上述のパラメータに基づき導出されるものであり、具体的には、
強エッジ画素数:ST以上(第2閾値以上である第2範囲)のエッジ強度を有する画素の個数
弱エッジ画素数:WT以上かつST未満(第1閾値以上かつ第2閾値未満である第1範囲)のエッジ強度を有する画素の個数
基準エッジ画素数:T以上かつWT未満(第3閾値以上かつ第1閾値未満である第3範囲)のエッジ強度を有する画素の個数
をそれぞれ計数して得られるものである。
【0034】
図7は、第1実施形態に係るエッジ特徴量の各パラメータを導出するフローチャートである。
【0035】
ステップS13301では、注目ブロック内の各画素のエッジ強度と注目ブロックの基準閾値Tを入力する。そして、ステップS13302では、基準閾値Tからエッジ特徴計算用の各パラメータを設定する。例えば、強エッジ判定用閾値ST、弱エッジ判定用閾値WTを、それぞれ、T+70、T+50に設定する。
【0036】
ステップS13303〜S13311では、注目ブロック内の各画素の各々についてエッジ強度の判定を行う(計数手段)。ステップS13303では、処理対象となる画素のエッジ強度が強エッジ判定用閾値ST以上であるか否かを判定する。画素のエッジ強度が強エッジ判定用閾値ST以上である場合は、ステップS13304に進み当該画素を強エッジ画素と判定し、強エッジ画素のカウント値SNを1増加させる。一方、画素のエッジ強度が強エッジ判定用閾値ST未満の場合はステップS13305に進む。
【0037】
ステップS13305では、当該画素のエッジ強度が弱エッジ判定用閾値WT以上か否かを判定する。画素のエッジ強度が弱エッジ判定用閾値WT以上である場合は、ステップS13306に進み当該画素を弱エッジ画素と判定し、弱エッジ画素のカウント値WNを1増加させる。画素のエッジ強度が弱エッジ判定用閾値WT未満の場合はS13307に進む。
【0038】
ステップS13307では、当該画素のエッジ強度が基準閾値T以上か否かを判定する。画素のエッジ強度が基準閾値T以上である場合は、ステップS13308に進み当該画素を基準閾値のエッジ画素と判定し、カウント値TNを1増加させる。画素のエッジ強度が基準閾値T未満の場合はS13311に進む。
【0039】
ステップS13311では、注目ブロック内に含まれる全画素に対して処理が完了したか否かを判定する。未処理の画素があれば、ステップS13303に戻り、次の画素について上述の判定を繰り返す。未処理の画素がなければ、ステップS13312に進み、エッジ特徴量(SN、WN、TN)を出力する。
【0040】
<各閾値によるエッジ抽出の結果例>
図8は、各閾値によるエッジ特徴抽出結果の例を示す図である。ここでは、文字がはっきりしている”読みやすい文字領域”と、前景と背景が同色などで文字がはっきりしていない”読みにくい文字領域”、及び、”非文字領域”の各々の画像に対するエッジ特徴抽出の結果を示している。エッジ抽出結果を示す図において、白画素は各エッジ特徴を有するとして判定された画素である。図からわかるように、”読みやすい文字領域”では3つの閾値すべてで文字の輪郭が好適に抽出されている。一方、”読みにくい文字領域”では、最も低い閾値(基準閾値)では、文字の輪郭が抽出されているものの、他の2つの閾値ではごく一部しか文字の輪郭が抽出されていない。また。”非文字領域”に関しては、最も低い閾値(基準閾値)においてノイズ成分が抽出されている。
【0041】
言い換えると、各閾値以上のエッジ強度を有する画素をエッジ画素とした場合の特徴として、以下のようなことが読み取れる。
【0042】
強エッジ閾値:”読みやすい文字領域”でのみエッジ画素(強エッジ画素)が所定以上抽出される。
【0043】
弱エッジ閾値:”読みやすい文字領域”においてはエッジ画素(弱エッジ画素)が所定以上抽出され、”読みにくい文字領域”では所々エッジ画素(弱エッジ画素)が抽出される。”非文字領域”では所々エッジ画素(弱エッジ画素)が抽出される場合もあるが、エッジ画素(弱エッジ画素)が抽出されない場合もある。
【0044】
基準閾値:”読みやすい文字領域”および”読みにくい文字領域”においては文字のエッジ画素が抽出される。また、”非文字領域”では、網点などのノイズがある場合は非常に多くのエッジ画素が観測される。一方、網点でない非文字領域の場合、エッジ画素は非常に少ない。
【0045】
<文字領域判定処理>
図9は、第1実施形態に係る領域判定(検出)処理のフローチャートである。
【0046】
ステップS1401では、注目ブロックのエッジ特徴量(SN、WN、TN)を入力する。
【0047】
ステップS1402からステップS1407では、注目ブロックが文字領域か非文字領域かを判定する。具体的には、ステップS1402では、強エッジ画素数SNに注目し、強エッジ画素が存在すれば、ステップS1403に進み当該注目ブロックを文字領域と判定する。なお、このとき、ノイズ成分を考慮し、所定の閾値を設けて強エッジ画素が存在するか否かの判定を行うよう構成してもよい。一方、強エッジ画素が存在しない場合、ステップS1404に進み、弱エッジ画素数WNに注目して判定する。
【0048】
弱エッジ画素が存在しなければ、ステップS1405に進み当該注目ブロックを非文字領域と判定する。一方、弱エッジ画素が存在する場合、ステップS1406に進み、基準閾値のエッジ画素数に注目して判定する。つまり、基準閾値のエッジ画素が非常に多い(第1個数以上)、或いは、非常に少ない(第2個数未満)場合は、S1405に進み当該注目ブロックを非文字領域と判定する。基準閾値のエッジ画素数が前記第2個数以上かつ前記第1個数未満の範囲である場合、”読みにくい文字”であるとも”非文字領域”であるとも考えられる。そこで、後処理で補正することを考慮し、ステップS1407では、当該注目ブロックに不確定領域(”UNKNOWN”)を示す判定不能情報を付与するとよい。
【0049】
以上説明したとおり第1実施形態によれば、注目ブロックに対して複数の閾値を設定し、当該複数の閾値に基づいて設定される各範囲のエッジ強度を有する画素の個数に基づいて文字領域・非文字領域・不確定領域を判定する。つまり、注目ブロックに含まれる画素のエッジ強度の分布に基づいて領域の判定を行う。また、不確定領域と判定された領域に関しては、後処理により領域を決定すればよい。このように構成することにより、従来に比較しより正確に文字領域を判定することが可能となる。特に、中間濃度の網点背景と近い色を持つ文字を含む領域は、非文字領域ではなく、不確定領域として判定されるので、後処理で属性を文字領域として修正するように構成すれば、より精度良く区別できるようになる。その結果、例えば、後工程における文字認識の精度をより高めることが可能となる。なお、判定不能であった領域に対しては不確定領域の情報を設定することにより、例えば、後工程において、ユーザから選択的に領域属性の指定を受け付ける(受付手段)ことが可能となる。
【0050】
(第2実施形態)
第2実施形態では、第1実施形態における文字領域か否かの判定と共に、文字領域及び非文字領域の各々において、当該領域が網点を含む領域か否かを併せて識別する例について説明する。つまり、第2実施形態では、”網点背景のみ”、”非網点背景のみ”、”網点背景+文字”、”非網点背景+文字”の4つの何れであるかを識別する。以下では、主に第1実施形態と異なる部分について説明する。
【0051】
<エッジ特徴量>
図10は、第2実施形態に係るエッジ特徴量の各パラメータを説明する図である。エッジ特徴導出用のパラメータは、基準閾値T(基準値)及び、当該基準閾値Tに基づいて求めた強エッジ判定用閾値ST(第2閾値)と弱エッジ判定用閾値WT(第1閾値)、及び、低閾値LT(第4閾値)の4つの閾値である。ここで、
基準閾値T
強エッジ判定用閾値ST=T+B
弱エッジ判定用閾値WT=T+C
低閾値LT=D
であり、B,C,Dは、ST>WT>T>Dを満たすように設定された予め指定される定数である。
【0052】
また、エッジ特徴は、注目ブロック内の各画素のエッジ強度と上述のパラメータに基づき導出されるものであり、具体的には、
強エッジ画素数:ST以上(第2範囲)のエッジ強度を有する画素の個数
弱エッジ画素数:WT以上かつST未満(第1範囲)のエッジ強度を有する画素の個数
基準エッジ画素数:T以上かつWT未満(第3範囲)のエッジ強度を有する画素の個数
低エッジ画素数:LT以上かつT未満(第4閾値以上かつ第3閾値未満である第4範囲)のエッジ強度を有する画素の個数
として表されるものである。
【0053】
図11は、第2実施形態に係るエッジ特徴量の各パラメータを導出するフローチャートである。なお、ステップS13301〜S13308については第1実施形態とほぼ同様である。ただし、ステップS13307において、画素のエッジ強度が基準閾値T未満の場合にS13309に進む点が異なる。
【0054】
ステップS13309では、当該画素のエッジ強度が低閾値LT(例えば40)以上か否かを判定する。画素のエッジ強度が低閾値LT以上である場合は、ステップS13310に進み当該画素を低閾値のエッジ画素と判定し、カウント値LNを1増加させる。一方、低閾値LT未満である場合、ステップS13311に進む。
【0055】
ステップS13311では、注目ブロック内に含まれる全画素に対して処理が完了したか否かを判定する。未処理の画素があれば、ステップS13303に戻り、次の画素について上述の判定を繰り返す。未処理の画素がなければ、ステップS13312に進み、エッジ特徴量(SN、WN、TN、LN)を出力する。
【0056】
<文字領域判定処理>
注目ブロックが非網点(下地)上の文字である場合、一様な色の下地においてはエッジ画素が発生しないので、低閾値エッジ画素数は少なくなる。一方、網点上の文字は、網点背景にある網点画素がエッジ画素となるため、低閾値エッジ画素数が非常に多い。文字の無い非網点背景(下地)は、低閾値におけるエッジ画素が少ない。また、文字の無い網点背景では、低閾値におけるエッジ画素が多い。そこで、以下のようにして”網点背景のみ”、”非網点背景のみ”、”網点背景+文字”、”非網点背景+文字”の4つの何れであるかを識別することが出来る。
【0057】
図12は、第2実施形態に係る領域判定処理のフローチャートである。なお、ステップS1411〜S1417は第1実施形態におけるステップS1401〜S1407とほぼ同様である。ただし、”文字領域”あるいは”非文字領域”と決定された後の処理が第1実施形態と異なる。
【0058】
注目ブロックが”文字領域”であると決定(S1413)された後、ステップS1418では、低閾値のエッジ画素の個数LNが所定個数以上であるか否か判定する。低閾値のエッジ画素の個数LNが所定個数以上の場合、網点背景上の文字(網点上文字領域)であると判定する(S1419)。一方、低閾値のエッジ画素の個数LNが所定個数未満の場合、下地上文字領域(非網点背景(下地)上に文字がある非網点上文字領域)であると判定する(S1420)。
【0059】
同様に、注目ブロックが”非文字領域”であると決定(S1415)された後、ステップS1421では、低閾値のエッジ画素の個数LNが所定個数以上であるか否か判定する。低閾値のエッジ画素の個数LNが所定個数以上の場合、網点(網点背景領域)であると判定する(S1422)。一方、低閾値のエッジ画素の個数LNが所定個数未満の場合、下地(非網点背景領域)であると判定する(S1423)。
【0060】
以上説明したとおり第2実施形態によれば、文字領域と非文字領域との判定に加え、網点背景と非網点背景との判定を併せて行うことが可能となる。
【0061】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
画像を、各々が所定数の画素を含む複数のブロックに分割する分割手段と、
注目ブロックに含まれる各画素のエッジ強度値を導出する導出手段と、
前記注目ブロックに含まれる画素のエッジ強度値の最大値および最小値に基づいて、該注目ブロックにおける基準値を導出する基準値導出手段と、
前記導出した基準値に基づいて、該基準値より大きい第1閾値と該第1閾値より大きい第2閾値とを設定する閾値設定手段と、
前記注目ブロックにおいて、前記第1閾値以上かつ前記第2閾値未満である第1範囲と前記第2閾値以上である第2範囲との各々に含まれるエッジ強度値を有する画素の個数を計数する計数手段と、
前記計数手段による計数の結果に基づいて、前記第2範囲のエッジ強度値を有する画素が存在する場合は前記注目ブロックを文字領域と判定し、前記第2範囲及び前記第1範囲のエッジ強度値を有する画素が存在しない場合は前記注目ブロックを非文字領域と判定する判定手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記閾値設定手段は、更に、前記基準値と等しい第3閾値を設定し、
前記計数手段は、更に、前記第3閾値以上かつ前記第1閾値未満である第3範囲に含まれるエッジ強度値を有する画素の個数を計数し、
前記判定手段は、更に、前記第2範囲のエッジ強度値を有する画素が存在せず、かつ、前記第1範囲のエッジ強度値を有する画素が存在し、かつ、前記第3範囲のエッジ強度値を有する画素の画素数が第1個数以上又は該第1個数より少ない第2個数未満である場合は、前記注目ブロックを非文字領域と判定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記判定手段は、更に、前記文字領域とも前記非文字領域とも判定しなかったブロックに対して判定不能であったことを示す判定不能情報を付与することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記閾値設定手段は、更に、前記基準値より小さい第4閾値を設定し、
前記計数手段は、更に、前記第4閾値以上かつ前記第3閾値未満である第4範囲に含まれるエッジ強度値を有する画素の個数を計数し、
前記判定手段は、更に、
前記文字領域と判定され、かつ、前記第4範囲のエッジ強度値を有する画素の個数が所定個数以上である場合は、網点上文字領域と判定し、
前記文字領域と判定され、かつ、前記第4範囲のエッジ強度値を有する画素の個数が所定個数未満である場合は、非網点上文字領域と判定し、
前記非文字領域と判定され、かつ、前記第4範囲のエッジ強度値を有する画素の個数が所定個数以上である場合は、網点背景領域と判定し、
前記非文字領域と判定され、かつ、前記第4範囲のエッジ強度値を有する画素の個数が所定個数未満である場合は、非網点背景領域と判定する
ことを特徴とする請求項1乃至3の何れか一項に記載の画像処理装置。
【請求項5】
前記判定不能情報が付与されたブロックに対して、該ブロックが前記文字領域及び前記非文字領域の何れであるかをユーザから受け付ける受付手段を更に備えることを特徴とする請求項1乃至4の何れか一項に記載の画像処理装置。
【請求項6】
前記基準値導出手段は、
前記複数のブロックに対して共通に設定された所定定数と、前記注目ブロックに含まれる画素のエッジ強度値の最大値および最小値とに基づいて、前記注目ブロックにおける基準値を導出することを特徴とする請求項1乃至5の何れか一項に記載の画像処理装置。
【請求項7】
分割手段が、画像を、各々が所定数の画素を含む複数のブロックに分割する分割工程と、
導出手段が、注目ブロックに含まれる各画素のエッジ強度値を導出する導出工程と、
基準値導出手段が、前記注目ブロックに含まれる画素のエッジ強度値の最大値および最小値に基づいて、該注目ブロックにおける基準値を導出する基準値導出工程と、
閾値設定手段が、前記導出した基準値に基づいて、該基準値より大きい第1閾値と該第1閾値より大きい第2閾値とを設定する閾値設定工程と、
計数手段が、前記注目ブロックにおいて、前記第1閾値以上かつ前記第2閾値未満である第1範囲と前記第2閾値以上である第2範囲との各々に含まれるエッジ強度値を有する画素の個数を計数する計数工程と、
判定手段が、前記計数の結果に基づいて、前記第2範囲のエッジ強度値を有する画素が存在する場合は前記注目ブロックを文字領域と判定し、前記第2範囲及び前記第1範囲のエッジ強度値を有する画素が存在しない場合は前記注目ブロックを非文字領域と判定する判定工程と、
を含むことを特徴とする画像処理装置の制御方法。
【請求項8】
コンピュータを、請求項1乃至6の何れか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項1】
画像を、各々が所定数の画素を含む複数のブロックに分割する分割手段と、
注目ブロックに含まれる各画素のエッジ強度値を導出する導出手段と、
前記注目ブロックに含まれる画素のエッジ強度値の最大値および最小値に基づいて、該注目ブロックにおける基準値を導出する基準値導出手段と、
前記導出した基準値に基づいて、該基準値より大きい第1閾値と該第1閾値より大きい第2閾値とを設定する閾値設定手段と、
前記注目ブロックにおいて、前記第1閾値以上かつ前記第2閾値未満である第1範囲と前記第2閾値以上である第2範囲との各々に含まれるエッジ強度値を有する画素の個数を計数する計数手段と、
前記計数手段による計数の結果に基づいて、前記第2範囲のエッジ強度値を有する画素が存在する場合は前記注目ブロックを文字領域と判定し、前記第2範囲及び前記第1範囲のエッジ強度値を有する画素が存在しない場合は前記注目ブロックを非文字領域と判定する判定手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記閾値設定手段は、更に、前記基準値と等しい第3閾値を設定し、
前記計数手段は、更に、前記第3閾値以上かつ前記第1閾値未満である第3範囲に含まれるエッジ強度値を有する画素の個数を計数し、
前記判定手段は、更に、前記第2範囲のエッジ強度値を有する画素が存在せず、かつ、前記第1範囲のエッジ強度値を有する画素が存在し、かつ、前記第3範囲のエッジ強度値を有する画素の画素数が第1個数以上又は該第1個数より少ない第2個数未満である場合は、前記注目ブロックを非文字領域と判定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記判定手段は、更に、前記文字領域とも前記非文字領域とも判定しなかったブロックに対して判定不能であったことを示す判定不能情報を付与することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記閾値設定手段は、更に、前記基準値より小さい第4閾値を設定し、
前記計数手段は、更に、前記第4閾値以上かつ前記第3閾値未満である第4範囲に含まれるエッジ強度値を有する画素の個数を計数し、
前記判定手段は、更に、
前記文字領域と判定され、かつ、前記第4範囲のエッジ強度値を有する画素の個数が所定個数以上である場合は、網点上文字領域と判定し、
前記文字領域と判定され、かつ、前記第4範囲のエッジ強度値を有する画素の個数が所定個数未満である場合は、非網点上文字領域と判定し、
前記非文字領域と判定され、かつ、前記第4範囲のエッジ強度値を有する画素の個数が所定個数以上である場合は、網点背景領域と判定し、
前記非文字領域と判定され、かつ、前記第4範囲のエッジ強度値を有する画素の個数が所定個数未満である場合は、非網点背景領域と判定する
ことを特徴とする請求項1乃至3の何れか一項に記載の画像処理装置。
【請求項5】
前記判定不能情報が付与されたブロックに対して、該ブロックが前記文字領域及び前記非文字領域の何れであるかをユーザから受け付ける受付手段を更に備えることを特徴とする請求項1乃至4の何れか一項に記載の画像処理装置。
【請求項6】
前記基準値導出手段は、
前記複数のブロックに対して共通に設定された所定定数と、前記注目ブロックに含まれる画素のエッジ強度値の最大値および最小値とに基づいて、前記注目ブロックにおける基準値を導出することを特徴とする請求項1乃至5の何れか一項に記載の画像処理装置。
【請求項7】
分割手段が、画像を、各々が所定数の画素を含む複数のブロックに分割する分割工程と、
導出手段が、注目ブロックに含まれる各画素のエッジ強度値を導出する導出工程と、
基準値導出手段が、前記注目ブロックに含まれる画素のエッジ強度値の最大値および最小値に基づいて、該注目ブロックにおける基準値を導出する基準値導出工程と、
閾値設定手段が、前記導出した基準値に基づいて、該基準値より大きい第1閾値と該第1閾値より大きい第2閾値とを設定する閾値設定工程と、
計数手段が、前記注目ブロックにおいて、前記第1閾値以上かつ前記第2閾値未満である第1範囲と前記第2閾値以上である第2範囲との各々に含まれるエッジ強度値を有する画素の個数を計数する計数工程と、
判定手段が、前記計数の結果に基づいて、前記第2範囲のエッジ強度値を有する画素が存在する場合は前記注目ブロックを文字領域と判定し、前記第2範囲及び前記第1範囲のエッジ強度値を有する画素が存在しない場合は前記注目ブロックを非文字領域と判定する判定工程と、
を含むことを特徴とする画像処理装置の制御方法。
【請求項8】
コンピュータを、請求項1乃至6の何れか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図9】
【図10】
【図11】
【図12】
【図1】
【図8】
【図3】
【図4】
【図5】
【図6】
【図7】
【図9】
【図10】
【図11】
【図12】
【図1】
【図8】
【公開番号】特開2012−205133(P2012−205133A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−68676(P2011−68676)
【出願日】平成23年3月25日(2011.3.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願日】平成23年3月25日(2011.3.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]