画像処理装置及びその画像処理方法、並びにプログラム
【課題】孤立点画素の周辺の画像パターンに関わらず、孤立点画素を正確に除去することができる画像処理装置及びその画像処理方法、並びにプログラムを提供する。
【解決手段】画像処理装置1は、画像入力部11と、画像メモリ12と、画像処理部14と、画像出力部13とを備える。画像処理部14は、参照画素集合抽出部21と、非孤立点画素検出部22と、孤立点画素除去部23とにより構成される。参照画素集合抽出部21は、画像入力部11により入力された画像データからm×nの大きさの領域内の画素を参照画素集合として抽出し、非孤立点画素検出部22は、参照画素集合中の非孤立点画素を検出し、孤立点除去部23は、参照画素集合中の非孤立点画素以外の画素で、かつ除去対象画素値を有する画素を孤立点画素として除去する。
【解決手段】画像処理装置1は、画像入力部11と、画像メモリ12と、画像処理部14と、画像出力部13とを備える。画像処理部14は、参照画素集合抽出部21と、非孤立点画素検出部22と、孤立点画素除去部23とにより構成される。参照画素集合抽出部21は、画像入力部11により入力された画像データからm×nの大きさの領域内の画素を参照画素集合として抽出し、非孤立点画素検出部22は、参照画素集合中の非孤立点画素を検出し、孤立点除去部23は、参照画素集合中の非孤立点画素以外の画素で、かつ除去対象画素値を有する画素を孤立点画素として除去する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びその画像処理方法、並びにプログラムに関し、特に、画像データから孤立点画素を除去する画像処理装置及びその画像処理方法、並びにプログラムに関する。
【背景技術】
【0002】
画像読取機能を有する画像形成装置等において、例えば原稿読み取り時に原稿に付着していた埃や傷、その他のノイズにより、画像形成に用いる読取画像データ上に本来存在するはずのない不要な孤立点画素が生じることがある。この孤立点画素の存在は出力画像の品質低下に繋がるため、この様な画像データ上に生じた孤立点画素を画像形成前に除去する技術について検討されてきた。
【0003】
この様な画像処理方法として例えば、特許文献1や特許文献2に開示された技術があげられる。
【0004】
特許文献1に開示された従来の画像処理方法による孤立点画素の除去方法を簡単に説明する。図9に示す様に2値画像データの画像処理において、m×n画素(図9では5×5)の参照画素領域90のうち、その縁部の全画素を注目画素91とし、注目画素91中に黒画素が存在しない場合に、参照画素領域90の画素を全て白画素として出力する。前記従来技術の場合、5×5画素を参照画素領域90とした場合、図10に示すパターン101,102等の場合には、参照画素領域90内部に存在する孤立点画素は除去される。
【0005】
特許文献2に開示された処理方法を簡単に説明する。まず、図11に示すように、2値画像データの画像処理においてm×n画素(図11では5×5)の参照画素領域のうち、y方向に延びる少なくとも1ライン分を注目ブロックとして、x方向に順次注目ブロックをずらしていく。以下ではこれをx方向に走査するというように記述する。走査の過程で、注目ブロックを構成する画素の画素値がすべて同一である注目ブロックを検知する毎に、この画素値を基準画素値として設定し直し、さらに走査を続ける。そして、注目ブロックを構成する画素のうちy方向の両端部の画素の画素値が設定された基準画素値であり、かつ、y方向の両端部以外の画素の中に基準画素値とは異なる画素値である画素を含む注目ブロックが存在するか検出する。この検出の結果、注目ブロックが存在するときは、その注目ブロックを除去候補注目ブロックとして検知する。m×n画素の参照画素領域の中にある除去候補注目ブロックの個数が、所定の個数以下であれば、当該除去候補注目ブロックを構成する画素の画素値をすべて基準画素値に統一する。このような従来技術の場合、5×5画素を参照領域とした場合、図10のパターン101〜103等の場合には、参照領域内部に存在する孤立点画素は除去される。また、図10のパターン104は走査方向がx軸に沿ってマイナス方向に設定されている場合のみ除去される。
【特許文献1】特開2001−119585号公報
【特許文献2】特開2004−72405号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の画像処理方法では、孤立点画素を発見するためには孤立点画素を含む参照画素領域の縁部の全てが同じ画素値でなければならない。そのため図10のパターン104,105に示す様なパターンであると孤立点画素が存在するにもかかわらず孤立点画素と判断されない。
【0007】
また、特許文献2に開示された処理方法では、処理の走査方向により除去できる孤立点画素の形状に違いがある。そのために図10のパターン104のような孤立点画素を確実に除去するためには、4種類の走査方向すべてに対して処理を行わなければならなくなる。
【0008】
さらに、図10のパターン105の孤立点画素はどちらの処理方法でも、どのように設定を変更しても除去することができない。
【0009】
本発明は、孤立点画素の周辺の画像パターンに関わらず、孤立点画素を正確に除去することができる画像処理装置及びその画像処理方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するために、請求項1記載の画像処理装置は、入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置において、前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出手段と、前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出手段と、前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去手段とを備えることを特徴とする。
【0011】
上記目的を達成するために、請求項8記載の画像処理方法は、入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置の画像処理方法において、前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出ステップと、前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出ステップと、前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去ステップとを備えることを特徴とする。
【0012】
上記目的を達成するために、請求項9記載のプログラムは、入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置の画像処理方法をコンピュータにより実行させるプログラムにおいて、前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出モジュールと、前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出モジュールと、前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去モジュールとを備えることを特徴とする。
【発明の効果】
【0013】
本発明によれば、画像データから一の領域内の画素を参照画素集合として抽出し、参照画素集合中の非孤立点画素を検出し、参照画素集合中の非孤立点画素以外の画素であり、かつ除去対象画素値を有する画素を孤立点画素として除去するので、孤立点画素の周辺の画像パターンに関わらず、孤立点画素を正確に除去することができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態を図面を用いて詳細に説明する。
【0015】
図1は、本発明の実施の形態に係る画像処理装置の全体構成を概略的に示すブロック図である。
【0016】
図1において、画像処理装置1は、画像入力部11と、画像メモリ12と、画像処理部14と、画像出力部13とを備える。
【0017】
画像入力部11は例えばスキャナ等の画像読取装置(不図示)から例えば2値の画像データを取得し、画像メモリ12に格納する。
【0018】
画像出力部13は画像メモリ12に保持されている画像を出力する。
【0019】
画像処理部14は、図2に示すように、参照画素集合抽出部21と、非孤立点画素検出部22と、孤立点画素除去部23とにより構成される。
【0020】
参照画素集合抽出部21は、画像メモリ12に保持されている画像のうちm×n(但し,m,nは共に3以上の整数)の参照画素集合を抽出する。このm及びnは除去可能な孤立点の大きさに影響し、m×nの参照画素集合を用いて高さm−2以下、幅n−2以下の大きさの孤立点が除去できる。そのため、図10のパターン104に示すような形状の孤立点を除去するためには5×4以上の参照画素集合の大きさが必要である。このように、参照画素集合の大きさm×nは除去したい孤立点の大きさに応じて設定すればよい。
【0021】
非孤立点画素検出部22は、図3に示すように、参照画素集合抽出部21により得られた参照画素集合301中の除去対象となる孤立点の画素が有する画素値に相当する画素値(以下「除去対象画素値」という。)を有する非孤立点画素を検出する。
【0022】
具体的には、まず、参照画素集合301の点線で囲まれる縁部に存在する画素であって、除去対象画素値を有する画素の集合を非孤立点画素候補303として検出する。次に、参照画素集合301中の非孤立点画素候補303中の少なくとも1つの画素と繋がっている画素であって、除去対象画素値を有する全ての画素(図3においては画素304の1画素だけである)および非孤立点画素候補中の全画素から成る集合である拡大非孤立点画素候補を取得する。その後、拡大非孤立点画素候補と非孤立点画素候補の間に差違があるか判別し、差違があるときは、拡大非孤立点画素候補で非孤立点画素候補を置き換える。
【0023】
非孤立点画素候補と拡大非孤立点画素候補の差違がなくなるまで、上記拡大非孤立点画素候補の取得と非孤立点画素候補の置き換えを繰り返し、最後に置き換えられた非孤立点画素候補に含まれる全ての画素を非孤立点画素として検出する。
【0024】
孤立点画素除去部23は、孤立点画素の除去を行う。具体的には、まず、参照画素集合に含まれる除去対象画素値を有する画素のうち、非孤立点画素検出部22により検出した非孤立点画素以外の画素を孤立点画素として設定する。その後、この設定された孤立点画素を除去対象画素値とは異なる画素値(以下「非除去対象画素値」という。)に変換し出力する。
【0025】
図4は、画像処理部14により実行される画像処理の手順を示すフローチャートである。ここでは、一例として、入力する画像は除去対象画素の画素値を1、それ以外の画素の画素値を0とする2値画像とし、参照画素集合を5×5画素の正方形の領域とする。つまり除去できる孤立点は画素値が1でその大きさが高さ3以下、幅3以下となる。
【0026】
図4において、まず画像入力部11に入力された画像を画像メモリ12に保持する(ステップS401)。
【0027】
次に、上記保持された画像データから図7に示す左上端参照画素集合抽出位置701にある5×5画素を参照画素集合として抽出する(ステップS402)。
【0028】
次に、図5のように、縁部のみを1とした5×5のデータからなる外部連結マスク501と参照画素集合502の画素値との論理積503を算出し、その算出された画素の中で画素値1となるものの集合である非孤立点画素候補の存在が検出されたか否かを判別する(ステップS403)。この判別の結果、非孤立点画素候補の存在が検出されなかった場合は、参照画素集合内に非孤立点画素はないと判断して、ステップS407の処理に進む。
【0029】
一方、ステップS403の判別の結果、非孤立点画素候補の存在が検出されたときは、この非孤立点画素候補中の全画素及びこれらの少なくとも1つと繋がっている除去対象画素値を有する全ての画素から成る拡大非孤立点画素候補を取得する(ステップS404)。このステップS404の処理は、非孤立点画素検出部22が非孤立点画素候補を1画素膨張させる処理を行った後に、参照画素集合502との間で画素値の論理積をとることにより実行される。これにより、一度の処理で参照画素集合502内の画素すべてに対して非孤立点画素候補との繋がりを調べることができ、高速に処理を行うことができる。上記膨張させる処理では、具体的には、図6に示すように、まず非孤立点画素候補中の全画素の画素値を1とし、他を0とした画像601を左に1画素ずらした画像602a、上に1画素ずらした画像602b、右に1画素ずらした画像602c、及び下に1画素ずらした画像602dを生成する。次に、これら生成された4種類の画像602a〜602dと画像601の5枚の画像を用いて同一位置の画素の論理和を計算し、この論理和を画素値とした画像602を取得する。次に画像602と参照画素集合502の画素ごとの画素値の論理積からなる画像603を取得する。この画像603の画素のうち画素値が1(除去対象画素値)である画素の集合を拡大非孤立点画素として取得する。
【0030】
尚、ステップS404の処理では、一の画素に対して上下左右の4つの方向において隣接する画素を、一の画素と繋がっている画素と判断したがこれに限定はされない。例えば、上下左右に隣接する画素だけでなく、右上、左上、右下、左下といった斜め方向において隣接する画素についても、一の画素と繋がっている画素と判断してもよい。この場合、図8に示すように、非孤立点画素候補を画素値1とし他を0とした画像601を上下左右に夫々1画素ずらした画像602a〜602dを生成するだけでなく、右上、左上、右下、左下に夫々1画素ずらした画像801a〜801dも生成し、この8種の画像602a〜602d,801a〜801dと画像601の9枚の画像を用いて同一位置の画素の論理和を計算し、この論理和を画素値とした画像802を取得する。次に画像802と参照画素集合502との画素ごとの画素値の論理積からなる画像803を取得する。
【0031】
この画像803の画素のうち画素値が1(除去対象画素値)である画素の集合を拡大非孤立点画素候補として取得する。
【0032】
次に、ステップS405において、拡大非孤立点画素候補と非孤立点画素候補に差違があるか否かを判別する。この判別の結果、差違があれば、拡大非孤立点画素候補で非孤立点画素候補を置き換えて(ステップS405a)、もう一度、ステップS404からの処理を行う。一方、ステップS405の判別の結果、差違がなければ非孤立点画素候補中の全画素を非孤立点画素として設定することで非孤立点画素を検出し(ステップS406)、ステップS407の処理に進む。このとき拡大非孤立点画素候補と非孤立点画素候補は等しいので拡大非孤立点画素候補中の全画素を非孤立点画素として設定してもよい。このステップS404〜S406の処理により、非孤立点画素の全てを確実に検出することができる。
【0033】
ステップS407では、参照画素集合のうち、設定された非孤立点画素以外の部分の画素値を非除去対象画素値(ここでは0)に書き換える(ステップS407)。
【0034】
その後、参照画素集合の抽出位置は右下端か否かを判別し(ステップS408)、抽出位置が右下端であるときは、ステップS410の処理に進む。一方、ステップS408の判別の結果、抽出位置が右下端でないときは、参照画素集合の抽出位置を変更して(ステップS409)、ステップS402からの処理を繰り返す。これにより、画像全体に対して確実に孤立点画素除去処理を行うことができる。
【0035】
ここで、ステップS409の処理は、図7のように、具体的にはまず、左上端参照画素集合抽出位置から参照画素集合をX方向に1画素ずつずらしながら走査する。次にX方向の走査が終了したら、参照画素集合の抽出位置を左端にもどし、Y方向に1画素移動してから同様にX方向に1画素ずつ走査する。これを図7に示す右下端参照画素集合抽出位置まで繰り返す。
【0036】
画像全体に対して孤立点画素除去処理が行われたら画像メモリ12に保持されている2値画像を画像出力部13により出力し(ステップS410)、本処理を終了する。
【0037】
本処理によれば、保持していた画像データからm×n(但し,m,nは共に3以上の整数)画素の領域を参照画素集合として抽出し(ステップS402)、参照画素集合中の非孤立点画素候補に基づいて非孤立点画素を設定する(ステップS403〜S406)。さらに、参照画素集合のうち設定された非孤立点画素以外の部分の画素値を非除去対象画素値に書き換える(ステップS407)。これにより、孤立点画素の周辺の画像パターンに関わらず、孤立点画素を正確に除去することができる。また、参照画素集合の大きさがm×n画素の場合、高さm−2以下、幅n−2以下の孤立点はどのような形状、大きさでも除去できる。
【0038】
さらに、本実施の形態のように、2値画像に対して本画像処理方法を適用する場合は、参照画素集合に対して行う処理を、シフト、AND、ORという最も簡単な画像処理命令と、一つの条件分岐(繰り返し部分)だけで構成できる。これにより、高速に処理を行うことができる。
【0039】
さらに、本処理によれば、入力された画像データから参照画素集合を抽出して、そのなかで孤立点画素をじかに探す場合のように走査方向により孤立点画素除去の結果が変わることはない。これにより、走査(参照画素集合の移動)を多方向から行う必要はなく、所定の方向で順次2次元的に行えばよい。
【0040】
尚、本実施の形態では2値画像が入力の場合の画像処理方法について述べたが、2値以外の多値画像に適用してもよい。例えば、256階調の多値画像について、本画像処理を行う場合は、まず、例えば0〜64の画素値を除去対象画素値とする。次に、参照画素集合を抽出する際に、除去対象画素値であるかないかにより、画像を0と1の2値画像で表現する。その後、上記2値画像と同様の処理を行い非孤立点画素を得る。そして、参照画素集合のうち、除去対象画素値を有し、かつ非孤立点画素でない画素を、例えば参照画素集合のうち除去対象画素値とは異なる画素値を有する画素の画素値の平均値などで上書きすることで孤立点画素除去が行える。
【0041】
また、参照画素集合はm×n画素の四角の領域とすることが画像処理において好適であるが、領域の形は多角形でもよく略円形でもよい。本発明はスキャナ内部で行う画像処理に適用してもよく、またスキャナからPC等のホストコンピュータに転送した画像データに対する画像処理に適用してもよい。本発明の画像処理はハードウェアで行うこともできるが、その一部又は全部をソフトウェアで行ってもよい。
【0042】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0043】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0044】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0045】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0046】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【0047】
【図1】本発明の実施の形態に係る画像処理装置の全体構成を概略的に示すブロック図である。
【図2】図1における画像処理部の構成を概略的に示すブロック図である。
【図3】画像処理部により実行される孤立点画素除去方法を説明するのに用いられる図である。
【図4】画像処理部により実行される画像処理の手順を示すフローチャートである。。
【図5】画像処理部により実行される非孤立点画素候補の取得方法を説明するのに用いられる図である。
【図6】画像処理部により実行される拡大非孤立点画素候補の取得方法を説明するのに用いられる図である。
【図7】画像処理部により実行される参照画素集合の抽出方法を説明するのに用いられる図である。
【図8】画像処理部により実行される拡大非孤立点画素候補の他の取得方法を説明するのに用いられる図である。
【図9】従来の画像処理方法による孤立点画素除去方法を説明するのに用いられる図である。
【図10】参照画素領域中の孤立点画素の各種パターンを示す図である。
【図11】従来の他の画像処理方法による孤立点画素除去方法を説明するのに用いられる図である。
【符号の説明】
【0048】
11 画像入力部
12 画像メモリ
13 画像出力部
14 画像処理部
21 参照画素集合抽出部
22 非孤立点画素検出部
23 孤立点画素除去部
【技術分野】
【0001】
本発明は、画像処理装置及びその画像処理方法、並びにプログラムに関し、特に、画像データから孤立点画素を除去する画像処理装置及びその画像処理方法、並びにプログラムに関する。
【背景技術】
【0002】
画像読取機能を有する画像形成装置等において、例えば原稿読み取り時に原稿に付着していた埃や傷、その他のノイズにより、画像形成に用いる読取画像データ上に本来存在するはずのない不要な孤立点画素が生じることがある。この孤立点画素の存在は出力画像の品質低下に繋がるため、この様な画像データ上に生じた孤立点画素を画像形成前に除去する技術について検討されてきた。
【0003】
この様な画像処理方法として例えば、特許文献1や特許文献2に開示された技術があげられる。
【0004】
特許文献1に開示された従来の画像処理方法による孤立点画素の除去方法を簡単に説明する。図9に示す様に2値画像データの画像処理において、m×n画素(図9では5×5)の参照画素領域90のうち、その縁部の全画素を注目画素91とし、注目画素91中に黒画素が存在しない場合に、参照画素領域90の画素を全て白画素として出力する。前記従来技術の場合、5×5画素を参照画素領域90とした場合、図10に示すパターン101,102等の場合には、参照画素領域90内部に存在する孤立点画素は除去される。
【0005】
特許文献2に開示された処理方法を簡単に説明する。まず、図11に示すように、2値画像データの画像処理においてm×n画素(図11では5×5)の参照画素領域のうち、y方向に延びる少なくとも1ライン分を注目ブロックとして、x方向に順次注目ブロックをずらしていく。以下ではこれをx方向に走査するというように記述する。走査の過程で、注目ブロックを構成する画素の画素値がすべて同一である注目ブロックを検知する毎に、この画素値を基準画素値として設定し直し、さらに走査を続ける。そして、注目ブロックを構成する画素のうちy方向の両端部の画素の画素値が設定された基準画素値であり、かつ、y方向の両端部以外の画素の中に基準画素値とは異なる画素値である画素を含む注目ブロックが存在するか検出する。この検出の結果、注目ブロックが存在するときは、その注目ブロックを除去候補注目ブロックとして検知する。m×n画素の参照画素領域の中にある除去候補注目ブロックの個数が、所定の個数以下であれば、当該除去候補注目ブロックを構成する画素の画素値をすべて基準画素値に統一する。このような従来技術の場合、5×5画素を参照領域とした場合、図10のパターン101〜103等の場合には、参照領域内部に存在する孤立点画素は除去される。また、図10のパターン104は走査方向がx軸に沿ってマイナス方向に設定されている場合のみ除去される。
【特許文献1】特開2001−119585号公報
【特許文献2】特開2004−72405号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の画像処理方法では、孤立点画素を発見するためには孤立点画素を含む参照画素領域の縁部の全てが同じ画素値でなければならない。そのため図10のパターン104,105に示す様なパターンであると孤立点画素が存在するにもかかわらず孤立点画素と判断されない。
【0007】
また、特許文献2に開示された処理方法では、処理の走査方向により除去できる孤立点画素の形状に違いがある。そのために図10のパターン104のような孤立点画素を確実に除去するためには、4種類の走査方向すべてに対して処理を行わなければならなくなる。
【0008】
さらに、図10のパターン105の孤立点画素はどちらの処理方法でも、どのように設定を変更しても除去することができない。
【0009】
本発明は、孤立点画素の周辺の画像パターンに関わらず、孤立点画素を正確に除去することができる画像処理装置及びその画像処理方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するために、請求項1記載の画像処理装置は、入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置において、前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出手段と、前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出手段と、前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去手段とを備えることを特徴とする。
【0011】
上記目的を達成するために、請求項8記載の画像処理方法は、入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置の画像処理方法において、前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出ステップと、前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出ステップと、前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去ステップとを備えることを特徴とする。
【0012】
上記目的を達成するために、請求項9記載のプログラムは、入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置の画像処理方法をコンピュータにより実行させるプログラムにおいて、前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出モジュールと、前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出モジュールと、前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去モジュールとを備えることを特徴とする。
【発明の効果】
【0013】
本発明によれば、画像データから一の領域内の画素を参照画素集合として抽出し、参照画素集合中の非孤立点画素を検出し、参照画素集合中の非孤立点画素以外の画素であり、かつ除去対象画素値を有する画素を孤立点画素として除去するので、孤立点画素の周辺の画像パターンに関わらず、孤立点画素を正確に除去することができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態を図面を用いて詳細に説明する。
【0015】
図1は、本発明の実施の形態に係る画像処理装置の全体構成を概略的に示すブロック図である。
【0016】
図1において、画像処理装置1は、画像入力部11と、画像メモリ12と、画像処理部14と、画像出力部13とを備える。
【0017】
画像入力部11は例えばスキャナ等の画像読取装置(不図示)から例えば2値の画像データを取得し、画像メモリ12に格納する。
【0018】
画像出力部13は画像メモリ12に保持されている画像を出力する。
【0019】
画像処理部14は、図2に示すように、参照画素集合抽出部21と、非孤立点画素検出部22と、孤立点画素除去部23とにより構成される。
【0020】
参照画素集合抽出部21は、画像メモリ12に保持されている画像のうちm×n(但し,m,nは共に3以上の整数)の参照画素集合を抽出する。このm及びnは除去可能な孤立点の大きさに影響し、m×nの参照画素集合を用いて高さm−2以下、幅n−2以下の大きさの孤立点が除去できる。そのため、図10のパターン104に示すような形状の孤立点を除去するためには5×4以上の参照画素集合の大きさが必要である。このように、参照画素集合の大きさm×nは除去したい孤立点の大きさに応じて設定すればよい。
【0021】
非孤立点画素検出部22は、図3に示すように、参照画素集合抽出部21により得られた参照画素集合301中の除去対象となる孤立点の画素が有する画素値に相当する画素値(以下「除去対象画素値」という。)を有する非孤立点画素を検出する。
【0022】
具体的には、まず、参照画素集合301の点線で囲まれる縁部に存在する画素であって、除去対象画素値を有する画素の集合を非孤立点画素候補303として検出する。次に、参照画素集合301中の非孤立点画素候補303中の少なくとも1つの画素と繋がっている画素であって、除去対象画素値を有する全ての画素(図3においては画素304の1画素だけである)および非孤立点画素候補中の全画素から成る集合である拡大非孤立点画素候補を取得する。その後、拡大非孤立点画素候補と非孤立点画素候補の間に差違があるか判別し、差違があるときは、拡大非孤立点画素候補で非孤立点画素候補を置き換える。
【0023】
非孤立点画素候補と拡大非孤立点画素候補の差違がなくなるまで、上記拡大非孤立点画素候補の取得と非孤立点画素候補の置き換えを繰り返し、最後に置き換えられた非孤立点画素候補に含まれる全ての画素を非孤立点画素として検出する。
【0024】
孤立点画素除去部23は、孤立点画素の除去を行う。具体的には、まず、参照画素集合に含まれる除去対象画素値を有する画素のうち、非孤立点画素検出部22により検出した非孤立点画素以外の画素を孤立点画素として設定する。その後、この設定された孤立点画素を除去対象画素値とは異なる画素値(以下「非除去対象画素値」という。)に変換し出力する。
【0025】
図4は、画像処理部14により実行される画像処理の手順を示すフローチャートである。ここでは、一例として、入力する画像は除去対象画素の画素値を1、それ以外の画素の画素値を0とする2値画像とし、参照画素集合を5×5画素の正方形の領域とする。つまり除去できる孤立点は画素値が1でその大きさが高さ3以下、幅3以下となる。
【0026】
図4において、まず画像入力部11に入力された画像を画像メモリ12に保持する(ステップS401)。
【0027】
次に、上記保持された画像データから図7に示す左上端参照画素集合抽出位置701にある5×5画素を参照画素集合として抽出する(ステップS402)。
【0028】
次に、図5のように、縁部のみを1とした5×5のデータからなる外部連結マスク501と参照画素集合502の画素値との論理積503を算出し、その算出された画素の中で画素値1となるものの集合である非孤立点画素候補の存在が検出されたか否かを判別する(ステップS403)。この判別の結果、非孤立点画素候補の存在が検出されなかった場合は、参照画素集合内に非孤立点画素はないと判断して、ステップS407の処理に進む。
【0029】
一方、ステップS403の判別の結果、非孤立点画素候補の存在が検出されたときは、この非孤立点画素候補中の全画素及びこれらの少なくとも1つと繋がっている除去対象画素値を有する全ての画素から成る拡大非孤立点画素候補を取得する(ステップS404)。このステップS404の処理は、非孤立点画素検出部22が非孤立点画素候補を1画素膨張させる処理を行った後に、参照画素集合502との間で画素値の論理積をとることにより実行される。これにより、一度の処理で参照画素集合502内の画素すべてに対して非孤立点画素候補との繋がりを調べることができ、高速に処理を行うことができる。上記膨張させる処理では、具体的には、図6に示すように、まず非孤立点画素候補中の全画素の画素値を1とし、他を0とした画像601を左に1画素ずらした画像602a、上に1画素ずらした画像602b、右に1画素ずらした画像602c、及び下に1画素ずらした画像602dを生成する。次に、これら生成された4種類の画像602a〜602dと画像601の5枚の画像を用いて同一位置の画素の論理和を計算し、この論理和を画素値とした画像602を取得する。次に画像602と参照画素集合502の画素ごとの画素値の論理積からなる画像603を取得する。この画像603の画素のうち画素値が1(除去対象画素値)である画素の集合を拡大非孤立点画素として取得する。
【0030】
尚、ステップS404の処理では、一の画素に対して上下左右の4つの方向において隣接する画素を、一の画素と繋がっている画素と判断したがこれに限定はされない。例えば、上下左右に隣接する画素だけでなく、右上、左上、右下、左下といった斜め方向において隣接する画素についても、一の画素と繋がっている画素と判断してもよい。この場合、図8に示すように、非孤立点画素候補を画素値1とし他を0とした画像601を上下左右に夫々1画素ずらした画像602a〜602dを生成するだけでなく、右上、左上、右下、左下に夫々1画素ずらした画像801a〜801dも生成し、この8種の画像602a〜602d,801a〜801dと画像601の9枚の画像を用いて同一位置の画素の論理和を計算し、この論理和を画素値とした画像802を取得する。次に画像802と参照画素集合502との画素ごとの画素値の論理積からなる画像803を取得する。
【0031】
この画像803の画素のうち画素値が1(除去対象画素値)である画素の集合を拡大非孤立点画素候補として取得する。
【0032】
次に、ステップS405において、拡大非孤立点画素候補と非孤立点画素候補に差違があるか否かを判別する。この判別の結果、差違があれば、拡大非孤立点画素候補で非孤立点画素候補を置き換えて(ステップS405a)、もう一度、ステップS404からの処理を行う。一方、ステップS405の判別の結果、差違がなければ非孤立点画素候補中の全画素を非孤立点画素として設定することで非孤立点画素を検出し(ステップS406)、ステップS407の処理に進む。このとき拡大非孤立点画素候補と非孤立点画素候補は等しいので拡大非孤立点画素候補中の全画素を非孤立点画素として設定してもよい。このステップS404〜S406の処理により、非孤立点画素の全てを確実に検出することができる。
【0033】
ステップS407では、参照画素集合のうち、設定された非孤立点画素以外の部分の画素値を非除去対象画素値(ここでは0)に書き換える(ステップS407)。
【0034】
その後、参照画素集合の抽出位置は右下端か否かを判別し(ステップS408)、抽出位置が右下端であるときは、ステップS410の処理に進む。一方、ステップS408の判別の結果、抽出位置が右下端でないときは、参照画素集合の抽出位置を変更して(ステップS409)、ステップS402からの処理を繰り返す。これにより、画像全体に対して確実に孤立点画素除去処理を行うことができる。
【0035】
ここで、ステップS409の処理は、図7のように、具体的にはまず、左上端参照画素集合抽出位置から参照画素集合をX方向に1画素ずつずらしながら走査する。次にX方向の走査が終了したら、参照画素集合の抽出位置を左端にもどし、Y方向に1画素移動してから同様にX方向に1画素ずつ走査する。これを図7に示す右下端参照画素集合抽出位置まで繰り返す。
【0036】
画像全体に対して孤立点画素除去処理が行われたら画像メモリ12に保持されている2値画像を画像出力部13により出力し(ステップS410)、本処理を終了する。
【0037】
本処理によれば、保持していた画像データからm×n(但し,m,nは共に3以上の整数)画素の領域を参照画素集合として抽出し(ステップS402)、参照画素集合中の非孤立点画素候補に基づいて非孤立点画素を設定する(ステップS403〜S406)。さらに、参照画素集合のうち設定された非孤立点画素以外の部分の画素値を非除去対象画素値に書き換える(ステップS407)。これにより、孤立点画素の周辺の画像パターンに関わらず、孤立点画素を正確に除去することができる。また、参照画素集合の大きさがm×n画素の場合、高さm−2以下、幅n−2以下の孤立点はどのような形状、大きさでも除去できる。
【0038】
さらに、本実施の形態のように、2値画像に対して本画像処理方法を適用する場合は、参照画素集合に対して行う処理を、シフト、AND、ORという最も簡単な画像処理命令と、一つの条件分岐(繰り返し部分)だけで構成できる。これにより、高速に処理を行うことができる。
【0039】
さらに、本処理によれば、入力された画像データから参照画素集合を抽出して、そのなかで孤立点画素をじかに探す場合のように走査方向により孤立点画素除去の結果が変わることはない。これにより、走査(参照画素集合の移動)を多方向から行う必要はなく、所定の方向で順次2次元的に行えばよい。
【0040】
尚、本実施の形態では2値画像が入力の場合の画像処理方法について述べたが、2値以外の多値画像に適用してもよい。例えば、256階調の多値画像について、本画像処理を行う場合は、まず、例えば0〜64の画素値を除去対象画素値とする。次に、参照画素集合を抽出する際に、除去対象画素値であるかないかにより、画像を0と1の2値画像で表現する。その後、上記2値画像と同様の処理を行い非孤立点画素を得る。そして、参照画素集合のうち、除去対象画素値を有し、かつ非孤立点画素でない画素を、例えば参照画素集合のうち除去対象画素値とは異なる画素値を有する画素の画素値の平均値などで上書きすることで孤立点画素除去が行える。
【0041】
また、参照画素集合はm×n画素の四角の領域とすることが画像処理において好適であるが、領域の形は多角形でもよく略円形でもよい。本発明はスキャナ内部で行う画像処理に適用してもよく、またスキャナからPC等のホストコンピュータに転送した画像データに対する画像処理に適用してもよい。本発明の画像処理はハードウェアで行うこともできるが、その一部又は全部をソフトウェアで行ってもよい。
【0042】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0043】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0044】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0045】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0046】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【0047】
【図1】本発明の実施の形態に係る画像処理装置の全体構成を概略的に示すブロック図である。
【図2】図1における画像処理部の構成を概略的に示すブロック図である。
【図3】画像処理部により実行される孤立点画素除去方法を説明するのに用いられる図である。
【図4】画像処理部により実行される画像処理の手順を示すフローチャートである。。
【図5】画像処理部により実行される非孤立点画素候補の取得方法を説明するのに用いられる図である。
【図6】画像処理部により実行される拡大非孤立点画素候補の取得方法を説明するのに用いられる図である。
【図7】画像処理部により実行される参照画素集合の抽出方法を説明するのに用いられる図である。
【図8】画像処理部により実行される拡大非孤立点画素候補の他の取得方法を説明するのに用いられる図である。
【図9】従来の画像処理方法による孤立点画素除去方法を説明するのに用いられる図である。
【図10】参照画素領域中の孤立点画素の各種パターンを示す図である。
【図11】従来の他の画像処理方法による孤立点画素除去方法を説明するのに用いられる図である。
【符号の説明】
【0048】
11 画像入力部
12 画像メモリ
13 画像出力部
14 画像処理部
21 参照画素集合抽出部
22 非孤立点画素検出部
23 孤立点画素除去部
【特許請求の範囲】
【請求項1】
入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置において、
前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出手段と、
前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出手段と、
前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去手段とを備えることを特徴とする画像処理装置。
【請求項2】
前記非孤立点画素検出手段は、
前記参照画素集合の縁部に含まれる画素のうち前記除去対象画素値を有する画素の集合を、非孤立点画素候補として検出する候補検出手段と、
前記非孤立点画素候補に含まれる全ての画素及びこれらの少なくとも1つと繋がっている前記参照画素集合中の画素のうち前記除去対象画素値を有する全ての画素からなる画素の集合を取得する取得手段と、
前記非孤立点画素候補と前記取得された画素の集合との間に差違があるとき、前記取得された画素の集合で前記非孤立点画素候補を置換する置換手段と、
前記置換された非孤立点画素候補を用いて、前記取得手段による画素の集合の取得を繰り返す取得繰返手段と、
前記非孤立点画素候補と前記取得された画素の集合との間に差違がないとき、前記取得された画素の集合及び前記非孤立点画素候補のいずれかの中の全画素を前記非孤立点画素に設定する非孤立点画素設定手段とを備えることを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記一の領域は、m及びnを3以上の整数として縦がm画素で横がn画素の四角形の領域であることを特徴とする請求項1又は2記載の画像処理装置。
【請求項4】
前記取得手段は、一の画素に対して上下左右の4つの方向において隣接する画素を、前記一の画素と繋がっている画素と判断することを特徴とする請求項2又は3記載の画像処理装置。
【請求項5】
前記取得手段は、一の画素に対して上下左右、左上、右上、左下及び、右下の8つの方向において隣接する画素を、前記一の画素と繋がっている画素と判断することを特徴とする請求項2又は3記載の画像処理装置。
【請求項6】
前記取得手段は、前記非孤立点画素候補に対して膨張処理を行うことを特徴とする請求項2乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記孤立点画素除去手段は、前記参照画素集合中の前記除去対象画素値を有する画素のうち前記検出された非孤立点画素以外の画素を、前記孤立点画素として設定する孤立点画素設定手段と、前記設定された孤立点画素の画素値を非除去対象画素値に変換する画素値変換手段とを備えることを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置の画像処理方法において、
前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出ステップと、
前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出ステップと、
前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去ステップとを備えることを特徴とする画像処理方法。
【請求項9】
入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置の画像処理方法をコンピュータにより実行させるプログラムにおいて、
前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出モジュールと、
前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出モジュールと、
前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去モジュールとを備えることを特徴とするプログラム。
【請求項1】
入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置において、
前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出手段と、
前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出手段と、
前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去手段とを備えることを特徴とする画像処理装置。
【請求項2】
前記非孤立点画素検出手段は、
前記参照画素集合の縁部に含まれる画素のうち前記除去対象画素値を有する画素の集合を、非孤立点画素候補として検出する候補検出手段と、
前記非孤立点画素候補に含まれる全ての画素及びこれらの少なくとも1つと繋がっている前記参照画素集合中の画素のうち前記除去対象画素値を有する全ての画素からなる画素の集合を取得する取得手段と、
前記非孤立点画素候補と前記取得された画素の集合との間に差違があるとき、前記取得された画素の集合で前記非孤立点画素候補を置換する置換手段と、
前記置換された非孤立点画素候補を用いて、前記取得手段による画素の集合の取得を繰り返す取得繰返手段と、
前記非孤立点画素候補と前記取得された画素の集合との間に差違がないとき、前記取得された画素の集合及び前記非孤立点画素候補のいずれかの中の全画素を前記非孤立点画素に設定する非孤立点画素設定手段とを備えることを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記一の領域は、m及びnを3以上の整数として縦がm画素で横がn画素の四角形の領域であることを特徴とする請求項1又は2記載の画像処理装置。
【請求項4】
前記取得手段は、一の画素に対して上下左右の4つの方向において隣接する画素を、前記一の画素と繋がっている画素と判断することを特徴とする請求項2又は3記載の画像処理装置。
【請求項5】
前記取得手段は、一の画素に対して上下左右、左上、右上、左下及び、右下の8つの方向において隣接する画素を、前記一の画素と繋がっている画素と判断することを特徴とする請求項2又は3記載の画像処理装置。
【請求項6】
前記取得手段は、前記非孤立点画素候補に対して膨張処理を行うことを特徴とする請求項2乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記孤立点画素除去手段は、前記参照画素集合中の前記除去対象画素値を有する画素のうち前記検出された非孤立点画素以外の画素を、前記孤立点画素として設定する孤立点画素設定手段と、前記設定された孤立点画素の画素値を非除去対象画素値に変換する画素値変換手段とを備えることを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置の画像処理方法において、
前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出ステップと、
前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出ステップと、
前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去ステップとを備えることを特徴とする画像処理方法。
【請求項9】
入力された画像データから除去対象画素値を有する孤立点画素を除去する画像処理装置の画像処理方法をコンピュータにより実行させるプログラムにおいて、
前記画像データから一の領域内の画素を参照画素集合として抽出する参照画素集合抽出モジュールと、
前記参照画素集合中の前記除去対象画素値を有し、かつ孤立していない画素を非孤立点画素として検出する非孤立点画素検出モジュールと、
前記参照画素集合中の前記除去対象画素値を有し、かつ前記非孤立点画素でない画素を前記孤立点画素として除去する孤立点画素除去モジュールとを備えることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−78792(P2008−78792A)
【公開日】平成20年4月3日(2008.4.3)
【国際特許分類】
【出願番号】特願2006−253151(P2006−253151)
【出願日】平成18年9月19日(2006.9.19)
【出願人】(000104652)キヤノン電子株式会社 (876)
【Fターム(参考)】
【公開日】平成20年4月3日(2008.4.3)
【国際特許分類】
【出願日】平成18年9月19日(2006.9.19)
【出願人】(000104652)キヤノン電子株式会社 (876)
【Fターム(参考)】
[ Back to top ]