(57)【要約】【課題】ラベリング処理に要する処理時間及びメモリ容量を、従来よりも低減することができる画像処理方法、画像処理装置、該画像処理装置を備える画像形成装置、及び該画像処理装置を実現するコンピュータプログラムを提供する。【解決手段】ラベル付け処理部２７２は、二値化部２７１から入力された二値化画像を構成する画素を所要の方向に走査し、画素にラベルを付するラベル付け処理を行うことにより、ラベルマップを生成し、生成したラベルマップをラベルマップ格納部２７３へ格納する。ラベル数判定部２７４は、ラベル付け処理部２７２で画素に付された異なるラベル数を計数し、計数したラベル数が予め定められた閾値以上であるか否かに基づいて、繰り返しラベル付け処理を行うか否かを判定し、判定結果に基づいて、ラベル付け処理部２７２でのラベル付け処理を繰り返す。【選択図】図２
2007156750.tif 000002
【特許請求の範囲】
【請求項１】
画像上の画素を所定方向に走査し、走査された画素によって得られた画素情報に応じて画素にラベルを付し、ラベルが付された画素を連結した連結画素に基づいて所定の処理を行う画像処理方法において、
第１の走査方向に走査された注目画素が所定の画素情報を有する場合、該注目画素に隣接する画素にラベルが付されているか否かに基づいて、前記注目画素に前記ラベルと同一又は異なるラベルを付する第１のラベル付けステップと、
前記第１の走査方向と異なる第２の走査方向に走査された注目画素にラベルが付されている場合、該注目画素に隣接する画素に付されたラベルに基づいて、前記注目画素に付されたラベルを更新する第２のラベル付けステップと、
ラベルが付された画素を連結した連結画素を生成するステップと
を備えることを特徴とする画像処理方法。
【請求項２】
前記第１のラベル付けステップで画素に付された異なるラベル数を計数するステップと、
計数されたラベル数が所定の閾値以上である場合、前記第２のラベル付けステップを行うことを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記第２のラベル付けステップで画素に付された異なるラベル数を計数するステップと、
計数されたラベル数が所定の閾値以上である場合、前記第２のラベル付けステップを再度異なる走査方向で行うことを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記第２のラベル付けステップを複数回その都度異なる走査方向で繰り返すことを特徴とする請求項１に記載の画像処理方法。
【請求項５】
前記連結画素を特定するステップは、
注目画素に付されたラベルと該注目画素に隣接する画素に付されたラベルとを比較するステップと、
比較結果に基づいて、注目画素に付された異なるラベル夫々に対して、該ラベルが付された注目画素に隣接する画素に付され、前記ラベルと異なるラベルを関連付けるステップと
を備え、
関連付けられたラベルに基づいて、画素を連結することを特徴とする請求項１乃至請求項４のいずれか１つに記載の画像処理方法。
【請求項６】
画像上の画素を所定方向に走査し、走査された画素によって得られた画素情報に応じて画素にラベルを付し、ラベルが付された画素を連結した連結画素に基づいて所定の処理を行う画像処理装置において、
第１の走査方向に走査された注目画素が所定の画素情報を有する場合、該注目画素に隣接する画素にラベルが付されているか否かに基づいて、前記注目画素に前記ラベルと同一又は異なるラベルを付する第１のラベル付け手段と、
該第１のラベル付け手段でラベル付けされた場合、前記第１の走査方向と異なる第２の走査方向に走査された注目画素にラベルが付されているときに、該注目画素に隣接する画素に付されたラベルに基づいて、前記注目画素に付されたラベルを更新する第２のラベル付け手段と、
ラベルが付された画素を連結した連結画素を生成する手段と
を備えることを特徴とする画像処理装置。
【請求項７】
前記第１のラベル付け手段で画素に付された異なるラベル数を計数する手段を備え、
前記第２のラベル付け手段は、
前記第１のラベル付け手段で計数されたラベル数が所定の閾値以上である場合、ラベル付けを行うようにしてあることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記第２のラベル付け手段で画素に付された異なるラベル数を計数する手段を備え、
前記第２のラベル付け手段は、
該第２のラベル付け手段で計数されたラベル数が所定の閾値以上である場合、再度異なる走査方向でラベル付けを行うようにしてあることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記第２のラベル付け手段でラベル付けを複数回その都度異なる走査方向で繰り返すべくなしてあることを特徴とする請求項６に記載の画像処理装置。
【請求項１０】
前記連結画素を生成する手段は、
注目画素に付されたラベルと該注目画素に隣接する画素に付されたラベルとを比較する手段と、
比較結果に基づいて、注目画素に付された異なるラベル夫々に対して、該ラベルが付された注目画素に隣接する画素に付され、前記ラベルと異なるラベルを関連付ける手段と
を備え、
関連付けられたラベルに基づいて、画素を連結すべくなしてあることを特徴とする請求項６乃至請求項９のいずれか１つに記載の画像処理装置。
【請求項１１】
画像上の画素を所定方向に走査し、走査された画素によって得られた画素情報に応じて画素にラベルを付し、ラベルが付された画素を連結した連結画素に基づいて所定の処理を行う画像処理装置と、該画像処理装置で処理された画像データに基づき、画像の形成を行う画像形成手段とを備える画像形成装置において、
前記画像処理装置は、
請求項６乃至請求項１０のいずれか１つに記載の画像処理装置であることを特徴とする画像形成装置。
【請求項１２】
コンピュータに、画像上の画素を所定方向に走査し、走査された画素によって得られた画素情報に応じて画素にラベルを付し、ラベルが付された画素を連結した連結画素に基づいて所定の処理を行うためのコンピュータプログラムにおいて、
コンピュータを、
第１の走査方向に走査された注目画素が所定の画素情報を有する場合、該注目画素に隣接する画素にラベルが付されているか否かに基づいて、前記注目画素に前記ラベルと同一又は異なるラベルを付する第１のラベル付け手段と、
該第１のラベル付け手段でラベル付けされた場合、前記第１の走査方向と異なる第２の走査方向に走査された注目画素にラベルが付されているときに、該注目画素に隣接する画素に付されたラベルに基づいて、前記注目画素に付されたラベルを更新する第２のラベル付け手段と、
ラベルが付された画素を連結した連結画素を生成する手段と
して機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像上の画素を所定方向に走査し、走査された画素の画像データに基づいて、連結する画素にラベルを付すラベリング処理を行う画像処理方法、画像処理装置、該画像処理装置を備える画像形成装置、及び前記画像処理装置を実現するためのコンピュータプログラムに関する。
【背景技術】
【０００２】
近年のデジタル画像処理技術の進展及びネットワークの高い普及率による情報のデジタル化によって、カラー画像を高画質で再現するデジタルカラー複写機又はカラーデジタル複合機などの画像形成装置が製品化されている。画像形成装置は、所定の処理を行う画像処理装置を備え、画像処理装置は、デジタルカメラ又はスキャナ等などの画像入力装置から入力された画像データを処理し、電子写真方式又はインクジェット方式などのプリンタに代表される画像出力装置は、画像処理装置で処理された画像データに基づいて、出力画像を出力する。
【０００３】
このような画像形成装置においては、入力された画像データに基づいて、出力画像を形成する場合、入力画像に対する再現性（例えば、色再現）の安定した画像を出力することが要求されている。このため、画像の再現性を高める方法として、例えば、入力画像の中で人物の肌色からなる特定色領域を抽出し、抽出した特定色領域に対して所要の色補正などの処理が行われている。また、この特定色領域を抽出する前処理として、入力画像を構成する画素を二値化し、同じ値を有する画素にラベルを付し、ラベルを付した画素を連結して連結画素を特定するラベリング処理が行われる。
【０００４】
ラベリング処理は、例えば、二値化された画像を順次走査して仮ラベルを付与し、画素夫々に対して付与した仮ラベルをラベリングリンクメモリに格納する。付与された仮ラベル毎に１個の隣接する画素のラベルを取得し、各ラベルに属する画素数、各ラベルの面積、位置、又は重心などの特徴量に基づいて、仮ラベルと隣接ラベルとの関係を示すラベルテーブルを生成する。生成したラベルテーブルの仮ラベルと隣接ラベルとを１つのラベルとして統合することにより、連結画素を特定する方法が提案されている（特許文献１参照）。
【特許文献１】特開２００４−３８６６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の方法にあっては、画素毎に該画素に付与された仮ラベルをラベリングリンクメモリ（以下、「ラベルマップ」という）に格納しているため、仮ラベル毎に独立した処理を画像中に画素夫々に対して行う必要がある場合は、画像中の全画素分のラベルマップが必要となる。このため、ラベルマップは、仮ラベル数に応じた容量のメモリを必要とし、ラベルマップ用のメモリ容量が大きくなるという問題があった。また、仮ラベル数をｎとすると、ラベルテーブルの隣接する仮ラベル同士を統合するラベル連結処理において、最大ｎ・（ｎ＋１）／２回ラベルテーブルの参照処理を行う必要があり、ラベル連結処理に要する処理時間が膨大になる虞があった。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであり、第１の走査方向に走査された注目画素が該注目画素に隣接する画素にラベルが付されているか否かに基づいて、前記注目画素に前記ラベルと同一又は異なるラベルを付し（第１のラベル付け）、前記第１の走査方向と異なる第２の走査方向に走査された注目画素に該注目画素に隣接する画素に付されたラベルに基づいて、前記注目画素に付されたラベルを更新し（第２のラベル付け）、ラベルが付された画素を連結して連結画素を生成することにより、ラベリング処理に要する処理時間及びメモリ容量を、従来よりも低減することができる画像処理方法、画像処理装置、該画像処理装置を備える画像形成装置、及び該画像処理装置を実現するコンピュータプログラムを提供することを目的とする。
【０００７】
また、本発明の他の目的は、前記第１のラベル付けで画素に付された異なるラベル数が所定の閾値以上である場合、前記第２のラベル付けを行うことにより、画素に付されるラベル数を少なくして、ラベリング処理に要する処理時間及びメモリ容量を低減することができる画像処理方法、画像処理装置、該画像処理装置を備える画像形成装置を提供することにある。
【０００８】
また、本発明の他の目的は、前記第２のラベル付けで画素に付された異なるラベル数が所定の閾値以上である場合、前記第２のラベル付けを再度異なる走査方向で行うことにより、画素に付されるラベル数を少なくして、ラベリング処理に要する処理時間及びメモリ容量を低減することができる画像処理方法、画像処理装置、該画像処理装置を備える画像形成装置を提供することにある。
【０００９】
また、本発明の他の目的は、前記第２のラベル付けを複数回その都度異なる走査方向で繰り返すことにより、画素に付されるラベル数を少なくして、ラベリング処理に要する処理時間及びメモリ容量を低減することができる画像処理方法、画像処理装置、該画像処理装置を備える画像形成装置を提供することにある。
【００１０】
また、本発明の他の目的は、注目画素に付されたラベルと該注目画素に隣接する画素に付されたラベルとを比較した結果に基づいて、注目画素に付された異なるラベル夫々に対して、該ラベルが付された注目画素に隣接する画素に付され、前記ラベルと異なるラベルを関連付け、関連付けられたラベルに基づいて、画素を連結することにより、ラベル連結処理に要する処理時間を低減することができる画像処理方法、画像処理装置、該画像処理装置を備える画像形成装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明に係る画像処理方法は、画像上の画素を所定方向に走査し、走査された画素によって得られた画素情報に応じて画素にラベルを付し、ラベルが付された画素を連結した連結画素に基づいて所定の処理を行う画像処理方法において、第１の走査方向に走査された注目画素が所定の画素情報を有する場合、該注目画素に隣接する画素にラベルが付されているか否かに基づいて、前記注目画素に前記ラベルと同一又は異なるラベルを付する第１のラベル付けステップと、前記第１の走査方向と異なる第２の走査方向に走査された注目画素にラベルが付されている場合、該注目画素に隣接する画素に付されたラベルに基づいて、前記注目画素に付されたラベルを更新する第２のラベル付けステップと、ラベルが付された画素を連結した連結画素を生成するステップとを備えることを特徴とする。
【００１２】
本発明に係る画像処理方法は、前記第１のラベル付けステップで画素に付された異なるラベル数を計数するステップと、計数されたラベル数が所定の閾値以上である場合、前記第２のラベル付けステップを行うことを特徴とする。
【００１３】
本発明に係る画像処理方法は、前記第２のラベル付けステップで画素に付された異なるラベル数を計数するステップと、計数されたラベル数が所定の閾値以上である場合、前記第２のラベル付けステップを再度異なる走査方向で行うことを特徴とする。
【００１４】
本発明に係る画像処理方法は、前記第２のラベル付けステップを複数回その都度異なる走査方向で繰り返すことを特徴とする。
【００１５】
本発明に係る画像処理方法は、前記連結画素を特定するステップは、注目画素に付されたラベルと該注目画素に隣接する画素に付されたラベルとを比較するステップと、比較結果に基づいて、注目画素に付された異なるラベル夫々に対して、該ラベルが付された注目画素に隣接する画素に付され、前記ラベルと異なるラベルを関連付けるステップとを備え、関連付けられたラベルに基づいて、画素を連結することを特徴とする。
【００１６】
本発明に係る画像処理装置は、画像上の画素を所定方向に走査し、走査された画素によって得られた画素情報に応じて画素にラベルを付し、ラベルが付された画素を連結した連結画素に基づいて所定の処理を行う画像処理装置において、第１の走査方向に走査された注目画素が所定の画素情報を有する場合、該注目画素に隣接する画素にラベルが付されているか否かに基づいて、前記注目画素に前記ラベルと同一又は異なるラベルを付する第１のラベル付け手段と、該第１のラベル付け手段でラベル付けされた場合、前記第１の走査方向と異なる第２の走査方向に走査された注目画素にラベルが付されているときに、該注目画素に隣接する画素に付されたラベルに基づいて、前記注目画素に付されたラベルを更新する第２のラベル付け手段と、ラベルが付された画素を連結した連結画素を生成する手段とを備えることを特徴とする。
【００１７】
本発明に係る画像処理装置は、前記第１のラベル付け手段で画素に付された異なるラベル数を計数する手段を備え、前記第２のラベル付け手段は、前記第１のラベル付け手段で計数されたラベル数が所定の閾値以上である場合、ラベル付けを行うようにしてあることを特徴とする。
【００１８】
本発明に係る画像処理装置は、前記第２のラベル付け手段で画素に付された異なるラベル数を計数する手段を備え、前記第２のラベル付け手段は、該第２のラベル付け手段で計数されたラベル数が所定の閾値以上である場合、再度異なる走査方向でラベル付けを行うようにしてあることを特徴とする。
【００１９】
本発明に係る画像処理装置は、前記第２のラベル付け手段でラベル付けを複数回その都度異なる走査方向で繰り返すべくなしてあることを特徴とする。
【００２０】
本発明に係る画像処理装置は、前記連結画素を生成する手段は、注目画素に付されたラベルと該注目画素に隣接する画素に付されたラベルとを比較する手段と、比較結果に基づいて、注目画素に付された異なるラベル夫々に対して、該ラベルが付された注目画素に隣接する画素に付され、前記ラベルと異なるラベルを関連付ける手段とを備え、関連付けられたラベルに基づいて、画素を連結すべくなしてあることを特徴とする。
【００２１】
本発明に係る画像形成装置は、画像上の画素を所定方向に走査し、走査された画素によって得られた画素情報に応じて画素にラベルを付し、ラベルが付された画素を連結した連結画素に基づいて所定の処理を行う画像処理装置と、該画像処理装置で処理された画像データに基づき、画像の形成を行う画像形成手段とを備える画像形成装置において、前記画像処理装置は、本発明のいずれか１つに係る画像処理装置であることを特徴とする。
【００２２】
本発明に係るコンピュータプログラムは、コンピュータに、画像上の画素を所定方向に走査し、走査された画素によって得られた画素情報に応じて画素にラベルを付し、ラベルが付された画素を連結した連結画素に基づいて所定の処理を行うためのコンピュータプログラムにおいて、コンピュータを、第１の走査方向に走査された注目画素が所定の画素情報を有する場合、該注目画素に隣接する画素にラベルが付されているか否かに基づいて前記注目画素に前記ラベルと同一又は異なるラベルを付する第１のラベル付け手段と、該第１のラベル付け手段でラベル付けされた場合、前記第１の走査方向と異なる第２の走査方向に走査された注目画素にラベルが付されているときに、該注目画素に隣接する画素に付されたラベルに基づいて、前記注目画素に付されたラベルを更新する第２のラベル付け手段と、ラベルが付された画素を連結した連結画素を生成する手段として機能させることを特徴とする。
【００２３】
本発明にあっては、注目画素を第１の走査方向（例えば、画像の左上の位置から１ラインずつ画像の右下の位置）に走査し、注目画素が所定の画素情報を有するか否かを判定する。注目画素が所定の画素情報を有する場合（例えば、二値化データの「１」の場合）、注目画素に隣接する画素にラベルが付されているか否かを判定する。隣接する画素にラベルが付されていない場合、注目画素に新たなラベル（例えば、「１」）を付す。また、隣接する画素にラベルが付されている場合、付されているラベルの中で最小値のラベルを注目画素に付す。例えば、隣接する画素に付されたラベルが、「２」、及び「３」である場合、注目画素にラベル「２」を付す。一方、注目画素が所定の画素情報を有しない場合（例えば、二値化データの「０」の場合）、走査方向に沿って次の注目画素を判定する。この第１のラベル付けを画像中のすべての画素について行う。
【００２４】
次に注目画素を前記第１の走査方向と異なる第２の走査方向（例えば、画像の右下の位置から１ラインずつ画像の左上の位置）に走査し、注目画素にラベルが付されているか否かを判定する。注目画素にラベルが付されている場合、該注目画素に隣接する画素に付されたラベルに基づいて、前記注目画素にラベルを付する。例えば、注目画素のラベルが「４」であり、注目画素に隣接する画素に付されたラベルが、「２」、及び「３」である場合、注目画素のラベルより小さく、かつ隣接する画素に付されたラベルの中で最小値のラベルである「２」を注目画素に付す。これにより、注目画素のラベルを、「４」から「２」に更新され、画素に付される異なるラベル数を低減する。一方、注目画素にラベルが付されていない場合、走査方向に沿って次の注目画素を判定する。この第２のラベル付けを画像中のすべての画素について行う。これにより、画像中のすべての画素と、該画素に対応するラベルとを示すラベルマップを生成する。ラベルが付された画素を連結することにより連結画素を生成する。
【００２５】
本発明にあっては、第１のラベル付けで画素に付された異なるラベル数を計数する。計数したラベル数が所定の閾値以上である場合、第２のラベル付けを行う。例えば、第２のラベル付けを行うか否かを判定する閾値を「３」とした場合、第１のラベル付けで付されたラベルが、例えば、「１」、「２」、「３」、及び「４」である場合、異なるラベル数は４となり、計数したラベル数４は、閾値「３」より大きいため、第２のラベル付けを行う。第２のラベル付けで、ラベル数を低減することができ、付されたラベルが、例えば、「１」、及び「２」である場合、異なるラベル数は２となり、計数したラベル数２は、閾値「３」より小さいため、再度ラベル付けを行わない。これにより、画素に付された異なるラベル数を低減する。
【００２６】
本発明にあっては、第２のラベル付けで画素に付された異なるラベル数を計数する。計数したラベル数が所定の閾値以上である場合、第２のラベル付けを再度異なる走査方向で行う。例えば、第２のラベル付けを行うか否かを判定する閾値を「３」とした場合、第２のラベル付けで付されたラベルが、例えば、「１」、「２」、「３」、及び「４」である場合、異なるラベル数は４となり、計数したラベル数４は、閾値「３」より大きいため、第２のラベル付けを再度異なる走査方向で行う。
【００２７】
本発明にあっては、前記第２のラベル付けを複数回その都度異なる走査方向で繰り返す。これにより、ラベル付けを１回行う場合に比べて、画素に付された異なるラベル数を低減する。
【００２８】
本発明にあっては、ラベルが付された画素を順次走査し、注目画素に付されたラベルと該注目画素に隣接する画素に付されたラベルとを比較する。比較結果に基づいて、異なるラベル夫々に対して、該ラベルが付された画素に隣接する画素に付され、前記ラベルと異なるラベルを関連付ける（例えば、後述のラベルテーブルを生成する）。例えば、注目画素のラベルが「１」である場合に、該注目画素に隣接する画素にラベルが付されていないとき（又はラベル「０」が付されているとき）、ラベルテーブルのアドレスにラベル「１」を、対応するテーブル値にラベル「１」を格納する。注目画素のラベルが「２」である場合に、該注目画素に隣接する画素にラベルが付されていないとき、ラベルテーブルのアドレスにラベル「２」を、対応するテーブル値にラベル「２」を格納する。注目画素のラベルが「２」である場合に、該注目画素に隣接する画素に付されたラベルが「２」、及び「３」であるとき、ラベルテーブルのラベル「３」のアドレスに対応するテーブル値にラベル「２」を格納する。また、注目画素のラベルが「２」である場合に、該注目画素に隣接する画素に付されたラベルが「２」、及び「４」であるとき、ラベルテーブルのラベル「４」のアドレスに対応するテーブル値にラベル「２」を格納する。
【００２９】
ラベルテーブルにより関連付けられたラベルに基づいて、ラベルが付された画素を連結する。すなわち、ラベルテーブルのアドレスに格納された最大値のラベルと関連付けられたテーブル値のラベルを判定し、判定したラベルを格納するアドレスに対応するテーブル値のラベルを順次判定し、アドレスに対応するテーブル値を判定されたラベルで更新することにより、テーブル値として同一のラベルを有するアドレスに格納された各ラベルを付された画素を連結する。
【発明の効果】
【００３０】
本発明にあっては、第１の走査方向に走査して、注目画素が該注目画素に隣接する画素にラベルが付されているか否かに基づいて、前記注目画素に前記ラベルと同一又は異なるラベルを付し（第１のラベル付け）、前記第１の走査方向と異なる第２の走査方向に走査して、注目画素に該注目画素に隣接する画素に付されたラベルに基づいて、前記注目画素にラベルを付し（第２のラベル付け）、ラベルが付された画素を連結して連結画素を生成することにより、ラベリング処理に要する処理時間及びメモリ容量を、従来よりも低減することができる。
【００３１】
本発明にあっては、第１のラベル付けで画素に付された異なるラベル数が所定の閾値以上である場合、前記第２のラベル付けを行うことにより、画素に付されるラベル数を少なくして、ラベリング処理に要する処理時間及びメモリ容量を低減することができる。
【００３２】
本発明にあっては、第２のラベル付けで画素に付された異なるラベル数が所定の閾値以上である場合、前記第２のラベル付けを再度異なる走査方向で行うことにより、画素に付されるラベル数を少なくして、ラベリング処理に要する処理時間及びメモリ容量を低減することができる。
【００３３】
本発明にあっては、前記第２のラベル付けを複数回その都度異なる走査方向で繰り返すことにより、画素に付されるラベル数を少なくして、ラベリング処理に要する処理時間及びメモリ容量を低減することができる。
【００３４】
本発明にあっては、注目画素に付されたラベルと該注目画素に隣接する画素に付されたラベルとを比較した結果に基づいて、画素に付された異なるラベル夫々に対して、該ラベルが付された画素に隣接する画素に付され、前記ラベルと異なるラベルを関連付け、関連付けられたラベルに基づいて、画素を連結することにより、ラベル連結処理に要する処理時間を低減することができる。
【発明を実施するための最良の形態】
【００３５】
実施の形態１
以下、本発明を実施の形態を示す図面に基づいて説明する。図１は本発明に係る画像処理装置２０を備える画像形成装置１０の構成を示すブロック図である。画像形成装置１０は、カラー画像入力装置１１、画像処理装置２０、画像形成手段としてのカラー画像出力装置１２、操作パネル１３などを備える。カラー画像入力装置１１で原稿などを読み込むことにより得られたＲＧＢ（Ｒ：赤、Ｇ：緑、Ｂ：青）のアナログ信号の画像データは、画像処理装置２０へ出力され、画像処理装置２０で所定の処理が行われ、ＣＭＹＫ（Ｃ：シアン、Ｍ：マゼンダ、Ｙ：イエロー、Ｋ：黒）のデジタルカラー信号としてカラー画像出力装置１２へ出力される。
【００３６】
カラー画像入力装置１１は、例えば、ＣＣＤ（Charged Coupled Device）を備えたスキャナであり、原稿画像からの反射光像をＲＧＢのアナログ信号として読み取り、読み取ったＲＧＢ信号を画像処理装置２０へ出力する。また、カラー画像出力装置１２は、原稿画像の画像データを記録紙上に出力する電子写真方式又はインクジェット方式などのプリンタである。また、カラー画像出力装置１２は、ディスプレイ等の表示装置であってもよい。
【００３７】
画像処理装置２０は、後述する各処理部を備え、ＡＳＩＣ（Application Specific Integrated Circuit）などにより構成される。また、各処理部は、ＣＰＵにより構成される制御部３３により制御される。
【００３８】
Ａ／Ｄ変換部２１は、カラー画像入力装置１１から入力されたＲＧＢ信号を、例えば、１０ビットのデジタル信号に変換し、変換後のＲＧＢ信号をシェーディング補正部２２へ出力する。
【００３９】
シェーディング補正部２２は、入力されたＲＧＢ信号に対して、カラー画像入力装置１１の照明系、結像系、撮像系などで生じた各種の歪みを取り除く補正処理を行い、補正後のＲＧＢ信号を原稿種別自動判定部２３及び入力階調補正部２４へ出力する。
【００４０】
原稿種別自動判定部２３は、シェーディング補正部２２から入力されたＲＧＢ信号を濃度信号など画像処理装置２０で採用されている画像処理において扱い易い信号に変換するとともに、入力された原稿が、文字原稿、印刷写真原稿、若しくは印画紙写真であるか、又はこれらが混在する文字・印刷写真原稿であるかなどの判定を行い、判定結果である原稿種別判定信号を特定色判定部２７へ出力する。
【００４１】
入力階調補正部２４は、入力されたＲＧＢ信号（ＲＧＢの反射率信号）に対して、カラーバランスを整える処理を行うとともに、下地濃度の除去又はコントラストなど画質調整処理を施し、処理後のＲＧＢ信号を領域分離処理部２５へ出力する。
【００４２】
領域分離処理部２５は、入力されたＲＧＢ信号に基づき、入力された画像中の各画素が、文字領域、網点領域、写真領域の何れであるかを分離する。領域分離処理部２５は、分離結果に基づいて、各画素がどの領域に属しているかを示す領域分離信号を色補正部２８、空間フィルタ処理部３０、階調再現処理部３２へ出力する。また、領域分離処理部２５は、入力されたＲＧＢ信号を拡大縮小処理部２６へ出力する。
【００４３】
拡大縮小処理部２６は、操作パネル１３より入力される操作信号に基づいて、画像の拡大又は縮小処理を行い、処理後のＲＧＢ信号を特定色判定部２７へ出力する。
【００４４】
特定色判定部２７は、入力されたＲＧＢ信号の示す色が予め定められた範囲のものである否か（例えば、特定色であるか非特定色であるか）を画素毎に判定するとともに、特定色の画素が閉領域であるか否かを判定し、判定結果を特定色判定信号として色補正部２８へ出力する。また、特定色判定部２７は、特定色と判定された画素の数を計数し、計数値に応じて決定される調整信号を色補正部２８へ出力する。これにより、特定色判定部２７は、画像中の特定領域を抽出する。
【００４５】
ここで、特定色とは、例えば、人間の肌色、空の青色、若しくは草木の緑色などの記憶色（すなわち、視覚経験に基づいて人間の記憶の中に残されている色）、又は所望の画像認識を行う上で必要な色などであり、非特定色とは、特定色以外の色である。
【００４６】
図２は特定色判定部２７の構成を示すブロック図である。特定色判定部２７は、判定部２７０、二値化部２７１、ラベル付け処理部２７２、ラベルマップ格納部２７３、ラベル数判定部２７４、隣接ラベル検出処理部２７５、ラベルテーブル格納部２７６、ラベル連結処理部２７７、ＬＵＴ処理部２７８、調整信号設定部２７９などを備える。
【００４７】
判定部２７０は、入力されたＲＧＢ信号の示す色が予め定められた範囲のものである否か（例えば、特定色であるか非特定色であるか）を画素毎に判定し、画素毎に特定色であるか非特定色であるかを示す特定色判定信号を色補正部２８へ出力する。
【００４８】
二値化部２７１は、入力されたＲＧＢ信号に基づいて、各画素が特定色であるか否かの条件により二値化処理を行い、二値化画像をラベル付け処理部２７２へ出力する。
【００４９】
ラベル付け処理部２７２は、二値化部２７１から入力された二値化画像を構成する画素を所要の方向に走査し、走査した各画素が有する二値化データ（例えば、特定色である場合は「１」、非特定色である場合は「０」）に基づいて、画素にラベルを付するラベル付け処理を行うことにより、ラベルマップを生成し、生成したラベルマップをラベルマップ格納部２７３へ格納する。ここで、ラベルマップは、画像の各画素と該画素に付されたラベルとの対応関係を示すものである。
【００５０】
また、ラベル付け処理部２７２は、ラベル付け処理を繰り返し行う場合、ラベルマップ格納部２７３に格納されたラベルマップを読み出し、読み出したラベルマップ上の画素を、ラベルマップを生成する際に走査した方向と異なる方向で走査することにより、生成されたラベルマップを更新し、更新したラベルマップをラベルマップ格納部２７３へ格納する。なお、ラベル付け処理部２７２は、所要の回数ラベルマップの画素をその都度異なる方向で走査し、ラベルマップを更新する。
【００５１】
ラベル数判定部２７４は、ラベル付け処理部２７２で画素に付された異なるラベル数を計数し、計数したラベル数が予め定められた閾値以上であるか否かに基づいて、繰り返しラベル付け処理を行うか否かを判定し、判定結果に基づいて、ラベル付け処理部２７２でのラベル付け処理を繰り返す。
【００５２】
例えば、ラベル付け処理を繰り返すか否かを判定する閾値を「３」とした場合、ラベル付け処理部２７２で第１のラベル付けで付されたラベルが、例えば、「１」、「２」、「３」、及び「４」である場合、異なるラベル数は４となり、計数したラベル数４は、閾値「３」より大きいため、ラベル付け処理部２７２で第２のラベル付けを行う。第２のラベル付けで、ラベル数を低減することができ、付されたラベルが、例えば、「１」、及び「２」である場合、異なるラベル数は２となり、計数したラベル数２は、閾値「３」より小さいため、再度ラベル付けを行わない。ラベル付け処理を異なる走査方向で走査することにより、ラベル付け処理の都度、注目画素に隣接する画素を変更することができ、注目画素に対して、多くの隣接画素を関連付けることができ、これにより、画素に付された異なるラベル数を低減することができる。
【００５３】
閾値は、ラベル付け処理（ラベリング処理）に要する処理時間及び隣接ラベル検出処理に要する処理時間と、ラベル連結処理に要する処理時間との関係、又はラベルテーブル用に確保することができるメモリ容量などから決定することができる。例えば、ラベル付け処理に要する処理時間をＫ、隣接ラベル検出処理に要する処理時間をＬ、ラベル数がｎの場合に要するラベル連結処理時間をＭ（ｎ）、係数をＰとした場合、Ｍ（ｎ）＜Ｐ・（Ｋ＋Ｌ）となるような最小のｎの値を閾値とする。また、メモリ容量によりラベル数が制限される場合、その制限を超えないようなラベル数を閾値とすることができる。
【００５４】
隣接ラベル検出処理部２７５は、生成又は更新されたラベルマップをラベルマップ格納部２７３から読み出し、読み出したラベルマップを順次走査し、注目画素に隣接する画素のラベルの中で、注目画素のラベルより大きいラベルがある場合、その隣接する画素の大きいラベルを注目画素のラベルで置き換えることにより、隣接する画素に対応するラベルの相関関係を示すラベルテーブルを生成し、生成したラベルテーブルをラベルテーブル格納部２７６へ格納する。
【００５５】
ここで、ラベルテーブルは、アドレスとテーブル値との各欄で構成され、アドレスには、画素に付された異なるラベル（例えば、「１」、「２」、「３」、「４」）が格納され、テーブル値には、アドレスに格納されたラベルが付された画素に隣接する画素に付されたラベルの中で最小のラベルを格納される。例えば、ラベルマップを走査し、注目画素のラベルが「２」である場合に、その注目画素に隣接する画素に付されたラベルが「２」、及び「４」であるとき、ラベルテーブルのラベル「４」のアドレスに対応するテーブル値にラベル「２」が格納される。
【００５６】
ラベル連結処理部２７７は、ラベルテーブル格納部２７６からラベルテーブルを読み出し、ラベルの最大値を格納するアドレスよりラベルの降順に走査し、各アドレスに格納されたラベルと相関のある最小のラベルを求め、テーブル値に格納されたラベルを求めたラベルで置き換えることにより、ラベルテーブルを更新する。これにより、アドレスに格納されたラベルに対応するテーブル値のラベル夫々を１つのラベルとして統合することにより、画素に付された異なるラベルを１つのラベルに統合して、ラベルが統合された画素を連結した連結画素を生成する。
【００５７】
ＬＵＴ処理部２７８は、ラベル連結処理部２７７で行われたラベル連結処理で得られた最終的なラベルテーブルをＬＵＴ（Look Up Table）としてラベルマップに対して適用することにより、ラベルマップを更新し、更新したラベルマップを調整信号設定部２７９へ出力する。これにより、ラベルマップ上で連結画素を生成することができる。なお、ラベルマップを後処理で必要ない場合には、ＬＵＴ処理部２７８での処理は不要である。
【００５８】
調整信号設定部２７９は、ＬＵＴ処理部２７８から入力されたラベルマップに基づいて、画像の総画素数に対する連結画素数の割合を算出し、算出した割合に応じて、予め定められた調整信号を色補正部２８へ出力する。画像の総画素数に対する連結画素数の割合は、入力画像における特定色領域の大きさを示し、入力画像を見る者に対して与える影響の大きさを表すとともに、入力画像の特性を表す特性値として利用することができる。
【００５９】
色補正部２８は、入力されたＲＧＢ信号をＣＭＹの色空間に変換し、カラー画像出力装置１２の特性に合わせて色補正を行い、補正後のＣＭＹ信号を黒生成下色除去部２９へ出力する。具体的には、色補正部２８は、特定色判定部２７から入力された特定色判定信号、調整信号に基づいて、色再現の忠実化のため、不要吸収成分を含むＣＭＹ色材の分光特性に基づいた色濁りを取り除く処理を行う。
【００６０】
黒生成下色除去部２９は、色補正部２８から入力されたＣＭＹ信号に基づいて、Ｋ（黒）信号を生成するとともに、入力されたＣＭＹ信号からＫ信号を差し引いて新たなＣＭＹ信号を生成し、生成したＣＭＹＫ信号を空間フィルタ処理部３０へ出力する。
【００６１】
黒生成下色除去部２９における処理の一例を示す。例えば、スケルトンブラックによる黒生成を行う処理の場合、スケルトンカーブの入出力特性をｙ＝ｆ（ｘ）とし、入力されるデータをＣ、Ｍ、Ｙとし、出力されるデータをＣ´、Ｍ´、Ｙ´、Ｋ´とし、ＵＣＲ（Under Color Removal）率をα（０＜α＜１）とすると、黒生成下色除去処理により出力されるデータ夫々は、Ｋ´＝ｆ｛ｍｉｎ（Ｃ、Ｍ、Ｙ）｝、Ｃ´＝Ｃ−αＫ´、Ｍ´＝Ｍ−αＫ´、Ｙ´＝Ｙ−αＫ´で表される。
【００６２】
空間フィルタ処理部３０は、黒生成下色除去部２９から入力されたＲＧＢ信号に対して、領域分離信号に基づいたデジタルフィルタによる空間フィルタ処理が行われる。これにより、画像データの空間周波数特性が補正され、カラー画像出力装置１２における出力画像のぼやけ、又は粒状性劣化を防止する。例えば、空間フィルタ処理部３０は、領域分離処理部２５において文字領域に分離された領域を、特に黒文字又は色文字の再現性を高めるため、鮮鋭強調処理を施し高周波成分を強調する。また、空間フィルタ処理部３０は、領域分離処理部２５において網点領域に分離された領域を、入力網点成分を除去するためのローパス・フィルタ処理を施す。空間フィルタ処理部３０は、処理後のＲＧＢ信号を出力階調補正部３１へ出力する。
【００６３】
出力階調補正部３１は、空間フィルタ処理部３０から入力されたＣＭＹＫ信号に対して、画像出力装置１２の特性値である網点面積率に変換する出力階調補正処理を行い、出力階調補正処理後のＣＭＹＫ信号を階調再現処理部３２へ出力する。
【００６４】
階調再現処理部３２は、領域分離処理部２５から入力された領域分離信号に基づいて、出力階調補正部３１から入力されたＣＭＹＫ信号に対して所定の処理を行う。例えば、階調再現処理部３２は、文字領域に分離された領域を、特に黒文字又は色文字の再現性を高めるため、カラー画像出力装置１２における高周波成分の再現に適するように二値化処理又は多値化処理を行う。
【００６５】
また、階調再現処理部３２は、領域分離処理部２５において網点領域に分離された領域を、最終的に画像を画素に分離して、それぞれの階調を再現できるように階調再現処理（中間調生成）を行う。さらに、階調再現処理部３２は、領域分離処理部２５において網点領域に分離された領域を、カラー画像出力装置１２における階調再現性に適するように二値化処理又は多値化処理を行う。
【００６６】
画像処理装置２０は、階調再現処理部３２で処理された画像データ（ＣＭＹＫ信号）を記憶部（不図示）に一旦記憶し、画像形成をする所定のタイミングで記憶部に記憶した画像データを読み出し、読み出した画像データをカラー画像出力装置１２へ出力する。これらの制御は、制御部３３により行われる。
【００６７】
次に本発明に係る画像処理装置２０の動作について説明する。図３は特定領域抽出処理の手順を示すフローチャートである。なお、特定領域抽出処理は、ＡＳＩＣにより実現される構成でもよく、またＣＰＵで実行されるコンピュータプログラムにより実現される構成でもよい。ラベル付け処理部２７２は、制御部３３の制御のもと、二値化部２７１から入力された画像データに基づいて、ラベリング処理を行う（Ｓ１）。これにより、ラベル付け処理部２７２は、ラベルマップを生成する。
【００６８】
ラベル数判定部２７４は、制御部３３の制御のもと、ラベル付け処理部２７２で画素に付されたラベル数（異なるラベルの数）を計数し、ラベル数が所定の閾値以下であるか否かを判定する（Ｓ２）。ラベル数が所定の閾値以下でない場合（Ｓ２でＮＯ）、ラベル付け処理部２７２は、ステップＳ１以降の処理を続け、再度ラベリング処理を行う。これにより、ラベル付け処理部２７２は、ラベルマップを更新する。
【００６９】
ラベル数が所定の閾値以下である場合（Ｓ２でＹＥＳ）、隣接ラベル検出処理部２７５は、隣接ラベル検出処理を行う（Ｓ３）。これにより、隣接ラベル検出処理部２７５は、ラベルテーブルを生成する。ラベル連結処理部２７７は、隣接ラベル検出処理部２７５で生成されたラベルテーブルに基づいて、ラベル連結処理を行う（Ｓ４）。これにより、ラベルテーブルを隣接するラベルを１つのラベルとして統合するように書き換えていく。
【００７０】
ＬＵＴ処理部２７８は、ラベル連結処理により得られた最終的なラベルテーブルをＬＵＴとしてラベルマップに適用することにより、ラベルマップを更新するＬＵＴ処理を行い（Ｓ５）、処理を終了する。
【００７１】
次に、上記各処理について具体的に説明する。図４はラベリング処理の手順を示すフローチャートである。ラベリング処理では、画像の各画素のアドレスと、該画素に付されたラベルとの対応を示すラベルマプを生成する。
【００７２】
ラベル付け処理部２７２は、画素に順次付されるラベルのうち最後に付されるラベルである最終ラベルＲＬの初期化として、最終ラベルＲＬの初期値を０に設定する（Ｓ１０１）。なお、本ラベリング処理では、ラベルを「１」、「２」、…と順次付す場合を説明するが、画素に順次付すラベルは、これに限定されるものではなく、任意の数字、記号などを用いることができる。
【００７３】
ラベル付け処理部２７２は、入力された二値化画像の注目画素（ラベル付けを行う対象とする画素）の画素情報を取得する（Ｓ１０２）。ここで、注目画素の画素情報は、例えば、二値化画像において注目画素が前景又は背景のいずれであるかを示すものである。この場合、前景は「１」で表し、背景は「０」で表すことができる。
【００７４】
ラベル付け処理部２７２は、注目画素が前景であるか否かを判定し（Ｓ１０３）、注目画素が前景である場合（Ｓ１０３でＹＥＳ）、参照する周辺の４画素のラベルを取得する（Ｓ１０４）。ここで、参照する４画素とは、例えば、画像上の注目画素の座標を（ｘ、ｙ）で表し、順方向（ｘ、ｙいずれも増加する方向）にラベル付けのために注目画素を走査する場合、直前にラベル付けを行った画素（ｘ−１、ｙ）、注目画素の１つ前のライン（ｙ座標がｙ−１のライン）において、注目画素に隣接する画素（ｘ−１、ｙ−１）、（ｘ、ｙ−１）、及び（ｘ＋１、ｙ−１）の４画素である。
【００７５】
ラベル付け処理部２７２は、４つの参照画素のラベルがすべて「０」であるか否かを判定し（Ｓ１０５）、４つの参照画素のラベルがすべて「０」である場合（Ｓ１０５でＹＥＳ）、最終ラベルＲＬを「１」増加し（Ｓ１０６）、ラベルマップの注目画素に対応するアドレスにＲＬの値を注目画素のラベルとして格納する（Ｓ１０７）。これにより、注目画素が、隣接する画素（参照画素）と何ら繋がりがない場合（すなわち、参照画素のラベルがすべて「０」である場合）、順次新しいラベル（「１」、「２」、…）が付されることになる。
【００７６】
ラベル付け処理部２７２は、画像中のすべての画素の処理が終了したか否かを判定し（Ｓ１０８）、画像中のすべての画素の処理が終了していない場合（Ｓ１０８でＮＯ）、注目画素の座標を「１」増加させて（Ｓ１１１）、ステップＳ１０２以降の処理を続ける。これにより、二値化画像の画素すべてを所定の方向で走査する。
【００７７】
注目画素が前景でない場合（Ｓ１０３でＮＯ）、ラベル付け処理部２７２は、注目画素のラベルを「０」とし、ラベルマップにおける注目画素の対応アドレスにラベル「０」を格納し（Ｓ１１０）、ステップＳ１０８以降の処理を続ける。
【００７８】
４つの参照画素のラベルがすべて「０」でない場合（Ｓ１０５でＮＯ）、ラベル付け処理部２７２は、「０」でない４つのラベルのうち最小ラベルを注目画素のラベルとし、ラベルマップにおける注目画素の対応アドレスに最小ラベルを格納し（Ｓ１０９）、ステップＳ１０８以降の処理を続ける。このラベリング処理は、上述のとおり、画素に付されたラベル数が所定の閾値以上である場合、注目画素の走査方向を変えて繰り返し行われる。
【００７９】
図５及び図６は注目画素と隣接する参照画素との関係を示す模式図である。図５は二値化画像における画素の座標を（ｘ、ｙ）で表し、図中右方向をｘが増加するｘ方向とし、下方向をｙが増加するｙ方向としている。図に示すように、ラベルを付す対象の画素を注目画素とし、注目画素の座標を（ｘ１、ｙ１）とする。注目画素の走査方向は、画像の左上からｘ方向に１ライン走査し、右端に到達後は、座標をｙ方向に１つ増加させ、再びｘ方向に１ライン走査し、以降同様の走査を繰り返して、画像の右下まで全画素を走査する。
【００８０】
注目画素（ｘ１、ｙ１）に隣接する参照画素は、例えば、座標が（ｘ１−１、ｙ１）、（（ｘ１＋１、ｙ１−１）、（ｘ１、Ｙ１−１）、及び（ｘ１−１、ｙ１−１）の４つの画素である。なお、参照画素は、４つに限定されるものではなく、例えば、座標が（ｘ１−１、ｙ）、及び（ｘ１、ｙ１−１）の２つの画素を用いることもできるが、本発明では、４つの参照画素を用いる、いわゆる８連結ラベリングを用いて説明する。
【００８１】
図６は各画素にラベルを付したラベルマップにおける画素の座標を（ｘ、ｙ）で表し、図中右方向をｘが増加するｘ方向とし、下方向をｙが増加するｙ方向としている。図に示すように、ラベルを付す対象の画素を注目画素とし、注目画素の座標を（ｘ２、ｙ２）とする。注目画素の走査方向は、画像の右下からｘ方向と逆方向に１ライン走査し、左端に到達後は、座標をｙ方向と逆方向に１つ減少させ、再びｘ方向と逆方向に１ライン走査し、以降同様の走査を繰り返して、画像の左上まで全画素を走査する。
【００８２】
図７は二値化画像の一例を示す模式図である。図に示すように、画像上に文字「ぬ」が表されている場合、二値化画像は、例えば、文字「ぬ」を表す前景を「１」で表し、文字「ぬ」以外の領域を表す背景を「０」で表す。
【００８３】
図８及び図９はラベルマップの一例を示す模式図である。図８は図７の二値化画像に対して図５に示す走査方向でラベリング処理を施した結果得られるラベルマップを示し、図９は図８のラベルマップに対して、図６に示す走査方向でラベリング処理を施した結果得られるラベルマップを示す。
【００８４】
図８において、注目画素が画素Ａの場合、４つの参照画素のラベルがすべて「０」であるので、注目画素Ａには、「０」に初期化された最終ラベルＲＬに「１」を加えたラベル「１」が付される。また、注目画素を続けて走査し、注目画素が画素Ｂの場合、４つの参照画素のラベルがすべて「０」であるので、注目画素Ｂには、「１」に更新された最終ラベルＲＬに「１」を加えたラベル「２」が付される。
【００８５】
また、注目画素を続けて走査し、注目画素が画素Ｃの場合、４つの参照画素のラベルがすべて「０」であるので、注目画素Ｃには、「２」に更新された最終ラベルＲＬに「１」を加えたラベル「３」が付される。このように、注目画素が隣接する参照画素と繋がりがない場合、その都度新しいラベル「１」、「２」、「３」が注目画素に付される。
【００８６】
注目画素を続けて走査し、注目画素が画素Ｄの場合、４つの参照画素のラベルは、「３」、「２」、「０」、「０」であるので、注目画素Ｄには、参照画素のラベルのうち、最小ラベルである「２」が付される。なお、この場合、ラベル「０」は、便宜上「０」という数字を有しているが、ラベル「０」はラベルなしと同等であると判定する。以降同様のラベリング処理を繰り返すことにより、図８に示すようなラベルマップを得ることができる。
【００８７】
図９において、注目画素が画素Ｅの場合、４つの参照画素のラベルがすべて「０」であるので、注目画素Ｅには繋がりが存在しないとして、注目画素Ｅのラベル（この場合、「２」）と最終ラベルＲＬ（この場合、「４」）と比較し、注目画素Ｅのラベルが最終ラベルより大きくないので、注目画素Ｅのラベルを更新せず、次の画素を走査する。
【００８８】
注目画素を続けて走査し、注目画素が画素Ｆの場合、４つの参照画素のラベルは、「２」、「０」、「０」、「０」であるので、参照画素のラベルのうち、最小ラベルである「２」と、注目画素Ｆのラベル（この場合、「４」）とを比較し、最小ラベルが注目画素Ｆのラベルより小さいので、注目画素Ｆのラベルを最小ラベル「２」で更新する。以降同様のラベリング処理を繰り返すことにより、図９に示すようなラベルマップを得ることができる。
【００８９】
これにより、１回目のラベリング処理において、最終ラベルＲＬは「４」であったが、２回目のラベリング処理を１回目の走査方向と異なる走査方向で行うことにより、各注目画素に対する参照画素を重複することなく、異なる参照画素を用いて画像中の多くの画素を参照することができ、最終ラベルＲＬは「２」に減少し、ラベル数を低減することができる。
【００９０】
図１０及び図１１は隣接ラベル検出処理の手順を示すフローチャートである。隣接ラベル検出処理では、画素に付されたラベルと、該ラベルと相関のある最小ラベルとの対応を示すラベルテーブルを生成する。なお、ラベルテーブルのテーブル値は予め「０」に初期化されているものとする。
【００９１】
隣接ラベル検出処理部２７５は、ラベルマップを走査し、注目画素のラベルを取得し（Ｓ３０１）、取得したラベルが「０」である否かを判定する（Ｓ３０２）。ラベルが「０」でない場合（Ｓ３０２でＮＯ）、隣接ラベル検出処理部２７５は、ラベルテーブルより、ラベルに対応するアドレスに格納されているテーブル値を取得する（Ｓ３０３）。隣接ラベル検出処理部２７５は、取得したテーブル値が「０」であるか否かを判定し（Ｓ３０４）、取得したテーブル値が「０」でない場合（Ｓ３０４でＮＯ）、参照する参照画素のラベルを取得する（Ｓ３０５）。
【００９２】
隣接ラベル検出処理部２７５は、参照画素のラベルが「０」であるか否かを判定し（Ｓ３０６）、ラベルが「０」である場合（Ｓ３０６でＹＥＳ）、最後の参照画素であるか否かを判定する（Ｓ３０７）。最後の参照画素でない場合（Ｓ３０７でＮＯ）、隣接ラベル検出処理部２７５は、ステップＳ３０５以降の処理を続け、４つの参照画素すべてについて同様の処理を行う。最後の参照画素である場合（Ｓ３０７でＹＥＳ）、隣接ラベル検出処理部２７５は、すべての画素の処理が終了したか否かを判定し（Ｓ３０８）、すべての画素の処理が終了していない場合（Ｓ３０８でＮＯ）、注目画素の座標を１つ増加させて（Ｓ３１２）、次の注目画素について同様の処理を行うべく、ステップＳ３０１以降の処理を続ける。
【００９３】
注目画素のラベルが「０」である場合（Ｓ３０２でＹＥＳ）、隣接ラベル検出処理部２７５は、ステップＳ３０８以降の処理を続ける。テーブル値が「０」である場合（Ｓ３０４でＹＥＳ）、隣接ラベル検出処理部２７５は、注目画素のラベルに対応するテーブル値を注目画素のラベル値に更新し（Ｓ３０９）、ステップＳ３０８以降の処理を続ける。
【００９４】
参照画素のラベルのすべてが「０」でない場合（Ｓ３０６でＮＯ）、隣接ラベル検出処理部２７５は、参照画素のラベルのテーブル値が注目画素のラベルのテーブル値より大きいか否かを判定する（Ｓ３１０）。参照画素のラベルのテーブル値が注目画素のラベルのテーブル値より大きい場合（Ｓ３１０でＹＥＳ）、隣接ラベル検出処理部２７５は、注目画素のラベルのテーブル値を新たな参照画素のラベルに対応するテーブル値として格納し（Ｓ３１１）、ステップＳ３０７以降の処理を続ける。
【００９５】
参照画素のラベルのテーブル値が注目画素のラベルのテーブル値より大きくない場合（Ｓ３１０でＮＯ）、隣接ラベル検出処理部２７５は、ステップＳ３０７以降の処理を続ける。すべての画素の処理が終了した場合（Ｓ３０８でＹＥＳ）、隣接ラベル検出処理部２７５は、処理を終了する。
【００９６】
図１２はラベルテーブルの例を示す模式図である。図に示すように、ラベルテーブルは、アドレス及びテーブル値の各欄で構成される。アドレスには、注目画素に付された異なるラベル（例えば、「１」、「２」、「３」、「４」）が格納され、テーブル値には、アドレスに格納されたラベルが付された画素に隣接する画素（参照画素）に付されたラベルの中で最小のラベルを格納している。
【００９７】
図１２（ａ）は、図８において注目画素Ｃに対する隣接ラベル検出処理前のラベルテーブルを示す。ラベルテーブルのテーブル値は、予め「０」に初期化されており、図８における注目画素Ａに対する隣接ラベル検出処理を行うことにより、アドレス「１」に対応するテーブル値は、「１」で更新され、図８における注目画素Ｂに対する隣接ラベル検出処理を行うことにより、アドレス「２」に対応するテーブル値は、「２」で更新されている。また、アドレス「３」、「４」に対応するテーブル値は、初期値である「０」のままである。
【００９８】
図８において、注目画素Ｃのラベルは「３」であるので、アドレス「３」に対応するテーブル値「０」を取得する。取得したテーブル値が「０」であるため、アドレス「３」に対応するテーブル値に「３」を格納して、次の注目画素Ｄの処理に移行する。この結果、図８において注目画素Ｄに対する隣接ラベル検出処理前のラベルテーブルを図１２（ｂ）に示す。
【００９９】
注目画素Ｄのラベルは「２」であるので、アドレス「２」に対応するテーブル値「２」を取得する。取得したテーブル値が「０」でないので、次に参照画素のラベルを取得する。図８において、注目画素Ｄに隣接する４つの参照画素のラベルは、「３」、「２」、「０」、「０」であるので、テーブル値「２」より大きいラベルは「３」となる。この場合、アドレス「３」に対応するテーブル値は「３」であるので、アドレス「３」に対応するテーブル値を「２」で更新する。この結果、ラベルテーブルは、図１２（ｃ）に示すように更新される。
【０１００】
以降同様の処理を図８に示す全画素について行うことにより、ラベルテーブルは、図１２（ｄ）に示すように更新される。また、図９に示すラベルマップに対して隣接ラベル検出処理を行った結果、ラベルテーブルは、図１２（ｅ）に示すように更新される。
【０１０１】
図１３はラベル連結処理の手順を示すフローチャートである。ラベル連結処理では、隣接ラベル検出処理で得られたラベルテーブルを、例えば、最も大きなアドレスより降順に走査し、それぞれのアドレスに格納されたラベルと相関のある最小ラベルを判定し、ラベルテーブルを更新する。
【０１０２】
ラベル連結処理部２７７は、ラベルテーブルの最大アドレスを注目アドレスとし（Ｓ４０１）、注目アドレスに格納されたラベル（すなわち、注目アドレスに対応するテーブル値）を取得する（Ｓ４０２）。ラベル連結処理部２７７は、注目アドレスとラベル（テーブル値）が同一であるか否かを判定し（Ｓ４０３）、同一でない場合（Ｓ４０３でＮＯ）、取得したラベル（テーブル値）に対応するアドレスに格納されたラベル（テーブル値）を取得する（Ｓ４０４）。
【０１０３】
ラベル連結処理部２７７は、ラベル（テーブル値）とアドレスが同一であるか否かを判定し（Ｓ４０５）、同一である場合（Ｓ４０５でＹＥＳ）、注目アドレスに最後に取得したラベル（テーブル値）を格納する（Ｓ４０６）。ラベル（テーブル値）とアドレスが同一でない場合（Ｓ４０５でＮＯ）、ラベル連結処理部２７７は、ステップＳ４０４以降の処理を続ける。
【０１０４】
ラベル連結処理部２７７は、注目アドレスがラベルテーブルの先頭アドレス（最小アドレス）であるか否かを判定し（Ｓ４０７）、先頭アドレスでない場合（Ｓ４０７でＮＯ）、注目アドレスを１つ減少して（Ｓ４０８）、ステップＳ４０２以降の処理を続ける。注目アドレスとラベル（テーブル値）が同一である場合（Ｓ４０３でＹＥＳ）、ラベル連結処理部２７７は、ステップＳ４０７以降の処理を続ける。注目アドレスが先頭アドレスである場合（Ｓ４０７でＹＥＳ）、ラベル連結処理部２７７は、処理を終了する。
【０１０５】
上述のラベル連結処理を、図１２（ｄ）に示すラベルテーブル（すなわち、ラベリング処理を１回行った場合）に対して行った場合、ラベルテーブルへのアクセス（メモリアクセス）は５回となる。すなわち、図１２（ｄ）に示すラベルテーブルの場合、最終ラベルが「４」であるため、最初の注目アドレスは、「４」となる。まず、アドレス「４」のテーブル値「２」を参照する（第１回目アクセス）。アドレスとテーブル値が一致していないため、次にアドレス「２」のテーブル値「１」を参照する（第２回目アクセス）。「１」は有効な最小ラベルであり、アドレス「１」に対応するテーブル値は必ず「１」であるため、アドレス「１」のテーブル値を参照する必要はない。
【０１０６】
従って、「１」が関連を有する最小ラベルであるとして、アドレス「４」のテーブル値を「１」で更新する（第３回目アクセス）。以上のように注目アドレス「４」に対する処理で行われるアクセス回数は３回となる。同様に、注目アドレス「３」に対する処理で行われるアクセス回数は１回、注目アドレス「２」に対する処理で行われるアクセス回数は１回となり、図１２（ｄ）で示すラベルテーブルに対するアクセス回数は合計で５回となる。
【０１０７】
一方、図１２（ｅ）で示すラベルテーブルに対するアクセス回数は１回となる。このように、異なる走査方向でラベリング処理を２回行った場合、ラベル連結処理における処理量は５分の１となり、ラベル連結処理に要する処理時間を低減することができるとともに、ラベルテーブルに要するメモリ容量を低減することができる。
【０１０８】
ラベルテーブルの並べ方は、上述の隣接ラベル検出処理の例のように空き番号がある場合に対応するアドレスのメモリ空間に「０」を格納することにより、高速な処理が可能である。また、メモリ領域を低減する場合には、空き番号をつめてラベルテーブルを生成することも可能である。
【０１０９】
ラベリング処理と隣接ラベル検出処理とは、画素毎に順次走査して行う処理であるので、注目画素（ｘ、ｙ）に対してラベル付け処理を行った後に、注目画素（ｘ、ｙ）に対して隣接ラベル検出処理を行うというように、画素毎に両処理を交互に行ってよく、また、全画素に対してラベリング処理を行った後に、全画素に対して隣接ラベル検出処理を行ってもよい。
【０１１０】
上述の実施の形態においては、２回目のラベリング処理の走査方向が１回目のラベリング処理の走査方向と逆方向である場合について説明したが、走査方向はこれに限定されるものではなく、ｙ座標は前回の走査方向と同一方向であり、ｘ座標は前回の走査方向と逆方向に走査することもでき、また、ｘ座標は前回の走査方向と同一方向であり、ｙ座標は前回の走査方向と逆方向に走査することもできる。なお、参照画素の効率性を考慮した場合、ｘ座標、ｙ座標とも前回の走査方向と逆方向から走査するのが効率的である。
【０１１１】
上述の実施の形態においては、ラベリング処理を再度行うか否かの判定に、ラベル数と閾値とを比較する構成であったが、これに限定されるものではなく、予めラベリング処理の回数を閾値として定めておき、所定回数のラベリング処理を繰り返すこともできる。
【０１１２】
上述の実施の形態においては、二値化画像を用いた場合について説明したが、これに限定されるものではなく、例えば、８ビット（２５６階調）の画像であってもよい。この場合、本発明を適用することにより、例えば、同じ色に属する画素（肌色など）を抽出する
ことができる。
【０１１３】
実施の形態２
図１４は実施の形態２における特定領域抽出処理の手順を示すフローチャートである。ラベル付け処理部２７２は、制御部３３の制御のもと、二値化部２７１から入力された画像データに基づいて、ラベリング処理を行う（Ｓ１１）。これにより、ラベル付け処理部２７２は、ラベルマップを生成する。
【０１１４】
ラベル数判定部２７４は、制御部３３の制御のもと、ラベル付け処理部２７２で所定回数処理を行ったか否かを判定する（Ｓ１２）。所定回数行っていない場合（Ｓ１２でＮＯ）、ラベル付け処理部２７２は、ステップＳ１１以降の処理を続け、再度ラベリング処理を行う。これにより、ラベル付け処理部２７２は、ラベルマップを更新する。
【０１１５】
所定回数行った場合（Ｓ１２でＹＥＳ）、隣接ラベル検出処理部２７５は、隣接ラベル検出処理を行う（Ｓ１３）。これにより、隣接ラベル検出処理部２７５は、ラベルテーブルを生成する。ラベル連結処理部２７７は、隣接ラベル検出処理部２７５で生成されたラベルテーブルに基づいて、ラベル連結処理を行う（Ｓ１４）。これにより、ラベルテーブルを隣接するラベルを１つのラベルとして統合するように書き換えていく。
【０１１６】
ＬＵＴ処理部２７８は、ラベル連結処理により得られた最終的なラベルテーブルをＬＵＴとしてラベルマップに適用することにより、ラベルマップを更新するＬＵＴ処理を行い（Ｓ１５）、処理を終了する。
【０１１７】
なお、上述の実施形態の処理をＡＳＩＣなどに代えて、コンピュータにおいて実行可能なコンピュータプログラムとして構成し、そのコンピュータプログラムを記録媒体（不図示）に格納するとともに、そのコンピュータプログラムをＣＰＵで実行することにより、上述の処理を制御する構成とすることもできる。記録媒体としては、コンピュータ本体に備えられたＲＯＭ、ＲＡＭ、ハードディスク装置などであってもよく、また、コンピュータ本体と分離可能な記録媒体、例えば、磁気テープ又はカセットテープ等のテープ系、フレエキシブルディスク、外部ハードディスクなどの磁気ディスク、ＣＤ−ＲＯＭ、ＭＯ、ＭＤ、ＤＶＤ等の光ディスクなどのディスク系、ＩＣカード（メモリカードを含む）、光カード等のカード系などであってもよい。また、マスクＲＯＭ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、フラッシュＲＯＭ等の半導体メモリを含めた固定的にコンピュータプログラムを担持する媒体であってもよい。これにより、色にじみ処理を行うコンピュータプログラムを記録した記録媒体を持ち運び自在に提供することができる。
【０１１８】
また、記録媒体に格納されているコンピュータプログラムは、マイクロプロセッサがアクセスして実行させる構成であってもよく、あるいはコンピュータプログラムを読み出し、読み出したコンピュータプログラムをコンピュータのプログラム記憶領域（不図示）にインストールされ、そのコンピュータプログラムを実行させる構成でもよい。
【０１１９】
また、本実施の形態においては、インターネットを含む通信ネットワーク（不図示）を接続可能なシステムに構成することも可能であり、通信ネットワークからコンピュータプログラムをダウンロードするように流動的にコンピュータプログラムを担持する媒体であってもよい。なお、通信ネットワークからコンピュータプログラムをダウンロードする場合は、ダウンロード用のコンピュータプログラムを予めコンピュータ本体に格納しておくか、あるいは別の記録媒体からインストールされるものでもよい。
【０１２０】
また、カラー画像入力装置１１としては、例えば、フラットベッドスキャナ、フィルムスキャナ、デジタルカメラ、携帯電話機などが用いられる。カラー画像出力装置１２としては、例えば、ＣＲＴディスプレイ、液晶ディスプレイなどの画像表示装置、処理結果を記録紙などに出力する電子写真方式又はインクジェット方式のプリンタなどが用いられる。さらに画像形成装置１０としては、ネットワークを介してサーバ装置などに接続するための通信手段としてのモデムなどを備えることもできる。また、カラー画像入力装置１１からカラー画像データを取得する代わりに、ネットワークを介して外部記憶装置、サーバ装置などからカラー画像データを取得する構成であってもよい。
【図面の簡単な説明】
【０１２１】
【図１】本発明に係る画像処理装置を備える画像形成装置の構成を示すブロック図である。
【図２】特定色判定部の構成を示すブロック図である。
【図３】特定領域抽出処理の手順を示すフローチャートである。
【図４】ラベリング処理の手順を示すフローチャートである。
【図５】注目画素と隣接する参照画素との関係を示す模式図である。
【図６】注目画素と隣接する参照画素との関係を示す模式図である。
【図７】二値化画像の一例を示す模式図である。
【図８】ラベルマップの一例を示す模式図である。
【図９】ラベルマップの一例を示す模式図である。
【図１０】隣接ラベル検出処理の手順を示すフローチャートである。
【図１１】隣接ラベル検出処理の手順を示すフローチャートである。
【図１２】ラベルテーブルの例を示す模式図である。
【図１３】ラベル連結処理の手順を示すフローチャートである。
【図１４】実施の形態２における特定領域抽出処理の手順を示すフローチャートである。
【符号の説明】
【０１２２】
１０  画像形成装置
１１  カラー画像入力装置
１２  カラー画像出力装置
２０  画像処理装置
２７  特定色判定部
３３  制御部
２７０  判定部
２７１  二値化部
２７２  ラベル付け処理部
２７３  ラベルマップ格納部
２７４  ラベル数判定部
２７５  隣接ラベル検出処理部
２７６  ラベルテーブル格納部
２７７  ラベル連結処理部
２７８  ＬＵＴ処理部
２７９  調整信号設定部
【図１】
2007156750.tif 000003
【図２】
2007156750.tif 000004
【図３】
2007156750.tif 000005
【図４】
2007156750.tif 000006
【図５】
2007156750.tif 000007
【図６】
2007156750.tif 000008
【図７】
2007156750.tif 000009
【図８】
2007156750.tif 000010
【図９】
2007156750.tif 000011
【図１０】
2007156750.tif 000012
【図１１】
2007156750.tif 000013
【図１２】
2007156750.tif 000014
【図１３】
2007156750.tif 000015
【図１４】
2007156750.tif 000016