(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下に添付図面を参照して、画像処理装置、画像処理方法、およびプログラムの実施形態を詳細に説明する。
図1は、実施形態の画像処理装置100の機能的構成および電子データの入出力経路を示すブロック図である。本実施形態は、キャビネットCに保管されていたような紙文書Dをスキャニングにより電子データ化して保存、管理する場合の例である。
【0011】
画像処理装置100は、制御部1、記憶部2、スキャナ(画像読取装置)3、表示部4、および操作部5を備える。
【0012】
画像処理装置100は、例えば、複合機(MFP: Multifunction Peripheral)により実現可能である。また、PC(Personal Computer、パーソナルコンピュータ)により、制御部1、表示部4、および操作部5を実現し、記憶部2やスキャナ3をPCとは別体とし、これらを互いに通信可能に接続することにより画像処理装置100を構成してもよい。
【0013】
表示部4は、例えば、液晶ディスプレイなどにより実現され、画像処理装置100のオペレータに示す各種情報を表示する。操作部5は、例えば、タッチパネルやキーボードにより実現され、画像処理装置100のオペレータによる各種操作を受け付ける。
【0014】
スキャナ3は、紙文書Dに照射して反射した光をセンサに入射させることにより、紙文書Dの表示内容(画像)を電子データ化し、該電子データ化された画像すなわち画像データを出力する。
【0015】
記憶部2は、画像蓄積部21と、データベース22とを備える。画像蓄積部21は、見た目が紙文書Dに近い画像データを蓄積、保管する。データベース22は、紙文書Dから読み取った文字データを、画像データと関連付けて保存する。より具体的には、データベース22は、文字データを記録するカラムと、画像データの保管場所情報を記録するカラムとを有するテーブルを記憶する。なお、画像蓄積部21と、データベース22とは、別体であってもよい。
【0016】
制御部1は、CPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)(いずれも不図示)等から構成される。ROMは、CPUが実行する各種プログラムや各種データを記憶するものである。RAMは、CPUが各種プログラムを実行する際に一時的にデータやプログラムを記憶するものである。制御部1は、プログラムを実行することにより、画像処理部11、不要データ削除部12、文字認識部13、および保管制御部14として機能する。
【0017】
画像処理部11は、スキャナ3が出力した画像データを、画像蓄積部21での蓄積に適するデータ形式に変換して、出力する。
【0018】
ここで、
図2および
図3は、紙文書D1およびD2の外観の例を示す図である。紙文書D1,D2は、紙文書D(
図1参照)の具体例である。紙文書D1においては、上段、中段、下段にそれぞれ濃度が異なる文字列が印刷され、かつ、文字列の背景が着色されている。上段の文字列の濃度が最も濃く、中段の文字列の濃度が最も薄い。紙文書D2においては、文字列は紙文書D1と同じであるが、文字列の背景が異なり、背景として模様(網点)が印刷されている。スキャナ3が出力する画像データは、紙文書D1およびD2を概ね再現し、つまり、
図2および
図3とほぼ同じである。
【0019】
不要データ削除部12は、画像データから文字認識に不要なデータを削除する。言い換えると、不要データ削除部12は、画像データのうちの文字認識を妨げる領域に変換を加え、文字認識しやすい状態にする。より具体的には、不要データ削除部12は、スキャナ3が出力した画像データに、文字の背景の模様ないし色を取り除く処理(不要データ削除処理)を施し、画像データを文字認識に適する状態にして、出力する。ここで、
図4は、不要データ削除部12が出力する画像データの一例を示す図である。この画像データは、不要データ削除により狙い通りの状態になったもの、つまり不要データ削除の成功例である。この画像データでは、背景の模様ないし色が消失し、全ての文字列が黒表示されている。このような画像データが、次の文字認識の工程に好適である。
【0020】
文字認識部13は、不要データ削除部12による処理後の画像データを対象として文字認識を行って、文字データを得る。
【0021】
保管制御部14は、スキャナ3が紙文書Dを読み取って得た画像データと、文字認識部13が得た文字データとを、関連付けて、記憶部2に記憶させる。より詳細には、保管制御部14は、画像処理部11が出力した画像データを、画像蓄積部21に記憶させる。そして、保管制御部14は、文字データを、対応する画像データの保管場所情報とともに、データベース22に記憶させる。
【0022】
図5は、不要データ削除処理の流れの一例を示すフローチャートである。
図5に示すように、不要データ削除部12は、網点検出(ステップS1)、網点平滑(ステップS2)、エッヂ検出(ステップS3)、エッヂ部黒埋め(ステップS4)、および色削除(ステップS5)を行う。
【0023】
制御部1(不要データ削除部12)がステップS1(網点検出)を実行することにより、模様検出部が実現される。ここで、網点は、模様の一例である。制御部1(不要データ削除部12)がステップS2(網点平滑)を実行することにより、模様平滑部が実現される。制御部1(不要データ削除部12)がステップS3(エッヂ検出)を実行することにより、境界検出部が実現される。制御部1(不要データ削除部12)がステップS4(エッヂ部黒埋め)およびステップS5(色削除)を実行することにより、色変更部が実現される。
【0024】
ここで、不要データ削除処理の意義について説明する。
図2や
図3に示すような画像データを、不要データ削除処理を施さずに文字認識する場合、正常な文字認識が行えない。
【0025】
まず、
図2に示すような紙文書D1の画像データを対象とした従来の文字認識について説明する。上述したように、紙文書D1においては、上段、中段、下段にそれぞれ濃度が異なる文字列が印刷され、かつ、文字列の背景が着色されている。
【0026】
従来、文字認識の前処理として背景を消す手法の一つに、二値化がある。画像データを二値化すると、各画素が白と黒とのうちどちらか(例えば近い方)に変換され、これにより、画像データ全体が白と黒に分けられる。
【0027】
例えば紙文書D1の中段の文字列と背景色との濃度がほぼ同じである場合、背景を消すように二値化すると、背景とともに中段の文字列も消えてしまう。また逆に、中段の文字列を黒くするように二値化すると、紙面全体が黒くつぶれてしまい、全ての文字列が消えてしまう。よって、いずれの場合にも、正確な文字認識は不可能となる。
【0028】
また、従来、文字認識の前処理として背景を消す他の手法に、エッヂ部強調がある。画像データにエッヂ部強調が施されると、背景と文字との濃度差が広がる。これにより、文字認識しやすくする。しかし、画像データがスキャナ3で読み取ったものであると、背景色に斑(むら)があるため、斑がエッヂ部強調により強調されて、文字の認識率に悪影響することがある。
【0029】
次に、
図3に示すような紙文書D2の画像データを対象とした従来の文字認識について説明する。上述したように、紙文書D2においては、上段、中段、下段にそれぞれ濃度が異なる文字列が印刷され、かつ、文字列の背景として、模様(網点)が印刷されている。
【0030】
例えば紙文書D2の中段の文字列と、背景の網点と、の濃度がほぼ同じである場合、背景を消すように二値化すると、上述の紙文書D1の場合と同様に、背景とともに中段の文字列も消えてしまう。
図6は、従来の二値化の失敗例を示す図である。薄い文字列(中段の文字列)を黒くするように二値化した場合、背景の網点が文字列とともに黒くなるため、文字認識は不可能となる。
【0031】
また、紙文書D2の画像データにおける背景の網点を、エッヂ部強調により消そうとすると、文字のエッヂが強調されるとともに、網点もエッヂとして検出され強調されるため、結果として画像データが
図6のようになってしまう。
【0032】
上述のように、従来の前処理では、背景に模様ないし色がある画像データを、正常な文字認識を行える状態にすることができない。これに対して、本実施形態の不要データ削除処理は、背景に模様ないし色がある画像データを、正常な文字認識を行える状態にする。この不要データ削除処理(
図5参照)の各ステップについて、以下に説明する。
【0033】
ステップS1において、模様検出部は、スキャナ3が紙文書Dを読み取って得た画像データから、網点である領域を検出する。つまり、網点をなす画素を特定する。
図7は、模様検出部が行う処理を説明する図である。
【0034】
模様検出部は、まず、スキャナ3が出力した画像データに含まれる全画素の一つを注目画素g0とし、該画素g0の主走査方向両隣の複数画素g1〜g4について、任意の係数a,bおよびフィルタ強度cで演算を行う。この演算においては、注目画素g0に隣接する画素g2,g3に係数bを割り当て、それらに隣接する画素g1,g4に係数aを割り当てる。つまり、注目画素g0を挟んで対称となる画素に同じ係数を割り当てる。各係数a,bおよびフィルタ強度cは、演算により注目画素g0と周囲との明度の差が大きくなるよう決定する。そして、模様検出部は、上述の演算により、隣接画素の差を際立たせた上で、注目画素g0の主走査方向のデータ変化量を求める。
【0035】
続いて、模様検出部は、求めたデータ変化量に128を加算し、下記の式(1),(2)に基づいて、所定の変化量閾値と比較して二値化する。変化量閾値は任意に設定可能で、スキャナ3が読み取った画像データに応じて個別に設定される。また、128は、R(Red、赤),G(Green、緑),B(Blue、青)各色のデジタル値(0〜255)の個数256の半分である。
【0036】
データ変化量 + 128 ≧ 変化量閾値 ならば、1 …(1)
データ変化量 + 128 < 変化量閾値 ならば、0 …(2)
【0037】
次に、模様検出部は、上述の二値化の結果において、隣接画素で値(0または1)が異なる箇所が参照領域内にいくつあるかを計数し、変化点数を得る。続いて、模様検出部は、変化点数と変化点数閾値とを比較し、下記の式(3),(4)に基づいて、当該領域が網点であるか否かを判定する。変化点数閾値は任意に設定可能で、スキャナ3が読み取った画像データに応じて個別に設定される。
【0038】
変化点の数 > 変化点数閾値 ならば、網点 …(3)
変化点の数 ≦ 変化点数閾値 ならば、非網点 …(4)
【0039】
模様検出部は、各画素について、上述の処理を行う。また、模様検出部は、上述の処理を、画像データのR(Red)版,G(Green)版,B(Blue)版の各版それぞれに、行う。
【0040】
ステップS2において、模様平滑部は、スキャナ3が出力した画像データに、平滑処理を施して、網点を平滑化する。すなわち、模様平滑部は、模様検出部が検出した網点である領域とその周囲との色を近づけるなど、差を小さくして網点の領域を目立ちにくくする。
図8は、模様平滑部が行う処理を説明する図である。nおよびn´(いずれも任意)は、マトリクスのサイズであって、nは主走査方向、n´は副走査方向のものである。p,q,r,s(いずれも任意)はマトリクスの係数である。
【0041】
模様平滑部は、まず、スキャナ3が出力した画像データに含まれる全画素の一つを注目画素g10とし、該画素g10の上下の画素g11,g12、左右の画素g13,g14、および斜め上下の画素g15〜g18について、演算を行う。この演算においては、注目画素g10に係数pを割り当て、上下の画素g11,g12に係数qを割り当て、左右の画素g13,g14に係数rを割り当て、そして、斜め上下の画素g15〜g18に係数sを割り当てる。つまり、注目画素g10を挟んで対称となる画素に同じ係数を割り当てる。係数p,q,r,sは、演算により注目画素g10と周囲との明度の差が小さくなるよう決定する。
【0042】
模様平滑部は、各画素について、上述の処理を行う。また、模様平滑部は、上述の処理を、画像データのR版,G版,B版の各版それぞれに、行う。
【0043】
なお、画像データが網点などの模様を含まない場合、模様平滑部(ステップS2)は、スキャナ3が得た画像データから変更のない画像データを、境界検出部(ステップS3)へ出力する。
【0044】
ステップS3において、境界検出部は、模様平滑部による処理後の画像データから、文字である領域のエッヂ(縁、端、境界)にあたる画素を検出する。
図9は、境界検出部が行う処理を説明する図である。また、
図10は、境界検出部が処理に際して参照する条件表である。
【0045】
境界検出部は、まず、模様平滑部が出力した画像データに含まれる全画素の一つを注目画素g20とし、該画素g20の左右の画素をL,Rとし、上下の画素をU,Dとする。
境界検出部は、
図10に示す条件表を参照し、4つの画素L,R,U,Dと、4つの閾値h,i,j,k(いずれも任意)との比較結果と、模様検出部による網点検出結果とから、注目画素g20がエッヂであるか否かを判定する。各閾値h,i,j,kは、スキャナ3が読み取った画像データに応じて個別に設定される。
【0046】
例えば、注目画素g20が網点でない場合、模様検出部による網点検出結果が非網点となるので、境界検出部は、下記の式(5)〜(8)を満たせば「エッヂ」(文字の縁の一部)と判定し、それら以外であれば「非エッヂ」と判定する。
【0047】
L≧h かつ R<i …(5)
L<i かつ R≧j …(6)
U≧j かつ D<k …(7)
U<k かつ D≧h …(8)
【0048】
注目画素g20が網点である場合、注目画素g20は文字の縁の一部ではない。この場合、模様検出部による網点検出結果が「網点」となるので、境界検出部は、
図10の条件表に基づき、注目画素g20を「非エッヂ」と判定する。
【0049】
境界検出部は、各画素について、上述の処理を行う。また、境界検出部は、上述の処理を、画像データのR(Red)版,G(Green)版,B(Blue)版の各版それぞれに、行う。
【0050】
色変更部は、ステップS4において、模様平滑部による処理後の画像データに、境界検出部が検出したエッヂの内側を明度が低い色(例えば黒)で塗りつぶす処理(黒埋め)を施す。また、色変更部は、ステップS5において、エッヂの外側の黒以外の画素を明度が高い色(例えば白)に変える処理(色削除)を施す。これにより、色変更部は、エッヂの内側の色と外側の色とに、所定の明度差をつける。
【0051】
黒埋めにおいて、色変更部は、まず、「エッヂ」と判定された画素および該画素で囲まれた画素を、黒埋め対象領域と判定する。続いて、色変更部は、黒埋め対象領域を黒で埋める。黒で埋めるとは、例えば、黒がデジタル値で0ならば、黒埋め対象領域内の画素のR,G,Bの値がいくつであっても、全て0に変換することである。
【0052】
色削除において、色変更部は、まず、黒埋め対象領域に含まれない画素を、白埋め対象領域と判定する。続いて、色変更部は、白埋め対象領域内の黒以外の画素を、白に変える。白に変えるとは、例えば、白がデジタル値で255ならば、白埋め対象領域内の黒以外の画素のR,G,Bの値がいくつであっても、全て255に変換することである。
【0053】
上述のような不要データ削除処理を、
図2に示す紙文書D1の画像データに施す場合について説明する。該画像データには網点がないので、網点検出(ステップS1)では網点が検出されず、また、網点平滑(ステップS2)では処理対象画素がないために処理が行われない。よって、エッヂ検出(ステップS3)では、
図2に示す状態そのままの画像データが、処理対象となる。エッヂ検出では、文字列の部分でエッヂが検出される、つまり、文字の輪郭が検出される。そして、エッヂ部黒埋め(ステップS4)の処理後、画像データは、
図11に示す状態になる。
図11は、背景着色の画像データにエッヂ検出およびエッヂ部黒埋めが施された状態の一例を示す図である。この画像データに、色削除(ステップS5)の処理がなされると、画像データは、
図4に示す状態(不要データ削除成功状態)となる。これにより、文字認識部13において正常な文字認識が可能となる。
【0054】
次に、不要データ削除処理を、
図3に示す紙文書D2の画像データに施す場合について説明する。該画像データは文字列の背景が網点であるので、網点検出(ステップS1)で、網点が検出される。ここで検出された網点は、次の網点平滑(ステップS2)で平滑化される。これにより、画像データが
図12に示す状態になる。
図12は、背景網点の画像データに網点検出および網点平滑が施された状態の一例を示す図である。この画像データに、エッヂ検出(ステップS3)およびエッヂ部黒埋め(ステップS4)の処理がなされると、画像データは、上述の
図11に示す状態となる。その後さらに、色削除(ステップS5)の処理がなされると、画像データは、
図4に示す状態(不要データ削除成功状態)となる。これにより、文字認識部13において、正常な文字認識が可能となる。
【0055】
このように、本実施形態によれば、文字列の色、濃度が異なる場合や、文字列の背景が着色されていたり、背景に網点などの模様が配されている場合であっても、文字認識に際して、背景の色や模様を取り除いて、文字列の濃度を揃えるので、正常な文字認識を行うことができる。そして、これにより、紙文書D(D1,D2)に記載されている文字列から、電子データである文字データを得ることができる。
【0056】
さらに、本実施形態によれば、画像蓄積部21が、スキャナ3の読み取り画像データを、見た目を損なわない状態で保管するとともに、データベース22が、上述の文字データを、画像データと関連付けて保管する。これにより、画像データを探し出す際には、所望の画像データに含まれる文字列を文字データから検索すれば、文字データに関連付けられた画像データを探し出すことができる。つまり、所望の画像データを容易に検索することができる。
【0057】
なお、本実施形態では、紙文書Dをスキャニングする場合を例に説明したが、実施にあたって、文書は、紙媒体に印刷されたものに限らない。
【0058】
また、実施形態の画像処理装置を例えば複合機で実現する場合、該画像処理装置で実行されるプログラムは、ROM等に予め組み込まれて提供される。さらに、上述のプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述のプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。さらに、上述のプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0059】
上述のプログラムは、不要データ削除部、文字認識部、保管制御部、画像処理部などを含むモジュール構成となっている。CPU(プロセッサ)は、上記ROMからプログラムを読み出して実行することにより、上記各部を主記憶装置上にロードする。これにより、上記各部が、主記憶装置上に生成される。
【0060】
一方、実施形態の画像処理装置を例えばPCで実現する場合、該画像処理装置は、CPUなどの制御装置と、ROM(Read Only Memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備え、通常のコンピュータを利用したハードウェア構成となる。
【0061】
上述の画像処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。また、上述のプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述のプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0062】
上述のプログラムは、不要データ削除部、文字認識部、保管制御部、画像処理部などを含むモジュール構成となっている。CPU(プロセッサ)は、上記ROMからプログラムを読み出して実行することにより、上記各部をRAM上にロードする。これにより、上記各部が生成される。