(57)【要約】【課題】  周辺部にノイズの多い画像に好適なノイズ除去処理を行う。【解決手段】  本発明は、画像内に含まれる画素塊について、当該画素塊のサイズが閾値以下であるか判定し、当該判定によりサイズが閾値以下であると判定された画素塊を、前記画像から除去する。前記閾値は、前記画素塊の位置に応じて動的に変化させる。【選択図】  図４
2017162149.tif 000002
【特許請求の範囲】
【請求項１】
画像内に含まれる画素塊について、当該画素塊のサイズが閾値以下であるか判定する判定手段と、
前記判定手段によりサイズが閾値以下であると判定された画素塊を、前記画像から除去する除去手段と、
を備え、
前記閾値は、前記画素塊の位置に応じて動的に変化させることを特徴とする画像処理装置。
【請求項２】
前記閾値は、前記画像内の中心位置と前記画素塊の位置との間の距離に応じて動的に変化させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像は、文字が存在すると推定される領域の二値画像であることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記画素塊は、前記画像に対してラベリング処理を実行することにより判定されることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記画像に対して、背景の画素を膨張させる膨張手段を更に有し、
前記判定手段は、前記膨張手段で処理された後の画像内に含まれる画素塊について、当該画素塊のサイズが閾値以下であるか判定することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記膨張手段で使用されるマスクは長方形のマスクであることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記画像に対して、背景の画素を膨張させる膨張手段と、
前記膨張手段で背景の画素が膨張された画像に対して、背景の画素を収縮させる収縮手段と、を更に有し、
前記判定手段は、前記収縮手段で処理された後の画像内に含まれる画素塊について、当該画素塊のサイズが閾値以下であるか判定することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項８】
前記除去手段で処理された後の画像に対して、文字認識処理を実行する文字認識手段を更に備えることを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
コンピュータを、請求項１乃至８のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１０】
画像内に含まれる画素塊について、当該画素塊のサイズが閾値以下であるか判定する判定ステップと、
前記判定ステップでサイズが閾値以下であると判定された画素塊を、前記画像から除去する除去ステップと、
を備え、
前記閾値は、前記画素塊の位置に応じて動的に変化させることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像からノイズを除去する画像処理に関する。
【背景技術】
【０００２】
スキャナやカメラから入力された画像を処理する画像装置において、文字以外のノイズを除去する方法が提案されている。特に、文字認識処理を精度よく行うには、できる限り文字部分に該当する画素のみを残し、文字以外のノイズを除いた二値画像を生成した後に文字認識処理を実行することが好ましい。
【０００３】
特許文献１では、画素矩形の種類と、周辺に存在する画素矩形の種類の位置関係の組み合わせから、注目する画素矩形が、孤立点ノイズの矩形か点線を構成する矩形かの判定を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２５９１２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、孤立点ノイズと点線との識別を行うためのものであり、ノイズのサイズが大きいと除去できない。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の画像処理装置は、画像内に含まれる画素塊について、当該画素塊のサイズが閾値以下であるか判定する判定手段と、前記判定手段によりサイズが閾値以下であると判定された画素塊を、前記画像から除去する除去手段と、を備え、前記閾値は、前記画素塊の位置に応じて動的に変化させることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、周辺部にノイズの多い画像に好適なノイズ除去処理を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態１における画像処理装置の概略を示すブロック図
【図２】実施形態１における画像処理装置にて実行されるフローチャート
【図３】二値画像の一例
【図４】ステップＳ２０３の文字画素塊判定処理の詳細フローチャート
【図５】実施形態１における文字画素塊判定処理の出力結果の一例
【図６】実施形態２における画像処理装置にて実行されるフローチャート
【図７】白画素膨張処理への入力画像の一例
【図８】白画素膨張処理結果の一例
【図９】実施形態２における白画素膨張処理結果の一例
【図１０】実施形態２における文字画素塊判定処理の出力結果の一例
【図１１】実施形態３における画像処理装置にて実行されるフローチャート
【発明を実施するための形態】
【０００９】
（実施形態１）
図１は、実施形態１に係る画像処理装置の概略を示すブロック図である。ＣＰＵ１０１は、ＲＯＭ１０２に格納されている制御プログラムを実行することにより、本装置全体の制御を行う。ＲＯＭ１０２は、ＣＰＵ１０１が実行するコンピュータプログラムや各種パラメータデータを格納する。コンピュータプログラムは、ＣＰＵ１０１で実行されることにより、後述するフローチャートに示す各処理を実行するための各種手段（各処理部）として、当該装置（コンピュータ）を機能させる。なお、本実施形態では、ソフトウェア（プログラム）をコンピュータ（ＣＰＵ）で実行することにより、後述するフローチャートの各ステップに対応する処理を実現するが、その処理の一部または全部を電子回路などのハードウェアで実現するようにしても良い。また、本発明の画像処理装置は、汎用パソコンを用いて実現しても良いし、画像処理専用装置として実現するようにしても良い。ＲＡＭ１０３は、画像や各種情報を記憶する。また、ＲＡＭ１０３は、ＣＰＵのワークエリアやデータの一時待避領域として機能する。
【００１０】
外部記憶装置１０４は、辞書などの各種データを記憶する。外部記憶装置１０４は、例えば、ハードディスクやＣＤ−ＲＯＭ等を含む。なお、本発明の装置をコンピュータに実現させるためのコンピュータプログラムは、このコンピュータ読取可能な外部記憶媒体に格納されていても良いし、ネットワークを介して供給されるようにしても良い。ディスプレイ１０５は、例えば、ＬＣＤやＣＲＴである。
【００１１】
入力装置１０６は、例えば、デジタルカメラやスキャナ等の画像入力装置を接続するためのインターフェースであっても良いし、画像入力装置そのものであっても良い。また、スキャナやカメラの機能の１つとして実現するために、スキャナやカメラの内部に本発明の装置を組み込んで実現しても良い。また、画像処理装置は、スマートフォン等のモバイル端末であってもよく、その場合、入力装置は、モバイル端末に内蔵されたカメラユニットを用いればよい。
【００１２】
バス１０７は、これらの各ユニット１０１〜１０６を接続するためのバスである。また、画像処理装置は、不図示のネットワークインターフェースを介して、ネットワーク上に接続されている外部装置（例えば、サーバや画像入力装置等）と通信し、プログラムやデータを送受信してもよい。
【００１３】
図２は、実施形態１に係る画像処理装置にて実行される処理を示すフローチャートである。
【００１４】
ステップＳ２０１において、ＣＰＵ１０１は、入力装置１０６から入力されたカラー画像に対して二値化処理を実行することにより二値画像へ変換する。
【００１５】
二値化処理は、例えば、以下の手順で行えばよい。まず、カラー画像の各画素の輝度をＹ＝０．２９９Ｒ＋０．５８７Ｇ＋０．１１４Ｂによって算出する。なお、輝度の算出式は上記式に限るものではなく、他の形式／変換式を用いて、輝度画像に変換してもよい。そして、この輝度画像から輝度ヒストグラムを作成し、この輝度ヒストグラムより文字（前景）の輝度と、背景の輝度との２つのピークを検出して、それらのピークの間の谷部分でピークを最も良く分離する閾値を求める。そして、輝度画像の各画素に対し、その輝度値が閾値未満の画素を文字に該当する黒画素として「１」、閾値以上の画素を背景に該当する白画素として「０」を割りあてることにより、二値画像を生成する。なお、二値化処理はこの手法に限るものではなく、公知の手法を適用することが可能である。
【００１６】
図３は、１つの文字画像「０」を撮影し、ステップＳ２０１にて生成された二値画像の一例である。図３には、二値化処理時に黒画素と判断されたノイズが含まれている。よって、文字認識処理を精度よく行うために、後述の処理ステップを実行することで、文字以外の黒画素を除去し、できる限り文字部分に該当する画素のみを残した画像を生成する。
【００１７】
なお、文字の二値画像を取得する方法は以下のようにして行われたものとする。例えば、スマートフォンのカメラ機能で、画面内に文字列撮影用のガイド（例えば、［  ］状のマーク）を表示し、そのガイド内に文字が収まるように撮影することで、文字画像を取得することができ、その文字画像を二値化すると図３のようになる。なお、文字画像を取得する方法は上記に限るものではない。例えば、帳票を撮影し、当該帳票画像から文字記入枠を検出し、当該検出した文字記入枠内の画像を切り出すことによっても文字画像を取得することができる。また、入力画像上に、固定ピッチの文字が複数ある場合は、画像を固定ピッチの幅で等分し、そこから相対的に１文字の存在領域を算出してもよい。
【００１８】
ステップＳ２０２において、ＣＰＵ１０１は、ステップＳ２０１で生成された二値画像に対し、画素の連結性をもとに連続した画素に同じラベルを付与するラベリング処理を実行し、付与されたラベル値が同一である画素を１つの画素塊とみなす。
【００１９】
ラベリング処理は、例えば以下のような手法が知られている。二値画像を形成する各ラインの画素をスキャンし、黒画素が連続する区間について、開始位置と終了位置をテーブルに格納する。全ラインについてこの処理を終えると、ライン間で少なくとも一部が接している区間に同じラベルを与え、同一のラベルを有する黒画素が連続する領域を形成することによりラベリング画像を生成することができる。ここで、ラベリング画像内で同一のラベルを持つ画素塊を各々独立した画素塊とみなす。
【００２０】
図３の例では、ラベリング処理の結果、画素塊３０１、画素塊３０２、画素塊３０３、画素塊３０４に別々のラベルが付与され、各画素塊が連結領域として検出されたものとして説明を続ける。
【００２１】
ステップＳ２０３において、ＣＰＵ１０１は、ステップＳ２０２で生成された画素塊が、文字に該当する画素塊か否かを判定し、文字の画素塊以外を削除する。
【００２２】
英数字において、文字と判定すべき画素塊は、ノイズの画素塊より画素数は大きい傾向にある。しかし、被写体のノイズや撮影状況によっては、二値化処理によって文字が細分化されている可能性がある（例えば図３の３０４）。また、カメラで文字が記載されている看板やプレートを撮影した画像を処理する場合、看板やプレートの縁より外側の輝度値が一様ではない。この影響で、撮影した文字画像の縁の部分に、面積の大きなノイズの画素塊が残る可能性がある（例えば図３の３０１）。
【００２３】
したがって、本実施形態では、文字が存在すると推定される領域の中心にある画素塊ほど、文字に該当する画素塊と判定されやすくするための判定基準を加える。例えば、黒画素塊のサイズが閾値以上であれば文字に該当すると判定する場合、中心に近い位置にある画素塊に対してはその閾値を小さくし、周辺にある画素塊に対してはその閾値を大きくする。このように、閾値を画素塊の位置に応じて動的に変動させることで、周辺にある大きなサイズのノイズの画素塊は削除され、且つ、中心部に近い位置にある文字の一部を構成する画素塊は残ることになる。この処理の詳細は図４を用いて後述する。
【００２４】
ステップＳ２０４において、ＣＰＵ１０１は、ステップＳ２０３で選択された文字画素塊で構成される二値画像を公知の文字認識処理に入力し、文字認識結果の文字コードを出力する。
【００２５】
図４は、ステップＳ２０３の文字画素塊判定処理の詳細を示すフローチャートである。
【００２６】
ステップＳ４０１において、ＣＰＵ１０１は、画像中の文字が存在すると推定される文字領域の中心座標（Ｘ＿ｉｍｇ，Ｙ＿ｉｍｇ）を算出する。本実施例では、図３のように、画像上に存在する文字は画像の中心に１文字が存在すると予めわかっているものとし、画像の中心座標（中心位置）を算出する。
【００２７】
ステップＳ４０２において、ＣＰＵ１０１は、文字が存在すると推定される矩形領域上にある画素塊の１つを処理対象として選択する。以下、処理対象となる画素塊を文字塊ｎとし説明を続ける。
【００２８】
ステップＳ４０３において、ＣＰＵ１０１は、ステップＳ４０２で選択された画素塊ｎの中心座標（Ｘ＿ｎ，Ｙ＿ｎ）を算出する。画素塊の中心座標は、当該画素塊に外接する外接矩形の中心位置とする。
【００２９】
ステップＳ４０４において、ＣＰＵ１０１は、ステップＳ４０１で算出した文字領域の中心座標（Ｘｉｍｇ，Ｙｉｍｇ）と、ステップＳ４０３で算出した画素塊ｎの中心座標（Ｘｎ，Ｙｎ）とに基づいて、両座標間の距離ｄｉｓ＿ｎを算出する。距離計算手法は直線距離でもよいし、計算量削減の観点から単純なシティブロック距離でも構わない。
【００３０】
ステップＳ４０５において、ＣＰＵ１０１は、ステップＳ４０４で算出した距離に基づいて、処理対象の画素塊ｎが文字の画素塊かを判定するための閾値Ｔｈ＿ｎを設定する。本実施例では、既定の値αに対し、距離ｄｉｓ＿ｎを乗算した値を閾値Ｔｈとする。
【００３１】
ステップＳ４０６において、ＣＰＵ１０１は、画素塊ｎの画素数Ｓｎ（すなわち画素塊ｎのサイズ）を、ステップＳ４０５で算出した閾値Ｔｈ＿ｎと比較する。
【００３２】
画素数Ｓｎが閾値Ｔｈ＿ｎより大きければ（Ｙｅｓであれば）、Ｓ４０７に進み、当該画素塊ｎは文字画素塊であるとして残すものとする。
【００３３】
一方、画素数Ｓｎは閾値Ｔｈ＿ｎ以下であれば（Ｎｏであれば）、Ｓ４０８に進み、当該画素塊ｎはノイズであるとして除去（すなわち、白画素に置換）する。
【００３４】
このように、画素数の少ない画素塊（小さいサイズの黒画素塊）でも、中心に近ければ文字を構成している可能性が高いと判断して残し、画素数の多い画素塊（大きなサイズの黒画素塊）でも、中心から距離が離れていればノイズの可能性が高いと判定して削除できる。
【００３５】
ステップＳ４０９において、ＣＰＵ１０１は、すべての画素塊を処理対象として判定したか判断し、すべての画素塊を判定し終われば、処理を終了する。一方、まだ処理対象にしていない画素塊が残っていると判断した場合（Ｎｏであれば）、ステップＳ４０２に戻る。
【００３６】
図５は、図３の二値画像に対して、ステップＳ２０３の処理を実行した結果の例である。図３の画素塊３０４は、画素数の少ない画素塊だが、中心からの距離が近いため、文字画素塊と判定されて残っている。一方、画素塊３０１，３０３は画素数の多い画素塊だが、中心からの距離が遠いため、ノイズと判定されて除去されている。
【００３７】
以上説明したように、本実施形態１によれば、文字画像の中心からの距離に応じて判定用の閾値を動的に変化させることで、周辺部にノイズの多い画像に好適なノイズ除去処理を行うことができる。
【００３８】
（実施形態２）
本実施形態では、文字にノイズが付着した状態の画素塊から、ノイズに該当する画素を切断する例を説明する。この例では、看板やプレートなどで発生する直線状の錆や背景ムラの影響により、二値化処理後の画像において、文字部分の黒画素にノイズの黒画素が付着している場合を想定している。本実施形態では、特に、横線状のノイズが付着している場合に好適な処理である。
【００３９】
図６は、実施形態２に係る画像処理装置にて実行される処理を示すフローチャートである。図２と同一の符号が付与されたステップは、実施形態１と同様の処理であるため、説明を省略する。
【００４０】
ステップＳ２０２でラベリング処理を行った後、ステップＳ６０１において、ＣＰＵ１０１は、二値化処理で背景部分として割り当てられた白画素「０」の膨張処理（言い換えると黒画素の収縮処理）を行う。具体的には、注目画素を中心としたマスク内に１画素でも白画素があれば、当該注目画素を白に置き換えるマスク処理を実行する。
【００４１】
なお、本実施形態において、図３の３０２のように、横線状のノイズが付着している場合を想定している。そこで、本実施形態では、縦方向の辺が長い長方形のマスクを適用し、白画素を縦方向にのみ膨張させることで、横方向ノイズを文字から分離しやすくする。
【００４２】
図７は白画素膨張処理を実行する前の画像を拡大表示した例であり、図８は、図７の画像に対して、１×２画素サイズの縦方向に長い長方形マスクを用いて白画素膨張処理（マスク処理）した結果を示す例である。この場合、縦方向に連結した黒画素は残り、横方向にのみ連結している黒画素が除去できる。
【００４３】
上述したステップＳ６０１の処理が実行された後、ステップＳ２０３に進み、実施形態１で説明した文字画素塊判定処理が実行される。
【００４４】
図９は、図３の二値画像に対して、ステップＳ６０１の白画素膨張処理を適用した結果を示すものである。文字に横線状のノイズが付着した図３の３０２は、ノイズの細い部分で切断されるので、９０１、９０２の２つの画素塊に切断できている。さらに、図９の画像に対してステップＳ２０３の文字画素塊判定処理を実行すると、図１０のような画像になる。９０１の画素塊は画素数が少なく、中心からの距離も遠いためノイズと判断され、図１０では、除去されている。
【００４５】
以上説明したように、本実施形態によれば、横線状のノイズが付着した文字画像に対して、縦長の長方形のマスクを使用して白画素膨張処理を行うことで、横線状のノイズが切断されやすくなる。そして切断されたノイズは、文字画素塊判定処理で除去されるので、さらに文字認識処理に好適なノイズ除去を行うことができる。
【００４６】
（実施形態３）
実施形態２では、背景に該当する白画素の膨張処理を行うことで、ノイズと文字の画素塊を分断している。しかし、文字に該当する黒画素も一部収縮し、画素塊を構成する画素数が減少する場合がある。そこで、本実施形態３では、一度白画素の膨張処理を行った後に、白画素の収縮処理のステップを追加する。
図１１は、実施形態３に係る画像処理装置にて実行される処理を示すフローチャートである。図２、６と同一の符号が付与されたステップは、実施形態１、２と同様の処理であるため、説明を省略する。
【００４７】
ステップＳ６０１で白画素の膨張処理（言い換えると黒画素の収縮処理）を実行した後、ステップＳ１１０１において、白画素の収縮処理（言い換えると黒画素の膨張処理）を行う。具体的には、注目画素を中心としたマスク内に１画素でも黒画素があれば、当該注目画素を黒に置き換えるマスク処理を行う。マスクのサイズはＳ６０１と同じサイズのマスクを用いればよい。
【００４８】
以上説明したように、本実施形態３によれば、ノイズ切断のために収縮してしまった文字画素を膨張させることで、文字認識処理に好適な画像を得ることができる
（実施形態４）
実施例３，４では、文字に横線状のノイズが付着している場合のノイズ切断処理について説明した。なお、被写体に縦方向のノイズが多い場合（例えば、看板の上部から雨が滴った場合などの雨だれによるノイズなど）は、ステップＳ６０１、Ｓ１１０１におい横長の長方形のマスクを用いて処理すればよい。
【００４９】
これにより、縦方向のノイズも切断されやすくなり、文字画素塊判定処理をより好適に適用できる。
【００５０】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2017162149.tif 000003
【図２】
2017162149.tif 000004
【図３】
2017162149.tif 000005
【図４】
2017162149.tif 000006
【図５】
2017162149.tif 000007
【図６】
2017162149.tif 000008
【図７】
2017162149.tif 000009
【図８】
2017162149.tif 000010
【図９】
2017162149.tif 000011
【図１０】
2017162149.tif 000012
【図１１】
2017162149.tif 000013