説明

画像処理装置、画像処理方法及びコンピュータプログラム

【課題】文字部分と背景部分を高精度に区別するように入力画像を二値化することが可能な画像処理装置、画像処理方法、コンピュータプログラムを提供する。
【解決手段】画像読取装置10は、入力画像からエッジ画素を抽出するエッジ画素抽出部101と、エッジ画素毎の輝度値について第1ヒストグラムを生成する第1ヒストグラム生成部103と、エッジ画素毎の近傍画素における最小輝度値について第2ヒストグラムを生成する第2ヒストグラム生成部104と、第1ヒストグラム及び第2ヒストグラムに基づいて静的閾値を求める静的閾値算出部105と、入力画像について静的閾値を用いて二値化処理を行う二値化処理部106とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法及びコンピュータプログラムに関し、特に、入力画像を二値化する画像処理装置、画像処理方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
一般に、文書から文字等の情報を抽出して所定の処理を行う場合、その文書に表された画像について、文字部分と文字以外の背景部分を区別するために二値化処理が行われる。
【0003】
例えば、特許文献1には、小切手等の文書の画像データから文字部分だけを抽出する小切手読取装置が提案されている。この小切手読取装置は、文書をスキャンして得た画像データの濃度分布のヒストグラムを作成し、高濃度範囲に存在する山と低濃度範囲に存在する山の間に二値化閾値を設定し、この二値化閾値を用いて二値化処理を行う。しかし、例えば、背景が所定領域毎に異なったり、グラデーション変化する等、背景部分の輝度が位置によって異なる文書では、画像データの濃度分布のヒストグラムにおいて高濃度範囲と低濃度範囲が明確に分離できず、二値化閾値を適切に設定できない場合があった。
【0004】
そこで、特許文献2には、文書画像内の部分領域毎に異なる二値化閾値を用いるカラー文書画像認識装置が提案されている。このカラー文書画像認識装置は、文書画像から取得したグレースケール画像に対してエッジ抽出処理を実行し、その結果得られたエッジ画素の連結成分に基づいて部分領域を抽出する。そして、カラー文書画像認識装置は、部分領域毎に二値化閾値を求めて二値化処理を行う。このとき、カラー文書画像認識装置は、部分領域以外の領域は全て背景となるようにする。
【0005】
また、特許文献3には、入力した画像を分割したブロック毎に異なる二値化閾値を求める画像二値化装置が提案されている。この画像二値化装置は、入力した画像を複数の部分画像に分割する。そして、画像二値化装置は、注目する部分画像とその部分画像に隣接する八つの隣接部分画像の明度のヒストグラムデータを予め学習されたニューラルネットワークに入力し、ニューラルネットワークの出力値を閾値としてその注目する部分画像の二値化を実施する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−28362号公報
【特許文献2】特許第4077094号公報
【特許文献3】特開平6−113139号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献2に記載されたカラー文書画像認識装置は、部分領域毎に二値化閾値を求めることにより、背景部分の輝度が位置によって異なる文書でも精度よく二値化処理を行うことができる。しかしながら、特許文献2に記載されたカラー文書画像認識装置は、二値化処理において部分領域以外の領域を全て背景とするため、エッジ画素として抽出できないような背景部分との輝度差が小さい文字部分を抽出できないおそれがあった。
【0008】
また、特許文献3に記載された画像二値化装置も、所定のブロック毎に二値化閾値を求めることにより、背景部分の輝度が位置によって異なる文書でも精度よく二値化処理を行うことができる。しかしながら、特許文献3に記載された画像二値化装置は、予め学習された結果に基づいて閾値を予測するため、入力画像によっては閾値が適切にならない場合があった。
【0009】
そこで、本発明の目的は、文字部分と背景部分を高精度に区別するように入力画像を二値化することが可能な画像処理装置、画像処理方法及びそのような画像処理方法をコンピュータに実行させるコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0010】
本発明に係る画像処理装置は、入力画像からエッジ画素を抽出するエッジ画素抽出部と、エッジ画素毎の輝度値について第1ヒストグラムを生成する第1ヒストグラム生成部と、エッジ画素毎の近傍画素における最小輝度値について第2ヒストグラムを生成する第2ヒストグラム生成部と、第1ヒストグラム及び第2ヒストグラムに基づいて静的閾値を求める静的閾値算出部と、入力画像について静的閾値を用いて二値化処理を行う二値化処理部と、を有する。
【0011】
さらに、本発明に係る画像処理装置において、エッジ画素毎に、当該エッジ画素の輝度値と当該エッジ画素の近傍画素における最小輝度値に基づいて動的閾値を求める動的閾値算出部をさらに有し、二値化処理部は、エッジ画素及び近傍画素については対応する動的閾値を用いて二値化処理を行い、エッジ画素及び近傍画素以外の画素については前記静的閾値を用いて二値化処理を行うことが好ましい。
【0012】
さらに、本発明に係る画像処理装置において、静的閾値算出部は、第1ヒストグラムの低輝度側の収束点の輝度値が第2ヒストグラムの高輝度側の収束点の輝度値以上である場合、第1ヒストグラムの低輝度側の収束点の輝度値と第2ヒストグラムの高輝度側の収束点の輝度値の平均値を静的閾値とすることが好ましい。
【0013】
さらに、本発明に係る画像処理装置において、静的閾値算出部は、第1ヒストグラムの低輝度側の収束点の輝度値が第2ヒストグラムの高輝度側の収束点の輝度値未満である場合、第1ヒストグラムと第2ヒストグラムの交点の輝度値を静的閾値とすることが好ましい。
【0014】
さらに、本発明に係る画像処理装置において、動的閾値算出部は、エッジ画素の輝度値と最小輝度値にそれぞれ所定の重み係数を乗じた値を合計することにより動的閾値を求めることが好ましい。
【0015】
また、本発明に係る画像処理方法は、入力画像からエッジ画素を抽出するステップと、エッジ画素毎の輝度値について第1ヒストグラムを生成するステップと、エッジ画素毎の近傍画素における最小輝度値について第2ヒストグラムを生成するステップと、第1ヒストグラム及び第2ヒストグラムに基づいて静的閾値を求めるステップと、入力画像について静的閾値を用いて二値化処理を行うステップと、を含む。
【0016】
また、本発明に係るコンピュータプログラムは、入力画像からエッジ画素を抽出するステップと、エッジ画素毎の輝度値について第1ヒストグラムを生成するステップと、エッジ画素毎の近傍画素における最小輝度値について第2ヒストグラムを生成するステップと、第1ヒストグラム及び第2ヒストグラムに基づいて静的閾値を求めるステップと、入力画像について静的閾値を用いて二値化処理を行うステップと、をコンピュータに実行させる。
【発明の効果】
【0017】
本発明によれば、文字部分と背景部分を高精度に区別するように入力画像を二値化することが可能な画像処理装置、画像処理方法及びそのような画像処理方法をコンピュータに実行させるコンピュータプログラムを提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明を適用した画像処理システムの概略構成図である。
【図2】画像処理部の概略構成図である。
【図3】画像読取装置による二値化処理の動作を示すフローチャートである。
【図4】(a)〜(d)は、エッジ画素の抽出処理を説明するための模式図である。
【図5】動的閾値の算出処理を説明するための模式図である。
【図6】(a)、(b)は、異なる動的閾値で二値化した二値化画像である。
【図7】入力画像の一例である。
【図8】第1ヒストグラム及び第2ヒストグラムの例を示す図である。
【図9】入力画像の他の例である。
【図10】第1ヒストグラム及び第2ヒストグラムの例を示す図である。
【図11】図7に示す入力画像を二値化した二値化画像の例である。
【図12】図9に示す入力画像を二値化した二値化画像の例である。
【図13】画像処理部の他の例を示す概略構成図である。
【図14】二値化処理の動作の他の例を示すフローチャートである。
【図15】(a)、(b)は、入力画像及びその二値化画像の他の例である。
【図16】(a)、(b)は、入力画像及びその二値化画像のさらに他の例である。
【図17】他の画像処理システムの概略構成図である。
【発明を実施するための形態】
【0019】
以下、本発明に係る画像処理装置、画像処理方法及びコンピュータプログラムについて図を参照しつつ説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【0020】
図1は、本発明を適用した画像処理システムの概略構成を示す図である。図1に示すように、画像処理システム1は、画像読取装置10と、情報処理装置20とを有する。画像読取装置10は、例えばイメージスキャナ、デジタルカメラ等であり、情報処理装置20は、例えば画像読取装置10に接続して用いられるパーソナルコンピュータ等である。
【0021】
画像読取装置10は、画像入力部11と、第1画像メモリ部12と、第1インターフェース部13と、第1記憶部14と、第1中央処理部15と、画像処理部16とを有する。以下、画像読取装置10の各部について詳細に説明する。
【0022】
画像入力部11は、撮像対象物である原稿、風景、人物等を撮像する撮像センサを有する。なお、以下では、撮像対象物が原稿であるものとして説明する。この撮像センサは、1次元又は2次元に配列されたCCD、CMOS等の撮像素子と、撮像素子に撮像対象物の像を結像する光学系を備え、各撮像素子は、RGB各色に対応するアナログ値を出力する。そして、画像入力部11は、撮像センサが出力した各アナログ値をデジタル値に変換して画素データを生成し、生成した各画素データから構成される画像データ(以下、RGB画像と称する)を生成する。このRGB画像は、各画素データが、例えばRGB各色毎に8bitで表される計24bitのRGB値からなるカラー画像データとなる。
【0023】
そして、画像入力部11は、RGB画像の各画素のRGB値を輝度値及び色差値(YUV値)に変換した画像(以下、入力画像と称する)を生成し、第1画像メモリ部12に保存する。なお、YUV値は、例えば以下の式により算出することができる。
Y値= 0.30×R値+0.59×G値+0.11×B値 (1)
U値=−0.17×R値−0.33×G値+0.50×B値 (2)
V値= 0.50×R値−0.42×G値−0.08×B値 (3)
【0024】
第1画像メモリ部12は、不揮発性半導体メモリ、揮発性半導体メモリ、磁気ディスク等の記憶装置を有する。第1画像メモリ部12は、画像入力部11と接続され、画像入力部11により生成された入力画像を保存するとともに、画像処理部16と接続され、画像処理部16により入力画像に対して画像処理がなされた各種の処理画像を保存する。
【0025】
第1インターフェース部13は、例えばUSB等のシリアルバスに準じるインターフェース回路を有し、情報処理装置20と電気的に接続して画像データ及び各種の情報を送受信する。また、第1インターフェース部13にフラッシュメモリ等を接続して第1画像メモリ部12に保存されている画像データを保存するようにしてもよい。
【0026】
第1記憶部14は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、第1記憶部14には、画像読取装置10の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。
【0027】
第1中央処理部15は、画像入力部11、第1画像メモリ部12、第1インターフェース部13、第1記憶部14、及び画像処理部16と接続され、これらの各部を制御する。第1中央処理部15は、画像入力部11の入力画像生成制御、第1画像メモリ部12の制御、第1インターフェース部13を介した情報処理装置20とのデータ送受信制御、第1記憶部14の制御、画像処理部16による画像処理の制御等を行う。
【0028】
画像処理部16は、第1画像メモリ部12に接続され、入力画像を二値化するための閾値を算出して二値化処理を行う。この画像処理部16は、第1中央処理部15に接続され、第1中央処理部15からの制御により予め第1記憶部14に記憶されているプログラムに基づいて動作する。あるいは、画像処理部16は、独立した集積回路、マイクロプロセッサ、ファームウェア等で構成されてもよい。
【0029】
情報処理装置20は、第2インターフェース部21と、第2画像メモリ部22と、表示部23と、入力部24と、第2記憶部25と、第2中央処理部26とを有する。以下、情報処理装置20の各部について詳細に説明する。
【0030】
第2インターフェース部21は、画像読取装置10の第1インターフェース部13と同様のインターフェース回路を有し、情報処理装置20と画像読取装置10とを接続する。
【0031】
第2画像メモリ部22は、画像読取装置10の第1画像メモリ部12と同様の記憶装置を有する。第2画像メモリ部22には、第2インターフェース部21を介して画像読取装置10から受信した画像データが保存される。
【0032】
表示部23は、液晶、有機EL等から構成されるディスプレイ及びディスプレイに画像データを出力するインターフェース回路を有し、第2画像メモリ部22と接続されて第2画像メモリ部22に保存されている画像データをディスプレイに表示する。
【0033】
入力部24は、キーボード、マウス等の入力装置及び入力装置から信号を取得するインターフェース回路を有し、利用者の操作に応じた信号を第2中央処理部26に出力する。
【0034】
第2記憶部25は、画像読取装置10の第1記憶部14と同様のメモリ装置、固定ディスク装置、可搬用の記憶装置等を有する。第2記憶部25には、情報処理装置20の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。
【0035】
第2中央処理部26は、第2インターフェース部21、第2画像メモリ部22、表示部23、入力部24及び第2記憶部25と接続され、これらの各部を制御する。第2中央処理部26は、第2インターフェース部21を介した画像読取装置10とのデータ送受信制御、第2画像メモリ部22の制御、表示部23の表示制御、入力部24の入力制御、第2記憶部25の制御等を行う。
【0036】
図2は、画像処理部16の概略構成を示す図である。図2に示すように画像処理部16は、エッジ画素抽出部101、動的閾値算出部102、第1ヒストグラム生成部103、第2ヒストグラム生成部104、静的閾値算出部105及び二値化処理部106等を有する。
【0037】
図3は、画像読取装置10による閾値算出処理及び二値化処理の動作を示すフローチャートである。以下、図3に示したフローチャートを参照しつつ、閾値算出処理及び二値化処理の動作を説明する。なお、以下に説明する動作のフローは、予め第1記憶部14に記憶されているプログラムに基づき主に第1中央処理部15により画像読取装置10の各要素と協同して実行される。
【0038】
最初に、画像入力部11は、撮像対象物(原稿)を撮影した入力画像を生成し、第1画像メモリ部12に保存する(ステップS301)。
【0039】
次に、エッジ画素抽出部101は、第1画像メモリ部12に保存された入力画像の輝度成分(以下、入力画像の輝度成分による画像を輝度画像と称する)を読み出し、輝度画像の各画素に対して二次差分フィルタ等のエッジ検出フィルタを適用してその出力値を画素値とするエッジ画像を生成する(ステップS302)。エッジ画素抽出部101が用いる二次差分フィルタの例を次式に示す。
【数1】

【0040】
なお、二次差分フィルタによる出力値はノイズの影響を強く受ける場合があるので、エッジ画素抽出部101は、エッジ画像の各画素に対して、さらに平均フィルタ、ガウシアンフィルタ等の平滑フィルタを適用してノイズの影響を低減するようにしてもよい。
【0041】
次に、エッジ画素抽出部101は、エッジ画像を用いて輝度画像からエッジ画素を抽出する(ステップS303)。
【0042】
図4(a)〜(d)は、エッジ画素の抽出処理について説明するための図である。図4(a)、(c)に示すグラフ400、420は、エッジ画像において水平方向に隣接する画素の画素値を表し、図4(b)、(d)に示すグラフ410、430は、そのエッジ画像上の画素に対応する輝度画像上の画素の輝度値を表す。グラフ400、420の横軸はエッジ画像上の水平位置を示し、縦軸は画素値を示す。また、グラフ410、430の横軸は輝度画像上の水平位置を示し、縦軸は輝度値を示す。
【0043】
エッジ画素抽出部101は、まず、エッジ画像において水平方向に隣接する画素の画素値が正から負へ又は負から正へ符号変化する画素のうち、画素値が負である方の画素401、421を抽出する。次に、エッジ画素抽出部101は、抽出した画素401、421に対応する輝度画像上の画素411、431の水平方向の両隣の画素412及び413、画素432及び433の輝度値の差の絶対値(以下、隣接差分値と称する)414、434を算出する。そして、エッジ画素抽出部101は、算出した隣接差分値が閾値Wthを越えるか否かを判定し、隣接差分値が閾値Wthを越える場合、その輝度画像上の画素を水平エッジ画素とする。この閾値Wthは、例えば、人が画像上の輝度の違いを目視により判別可能な輝度値の差(例えば20)に設定することができる。また、エッジ画素抽出部101は、エッジ画像及び輝度画像について垂直方向にも同様の処理を行い、垂直エッジ画素を抽出する。そして、エッジ画素抽出部101は、水平エッジ画素又は垂直エッジ画素の何れかとして抽出された画素をエッジ画素とする。あるいは、水平エッジ画素及び垂直エッジ画素の両方に抽出された画素をエッジ画素としてもよい。
【0044】
次に、動的閾値算出部102は、輝度画像において、エッジ画素及びそのエッジ画素から所定範囲内にある画素(以下、近傍画素と称する)を二値化するための閾値(以下、動的閾値と称する)を算出する(ステップS304)。
【0045】
入力画像において、背景部分の輝度が位置によって異なる場合、二値化処理で文字部分と背景部分を適切に区別するためには、文字部分の近傍領域毎、つまりエッジ画素及びその近傍画素毎に二値化閾値を定めることが好ましい。そこで、動的閾値算出部102は、エッジ画素及びその近傍画素毎に動的閾値を算出する。
【0046】
図5は、動的閾値の算出処理について説明するための図である。図5に示すグラフ500は、輝度画像において水平方向に隣接する画素の輝度値を表す。グラフ500の横軸は輝度画像上の水平位置を示し、縦軸は輝度値を示す。グラフ500では、画素501がエッジ画素として抽出されており、水平位置が右側の画素ほど輝度が低く(黒く)、左側の画素ほど輝度が高く(白く)なっている。この場合、エッジ画素501の近傍において文字部分と背景部分を正しく区別するためには、エッジ部分を形成する画素のうち十分に輝度の低い画素502とその画素より輝度の高い画素を区別できるように、画素502の輝度値とエッジ画素501の輝度値の間503に動的閾値を定めることが好ましい。そこで、動的閾値算出部102は、エッジ画素の輝度値と、そのエッジ画素の近傍画素のうち最も輝度値の低い画素の輝度値(以下、最小輝度値と称する)との間に動的閾値を定める。例えば、動的閾値算出部102は、エッジ画素の輝度値と、そのエッジ画素の近傍画素の最小輝度値の平均値を動的閾値とする。
【0047】
あるいは、動的閾値算出部102は、エッジ画素の輝度値と、そのエッジ画素の近傍画素の最小輝度値にそれぞれ所定の重み係数を乗じた値を合計した値を動的閾値としてもよい。その場合、各重み係数は、例えば、予め利用者によって情報処理装置20の入力部24から入力されるようにする。情報処理装置20の第2中央処理部26は、入力された重み係数を、第2インターフェース部21を介して画像読取装置10に送信する。一方、画像読取装置10の第1中央処理部15は、第1インターフェース部13を介して重み係数を受信すると、受信した重み係数を第1画像メモリ部12に記憶し、動的閾値算出部102は、第1画像メモリ部12に記憶された重み係数を用いて動的閾値を算出する。
【0048】
図6(a)、(b)は、異なる動的閾値で生成される二値化画像の違いを説明するための図である。図6(a)は、エッジ画素の近傍画素の最小輝度値の重みをエッジ画素の輝度値の重みより大きくしたときの二値化画像600を表す。この場合、動的閾値はエッジ画素の近傍画素の最小輝度値に近くなり、動的閾値算出部102は、その動的閾値を用いて生成される二値化画像600において文字部分を細くすることができる。一方、図6(b)は、エッジ画素の輝度値の重みをエッジ画素の近傍画素の最小輝度値の重みより大きくしたときの二値化画像610を表す。この場合、動的閾値はエッジ画素の輝度値に近くなり、動的閾値算出部102は、その動的閾値を用いて生成される二値化画像610における文字部分を太くすることができる。
【0049】
なお、近傍画素は、例えば、注目するエッジ画素を中心とする3×3画素のうちそのエッジ画素を除いた画素とする。あるいは、近傍画素は、注目するエッジ画素を中心とする5×5画素又は7×7画素のうちそのエッジ画素を除いた画素としてもよい。近傍画素の範囲が大きいほど、動的閾値の算出処理の負荷は増大するが、二値化処理で文字部分と背景部分を正しく区別できるようになる。
【0050】
また、動的閾値算出部102は、あるエッジ画素、又はそのエッジ画素の近傍画素が、他のエッジ画素の近傍画素にもなる場合、それぞれのエッジ画素について算出された動的閾値の平均値をその画素の動的閾値とする。
【0051】
次に、第1ヒストグラム生成部103は、各エッジ画素における輝度値のヒストグラム(以下、第1ヒストグラムと称する)を生成する(ステップS305)。
【0052】
次に、第2ヒストグラム生成部104は、輝度画像において各エッジ画素毎にそのエッジ画素の近傍画素を抽出し、抽出した近傍画素の最小輝度値のヒストグラム(以下、第2ヒストグラムと称する)を生成する(ステップS306)。
【0053】
第2ヒストグラム生成部104が抽出する近傍画素の範囲は、動的閾値算出部102が抽出する近傍画素の範囲と同じとする。あるいは、第2ヒストグラム生成部104が抽出する近傍画素の範囲は、動的閾値算出部102が抽出する近傍画素の範囲と変えてもよい。
【0054】
図7は、入力画像の一例である。図7に示す入力画像700では、単一な輝度で表された背景701に文字702が示される。
【0055】
図8は、図7に示す入力画像700から生成された第1ヒストグラム及び第2ヒストグラムの例を示す図である。図8の横軸は、各エッジ画素又は各エッジ画素の近傍画素の輝度値を示し、縦軸は、各ヒストグラムの分布値(分布数)の最大値が1になるように正規化したヒストグラムの分布率を示す。図8のグラフ800では、グラフ801が第1ヒストグラムであり、グラフ802が第2ヒストグラムである。各エッジ画素について生成された第1ヒストグラムは灰色の背景701の輝度値と黒色の文字702の輝度値の間に分布し、各エッジ画素の近傍画素の最小輝度値について生成された第2ヒストグラムは黒色の文字702の輝度値付近に分布する。
【0056】
図9は、入力画像の他の例である。図9に示す入力画像900では、輝度がグラデーション変化する背景901に黒色文字902が示されるとともに、黒色背景903、灰色背景905に白色文字904、906が示される。
【0057】
図10は、図9に示す入力画像900から生成された第1ヒストグラム及び第2ヒストグラムの例を示す図である。図10の横軸は、各エッジ画素又は各エッジ画素の近傍画素の輝度値を示し、縦軸は、各ヒストグラムの分布値(分布数)の最大値が1になるように正規化したヒストグラムの分布率を示す。図10のグラフ1000では、グラフ1001が第1ヒストグラムであり、グラフ1002が第2ヒストグラムである。入力画像900において文字の輝度値と背景の輝度値は組合せが多様であるため、グラフ1000に示される第1ヒストグラム及び第2ヒストグラムは、図8のグラフ800に示される第1ヒストグラム及び第2ヒストグラムと比較してそれぞれ広範囲に分布する。
【0058】
次に、静的閾値算出部105は、エッジ画素及びそのエッジ画素の近傍画素以外の画素について二値化処理をするための閾値(以下、静的閾値と称する)を算出する(ステップS307)。
【0059】
以下、静的閾値の算出について説明する。前述した通り、エッジ画素及びその近傍画素については、エッジ画素及びその近傍画素毎に、エッジ画素の輝度値とその近傍画素の最小輝度値との間に動的閾値を定める。一方、入力画像において、背景部分の輝度が位置により異なる場合、背景部分を適切に二値化するためには、エッジ画素及びその近傍画素以外の画素についても、エッジ部分を形成する画素のうち十分に輝度の低い画素の輝度値とそれらの画素より輝度の高い画素の輝度値との間に静的閾値を定めることが好ましい。そこで、静的閾値算出部105は、第1ヒストグラムの分布率が最大となる輝度値Xemaxと第2ヒストグラムの分布率が最大となる輝度値Xnmaxとの間に静的閾値を定める。
【0060】
例えば、静的閾値算出部105は、第1ヒストグラムの分布率の低輝度側の収束点Pe0と第2ヒストグラムの分布率の高輝度側の収束点Pn1を求める。静的閾値算出部105は、例えば、それ以下の輝度値では第1ヒストグラムの分布率が比率Th0以下となる点を収束点Pe0とし、それ以上の輝度値では第2ヒストグラムの分布率が比率Th0以下となる輝度値の点を収束点Pn1とする。この比率Th0は、例えば、0.01とすることができる。そして、図8のグラフ800のように収束点Pe0の輝度値Xe0が収束点Pn1の輝度値Xn1以上である場合、静的閾値算出部105は、輝度値Xe0と輝度値Xn1の平均値XTを静的閾値とする。あるいは、この場合、輝度値Xe0と輝度値Xn1の間の任意の点を静的閾値としてよく、例えば、輝度値Xe0と輝度値Xn1の重み付き平均値、輝度値Xe0又は輝度値Xn1のうちの何れかを静的閾値としてもよい。一方、図10のグラフ1000のように収束点Pe0の輝度値Xe0が収束点Pn1の輝度値Xn1未満である場合、静的閾値算出部105は、第1ヒストグラムと第2ヒストグラムの交点の輝度値XCを静的閾値とする。あるいは、この場合、輝度値XCと第2ヒストグラムの分布率が最大となる輝度値Xnmaxの間の任意の点を静的閾値としてよく、例えば、輝度値XCと輝度値Xnmaxの平均値、輝度値XCと輝度値Xnmaxの重み付き平均値又は輝度値Xnmaxのうちの何れかを静的閾値としてもよい。なお、文字部分は黒色で表される場合が多いため、静的閾値が第2ヒストグラムの分布率の高輝度側の収束点Pn1の輝度値に近いほど、二値化処理でより明確に文字部分とそれ以外の部分を区別できるようになる。
【0061】
動的閾値算出部102により動的閾値が求められ、静的閾値算出部105により静的閾値が求められると、二値化処理部106は、第1画像メモリ部12から輝度画像を読み出して輝度画像の二値化処理を行い、二値化処理を行った二値化画像を第1画像メモリ部12に保存する(ステップS308)。
【0062】
このとき、二値化処理部106は、輝度画像のうち、各エッジ画素及びその近傍画素については対応する動的閾値を用いて二値化処理を行い、エッジ画素及び近傍画素以外の画素については静的閾値を用いて二値化処理を行う。
【0063】
図11は、図7に示す入力画像700を二値化した二値化画像の一例である。図11は、背景701の輝度値と文字702の輝度値の間に静的閾値が設定されたときの二値化画像1100を示す。この場合、二値化処理部106は、文字702の近傍については動的閾値を用いてエッジ部分を黒に、エッジ部分以外を白に二値化し、文字702の近傍以外の部分については静的閾値を用いて全て白に二値化する。
【0064】
図12は、図9に示す入力画像900を二値化した二値化画像の一例である。図12は、輝度がグラデーション変化する背景901のうち最も輝度の低い(黒色に近い)画素の輝度値と黒色文字902の輝度値との間に静的閾値が設定された二値化画像1200を示す。この場合、二値化処理部106は、黒色文字902の近傍については動的閾値を用いてエッジ部分を黒に、エッジ部分以外を白に二値化し、背景901内の黒色文字902の周辺以外の部分については静的閾値を用いて全て白に二値化する。また、二値化処理部106は、白色文字904の近傍については動的閾値を用いてエッジ部分を黒に、エッジ部分以外を白に二値化し、黒色背景903内の白色文字904の近傍以外の部分については静的閾値を用いて全て黒に二値化する。さらに、二値化処理部106は、白色文字906の近傍については動的閾値を用いてエッジ部分を黒に、エッジ部分以外を白に二値化し、灰色背景905内の白色文字906の近傍以外の部分については静的閾値を用いて全て白に二値化する。
【0065】
このように、二値化処理部106は、入力画像900に輝度値がグラデーション変化する背景901、又は、輝度値の異なる複数の背景903、905が含まれる場合でも、精度よく文字部分のみを抽出することができる。
【0066】
次に、第1中央処理部15は、第1画像メモリ部12に保存された入力画像及び二値化画像を第1インターフェース部13を介して情報処理装置20に送信し(ステップS309)、一連のステップを終了する。
【0067】
一方、情報処理装置20の第2中央処理部26は、第2インターフェース部21を介して画像読取装置10から入力画像及び二値化画像を受信すると、受信した入力画像及び二値化画像を関連付けて第2画像メモリ部22に保存する。そして、第2中央処理部26は、利用者が目視確認できるように入力画像と二値化画像を関連付けて表示部23に表示させる。
【0068】
また、第2中央処理部26は、二値化画像から文字を読み取り、文字データに変換してもよい。これにより、情報処理装置20は、二値化画像から高精度に文字データを抽出できる。あるいは、情報処理装置20の第2インターフェース部21にOCR装置をさらに接続し、二値化画像をOCR装置に送信してもよい。これにより、外部のOCR装置で文字の読取処理等を実施することができる。
【0069】
なお、ステップS305〜S307の第1ヒストグラムの生成処理、第2ヒストグラムの生成処理及び静的閾値の算出処理は、ステップS304の動的閾値算出処理より前に実施してもよい。また、画像読取装置10が複数のCPUを備えること等により、並列処理が可能な場合には、ステップS304の動的閾値算出処理と、ステップS305〜S307の第1ヒストグラムの生成処理、第2ヒストグラムの生成処理及び静的閾値の算出処理を並列に実施してもよい。
【0070】
以上詳述したように、図3に示したフローチャートに従って動作することによって、画像読取装置10は、文字部分と背景部分を精度よく区別できるように二値化閾値を定めることが可能となり、入力画像を高精度に二値化することが可能となった。
【0071】
図13は、画像処理部の他の例を示す概略構成図である。図13に示す画像処理部17は、図1に示す画像読取装置10において、画像処理部16の代りに用いることが可能である。図13に示す画像処理部17は、図2に示す画像処理部16と異なり、動的閾値算出部102を有さない。
【0072】
図14は、図13に示す画像処理部17を用いる画像読取装置10の二値化処理の動作の例を示すフローチャートである。以下、図14に示したフローチャートを参照しつつ、二値化処理の動作の他の例を説明する。このフローチャートは、図1に示す画像読取装置10において、前述した図3に示すフローチャートの代りに実行することが可能である。なお、以下に説明する動作のフローは、予め第1記憶部14に記憶されているプログラムに基づき主に第1中央処理部15により画像読取装置10の各要素と協同して実行される。
【0073】
図14に示すフローチャートでは、図3に示すフローチャートと異なり、画像読取装置10は、ステップS304の動的閾値の算出処理を実施せず、静的閾値のみを用いて二値化処理を行う。また、図14に示すステップS1401〜S1403、S1404〜S1406、S1408の処理は、図3に示すステップS301〜S303、S305〜S307、S309の処理と同じであるため、説明を省略し、以下では、ステップS1407の処理についてのみ説明する。
【0074】
ステップS1407において、二値化処理部106は、輝度画像の全画素に対して、静的閾値を用いて二値化処理を行う。
【0075】
図9に示す入力画像900を静的閾値のみを用いて二値化した場合、灰色背景905及び白色文字906の部分が全て白色になり、白色文字906による文字の情報が失われるおそれがある。しかし、図7に示す入力画像700を静的閾値のみを用いて二値化した場合は、図3のステップS308のときと同様に、図11に示す二値化画像1100を生成することができる。
【0076】
図15(a)は、入力画像の他の例であり、図15(b)は、その入力画像について図14に示すフローチャートに従って二値化した二値化画像である。図15(a)に示す入力画像1500は、輝度値がグラデーション変化する背景1501と、その背景1501の輝度値との差の小さい輝度値の文字1502から構成される。このような入力画像1500に対して、静的閾値算出部105は、背景1501のうち最も輝度の低い(黒色に近い)輝度値と文字1502の輝度値との間に静的閾値を定める。これにより、二値化処理部106は、その静的閾値のみを用いて文字1502を抽出した二値化画像1510を生成できる。
【0077】
図16(a)は、入力画像のさらに他の例であり、図16(b)は、その入力画像について図14に示すフローチャートに従って二値化した二値化画像である。図16(a)に示す入力画像1600は、輝度値の異なる複数の灰色背景1601〜1603及び黒色文字1604、並びに黒色背景1605及び白色文字1606から構成される。このような入力画像1600に対して、静的閾値算出部105は、灰色背景1601〜1603のうち最も輝度の低い灰色背景1601の輝度値と黒色文字1604の輝度値との間に静的閾値を定める。これにより、二値化処理部106は、その静的閾値のみを用いて黒色文字1604及び白色文字1606を抽出した二値化画像1610を生成できる。
【0078】
つまり、輝度画像において背景の輝度値の分布が広範囲にわたらないような場合(特に文字部分が黒色のみで表される場合)には、静的閾値のみを用いて二値化処理を行っても、文字部分と背景部分を適切に区別することができる。この場合、動的閾値の算出処理が不要になるため、処理負荷を低減することができる。
【0079】
以上詳述したように、図14に示したフローチャートに従って動作することによって、画像読取装置10は、処理負荷を低減しつつ、入力画像を高精度に二値化することが可能となった。
【0080】
図17は、他の画像処理システム2の概略構成を示す図である。図17に示す画像処理システム2と、図1に示す画像処理システム1との差異は、画像処理部を備える装置が異なる点である。すなわち、画像処理システム2では、画像読取装置30ではなく、情報処理装置40が画像処理部47を有する。この画像処理部47は、画像読取装置10の画像処理部16又は画像処理部17と同様の機能を有する。
【0081】
図17に示す画像処理システム2では、前述した図3、14に示す処理とほぼ同様の処理を実行することができる。以下、図3のフローチャートに示される判定処理についてどのように適応されるかを説明する。画像処理システム2では、ステップS301の処理は、予め第1記憶部34に記憶されているプログラムに基づき主に第1中央処理部35により画像読取装置30の各要素と協同して実行され、ステップS302〜S308の処理は、予め第2記憶部45に記憶されているプログラムに基づき主に第2中央処理部46により情報処理装置40の各要素と協同して実行される。
【0082】
ステップS301において、画像読取装置30の画像入力部31が入力画像を生成して第1画像メモリ部32に保存し、第1中央処理部35がその入力画像を第1インターフェース部33を介して情報処理装置40に送信する。一方、情報処理装置40の第2中央処理部46は、第2インターフェース部41を介して画像読取装置30から入力画像を受信すると、受信した入力画像を第2画像メモリ部42に保存する。
【0083】
ステップS302〜S308の処理は、情報処理装置40の画像処理部47によって実行される。これらの処理の動作は、画像処理システム1について説明した画像読取装置10の画像処理部16によって実行される場合と同様である。なお、画像処理システム2では、情報処理装置40の画像処理部47において二値化処理が実行されるので、ステップS309における各画像の送信処理は省略される。
【0084】
同様に、画像処理システム2に図14のフローチャートに示される判定処理が適用される場合、ステップS1401の処理は、予め第1記憶部34に記憶されているプログラムに基づき主に第1中央処理部35により画像読取装置30の各要素と協同して実行され、ステップS1402〜S1407の処理は、予め第2記憶部45に記憶されているプログラムに基づき主に第2中央処理部46により情報処理装置40の各要素と協同して実行される。ステップS1401の処理の動作は、ステップS301の処理の動作と同様の動作となる。また、ステップS1402〜S1407の処理は情報処理装置40の画像処理部47によって実行され、ステップS1408の処理は省略される。
【0085】
このように、情報処理装置40が画像処理部47を備えて閾値算出処理及び二値化処理を実行する場合も、画像読取装置が画像処理部を備えて閾値算出処理及び二値化処理を実行する場合と同様の効果を得ることができる。
【0086】
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、画像読取装置と情報処理装置の機能分担は、図1及び図17に示す画像処理システムの例に限られず、画像処理部内の各部を含めて画像読取装置及び情報処理装置の各部を画像読取装置と情報処理装置の何れに配置するかは適宜変更可能である。あるいは、画像読取装置と情報処理装置を一つの装置で構成してもよい。
【0087】
また、図1に示す画像処理システム1において、画像読取装置10の第1インターフェース部13と、情報処理装置20の第2インターフェース部21を直接接続するのではなく、例えばインターネット、電話回線網(携帯端末回線網、一般電話回線網を含む)、イントラネット等のネットワークを介して接続してもよい。その場合、第1インターフェース部13及び第2インターフェース部21に、接続するネットワークの通信インターフェース回路を備える。
【0088】
同様に、図17に示す画像処理システム2においても、画像読取装置30の第1インターフェース部33と、情報処理装置40の第2インターフェース部41をネットワークを介して接続してもよい。その場合、クラウドコンピューティングの形態で画像処理のサービスを提供できるように、ネットワーク上に複数の情報処理装置40を分散して配置し、各情報処理装置40が協同して、閾値算出処理、二値化処理、画像データの保存等を分担するようにしてもよい。これにより、画像処理システム2は、複数の画像読取装置30が生成した入力画像について、効率よく二値化処理を実施できる。
【符号の説明】
【0089】
1、2 画像処理システム
10、30 画像読取装置
11、31 画像入力部
12、32 第1画像メモリ部
13、33 第1インターフェース部
14、34 第1記憶部
15、35 第1中央処理部
16、17、47 画像処理部
20、40 情報処理装置
21、41 第2インターフェース部
22、42 第2画像メモリ部
23、43 表示部
24、44 入力部
25、45 第2記憶部
26、46 第2中央処理部
101 エッジ画素抽出部
102 動的閾値算出部
103 第1ヒストグラム生成部
104 第2ヒストグラム生成部
105 静的閾値算出部
106 二値化処理部

【特許請求の範囲】
【請求項1】
入力画像からエッジ画素を抽出するエッジ画素抽出部と、
前記エッジ画素毎の輝度値について第1ヒストグラムを生成する第1ヒストグラム生成部と、
前記エッジ画素毎の近傍画素における最小輝度値について第2ヒストグラムを生成する第2ヒストグラム生成部と、
前記第1ヒストグラム及び前記第2ヒストグラムに基づいて静的閾値を求める静的閾値算出部と、
前記入力画像について前記静的閾値を用いて二値化処理を行う二値化処理部と、
を有することを特徴とする画像処理装置。
【請求項2】
前記エッジ画素毎に、当該エッジ画素の輝度値と当該エッジ画素の近傍画素における最小輝度値に基づいて動的閾値を求める動的閾値算出部をさらに有し、
前記二値化処理部は、前記エッジ画素及び前記近傍画素については対応する前記動的閾値を用いて二値化処理を行い、前記エッジ画素及び前記近傍画素以外の画素については前記静的閾値を用いて二値化処理を行う、請求項1に記載の画像処理装置。
【請求項3】
前記静的閾値算出部は、前記第1ヒストグラムの低輝度側の収束点の輝度値が前記第2ヒストグラムの高輝度側の収束点の輝度値以上である場合、前記第1ヒストグラムの低輝度側の収束点の輝度値と前記第2ヒストグラムの高輝度側の収束点の輝度値の平均値を前記静的閾値とする、請求項1または2に記載の画像処理装置。
【請求項4】
前記静的閾値算出部は、前記第1ヒストグラムの低輝度側の収束点の輝度値が前記第2ヒストグラムの高輝度側の収束点の輝度値未満である場合、前記第1ヒストグラムと前記第2ヒストグラムの交点の輝度値を前記静的閾値とする、請求項1から3の何れか一項に記載の画像処理装置。
【請求項5】
前記動的閾値算出部は、前記エッジ画素の輝度値と前記最小輝度値にそれぞれ所定の重み係数を乗じた値を合計することにより前記動的閾値を求める、請求項2から4の何れか一項に記載の画像処理装置。
【請求項6】
入力画像からエッジ画素を抽出するステップと、
前記エッジ画素毎の輝度値について第1ヒストグラムを生成するステップと、
前記エッジ画素毎の近傍画素における最小輝度値について第2ヒストグラムを生成するステップと、
前記第1ヒストグラム及び前記第2ヒストグラムに基づいて静的閾値を求めるステップと、
前記入力画像について前記静的閾値を用いて二値化処理を行うステップと、
を含むことを特徴とする画像処理方法。
【請求項7】
入力画像からエッジ画素を抽出するステップと、
前記エッジ画素毎の輝度値について第1ヒストグラムを生成するステップと、
前記エッジ画素毎の近傍画素における最小輝度値について第2ヒストグラムを生成するステップと、
前記第1ヒストグラム及び前記第2ヒストグラムに基づいて静的閾値を求めるステップと、
前記入力画像について前記静的閾値を用いて二値化処理を行うステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図8】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図17】
image rotate

【図7】
image rotate

【図9】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2013−42415(P2013−42415A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−178855(P2011−178855)
【出願日】平成23年8月18日(2011.8.18)
【出願人】(000136136)株式会社PFU (354)
【Fターム(参考)】