(57)【要約】【課題】入力されたカラー画像から特定の色を有する領域を的確に抽出する画像処理方法およびそのコンピュータプログラムを実現する。【解決手段】画像処理方法は、カラー画像の各ピクセルについて、ＲＧＢの各明度を取得する明度取得ステップと、ＲＧＢ表色系の色空間上に、取得した明度からヒストグラムを作成する作成ステップと、ある特定のピクセル数を示す色の色空間上の座標と判定対象である色の色空間上の座標との間の距離を算出する距離算出ステップと、判定対象である色を有するピクセル数を、距離を独立変数とする所定の単調増加関数における従属変数の値で除算する除算ステップと、得られた商と所定のしきい値との大小を判定する判定ステップと、得られた商が所定のしきい値よりも大きい場合、判定対象である色は上記特定のピクセル数を示す色のグループに属するものであると決定する決定ステップと、を備える。【選択図】図１
2010108285.tif 000002
【特許請求の範囲】
【請求項１】
入力されたカラー画像から特定の色を有する領域をコンピュータ演算処理により抽出する画像処理方法であって、
コンピュータにより、前記カラー画像における各ピクセルについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、
コンピュータにより、ＲＧＢの各要素の明度を各座標値とするＲＧＢ表色系の色空間上に、取得した前記明度ごとのピクセル数を示すヒストグラムを作成するヒストグラム作成ステップと、
コンピュータにより、前記ヒストグラムにおいてある特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する前記色空間上の座標と、判定対象である色のＲＧＢの各要素の明度に対応する前記色空間上の座標と、の間の距離を算出する距離算出ステップと、
コンピュータにより、前記判定対象である色のＲＧＢの各要素の明度を有するピクセル数を、前記距離を独立変数とする所定の単調増加関数における従属変数の値で除算する除算ステップと、
コンピュータにより、前記除算ステップで得られた商と、所定のしきい値と、の大小関係を判定する判定ステップと、
コンピュータにより、前記除算ステップで得られた商が前記所定のしきい値よりも大きいと前記判定ステップにおいて判定された場合、前記判定対象である色は、前記ヒストグラムにおいて前記特定のピクセル数を示す色のグループに属するものであると決定する決定ステップと、
を備えることを特徴とする画像処理方法。
【請求項２】
前記判定対象である色のＲＧＢの各要素の明度に対応する前記色空間上の座標を、前記特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する前記色空間上の座標に対して前記色空間の各座標軸方向に隣接する座標のいずれかに設定して、前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理が実行される請求項１に記載の画像処理方法。
【請求項３】
判定に係る前記隣接する座標について前記除算ステップで得られた商が、前記所定のしきい値よりも大きいと前記判定ステップにおいて判定される限り、当該判定に係る隣接する座標に対して前記色空間の各座標軸方向にさらに隣接する座標のいずれかをさらなる判定に係る座標に設定して、前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理が繰り返し実行される請求項２に記載の画像処理方法。
【請求項４】
判定に係る前記隣接する座標について前記除算ステップで得られた商が、前記所定のしきい値よりも小さいと前記判定ステップにおいて判定された場合は、当該判定に係る隣接する座標とは別の前記隣接する座標のいずれかをさらなる判定に係る座標に設定して、前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理が実行される請求項２または３に記載の画像処理方法。
【請求項５】
前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理は、前記さらなる判定に係る座標の全てについて、前記除算ステップで得られた商が前記所定のしきい値よりも小さいと前記判定ステップにおいて判定されるまで、実行される請求項４に記載の画像処理方法。
【請求項６】
前記さらなる判定に係る座標の全てについて、前記除算ステップで得られた商が前記所定のしきい値よりも小さいと前記判定ステップにおいて判定された場合、前記特定のピクセル数を、前記ヒストグラムにおいて未だ特定のピクセル数を示す色のグループに属するものであるとは決定されていない色のピクセル数のうち最も多いピクセル数に設定し直して、前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理を実行する請求項５に記載の画像処理方法。
【請求項７】
前記特定のピクセル数の初期設定値として、前記ヒストグラムにおいて最多のピクセル数を設定して、前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理を実行する請求項６に記載の画像処理方法。
【請求項８】
前記ヒストグラムにおける前記特定のピクセル数は、前記カラー画像から抽出される前記特定の色のＲＧＢの各要素の明度を有するピクセル数である請求項１に記載の画像処理方法。
【請求項９】
コンピュータにより、前記決定ステップにおいて属する色のグループが決定された前記判定対象である色を有するピクセルについての、２次元平面上における座標を表すビットマップデータを生成する生成ステップをさらに備える請求項１〜８のいずれか一項に記載の画像処理方法。
【請求項１０】
前記判定対象である色は、前記特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する前記色空間上の座標に隣接する座標に対応するＲＧＢの各要素の明度を有する色である請求項１に記載の画像処理方法。
【請求項１１】
入力されたカラー画像から特定の色を有する領域を抽出する画像処理をコンピュータに実行させるためのコンピュータプログラムであって、
前記カラー画像における各ピクセルについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、
ＲＧＢの各要素の明度を各座標値とするＲＧＢ表色系の色空間上に、取得した前記明度ごとのピクセル数を示すヒストグラムを作成するヒストグラム作成ステップと、
前記ヒストグラムにおいてある特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する前記色空間上の座標と、判定対象である色のＲＧＢの各要素の明度に対応する前記色空間上の座標と、の間の距離を算出する距離算出ステップと、
前記判定対象である色のＲＧＢの各要素の明度を有するピクセル数を、前記距離を独立変数とする所定の単調増加関数における従属変数の値で除算する除算ステップと、
前記除算ステップで得られた商と、所定のしきい値と、の大小関係を判定する判定ステップと、
前記除算ステップで得られた商が前記所定のしきい値よりも大きいと前記判定ステップにおいて判定された場合、前記判定対象である色は、前記ヒストグラムにおいて前記特定のピクセル数を示す色のグループに属するものであると決定する決定ステップと、
を備えることを特徴とする画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１２】
前記判定対象である色のＲＧＢの各要素の明度に対応する前記色空間上の座標を、前記特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する前記色空間上の座標に対して前記色空間の各座標軸方向に隣接する座標のいずれかに設定して、前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理が実行される請求項１１に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１３】
判定に係る前記隣接する座標について前記除算ステップで得られた商が、前記所定のしきい値よりも大きいと前記判定ステップにおいて判定される限り、当該判定に係る隣接する座標に対して前記色空間の各座標軸方向にさらに隣接する座標のいずれかをさらなる判定に係る座標に設定して、前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理が繰り返し実行される請求項１２に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１４】
判定に係る前記隣接する座標について前記除算ステップで得られた商が、前記所定のしきい値よりも小さいと前記判定ステップにおいて判定された場合は、当該判定に係る隣接する座標とは別の前記隣接する座標のいずれかをさらなる判定に係る座標に設定して、前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理が実行される請求項１２または１３に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１５】
前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理は、前記さらなる判定に係る座標の全てについて、前記除算ステップで得られた商が前記所定のしきい値よりも小さいと前記判定ステップにおいて判定されるまで、実行される請求項１４に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１６】
前記さらなる判定に係る座標の全てについて、前記除算ステップで得られた商が前記所定のしきい値よりも小さいと前記判定ステップにおいて判定された場合、前記特定のピクセル数を、前記ヒストグラムにおいて未だ特定のピクセル数を示す色のグループに属するものであるとは決定されていない色のピクセル数のうち最も多いピクセル数に設定し直して、前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理を実行する請求項１５に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１７】
前記特定のピクセル数の初期設定値として、前記ヒストグラムにおいて最多のピクセル数を設定して、前記距離算出ステップ、前記除算ステップ、前記判定ステップおよび前記決定ステップの一連の処理を実行する請求項１６に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１８】
前記ヒストグラムにおける前記特定のピクセル数は、前記カラー画像から抽出される前記特定の色のＲＧＢの各要素の明度を有するピクセル数である請求項１１に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１９】
前記決定ステップにおいて属する色のグループが決定された前記判定対象である色を有するピクセルについての、２次元平面上における座標を表すビットマップデータを生成する生成ステップをさらに備える請求項１１〜１８のいずれか一項に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項２０】
前記判定対象である色は、前記特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する前記色空間上の座標に隣接する座標に対応するＲＧＢの各要素の明度を有する色である請求項１１に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたカラー画像から特定の色を有する領域を抽出する画像処理方法およびそのコンピュータプログラムに関する。
【背景技術】
【０００２】
プリント基板を検査する検査装置においては、プリント基板をディジタルカメラで撮像して得られたカラー画像のデータを用いて、プリント基板の欠陥の有無を検査する。一般に、プリント基板上の配線パターン、レジストおよび各種部品などはそれ自身固有の色をそれぞれ有しているので、検査装置に入力されたカラー画像を画像処理により特定の色を有する領域ごとに分割して各領域を抽出することによって、プリント基板上の配線パターン、レジストおよび各種部品などが配置された各領域の位置および形状などに関する欠陥を検査する。より具体的には、予め設定された代表色とある地点（ピクセル）の色とを、色の三原色であるＲＧＢ（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅ）の各要素の明度に基づいて比較し、比較結果が所定の条件を満たすような場合には、当該地点は代表色で示される領域と同じ領域に属するものであると判定することによって、特定の色の分離抽出を実現する。
【０００３】
予め設定された代表色とある地点（ピクセル）の色との比較条件としては、例えばＲＧＢ表色系の色空間（以下、単に「ＲＧＢ色空間」と称する。）において、代表色のベクトルとある画素の色のベクトルとのなす角および距離を計算し、それらを掛け合わせた値に応じて領域を分割する方法がある（例えば、特許文献１参照）。
【０００４】
また、カラー画像の各画素を色空間上の座標地に変換したヒストグラムの極大点およびその近傍の画素を初期クラスタとして抽出して領域分割する方法がある（例えば、特許文献２参照）。
【０００５】
【特許文献１】特開２００６−０３１５８４号公報
【特許文献２】特開２００４−００５３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１（すなわち特開２００６−０３１５８４号公報）に記載された発明によれば、代表色をユーザがコンピュータを介して逐一指定しなければならず、手間がかかる。また、代表色を誤って指定してしまったり指定し忘れたりすると、領域分割が正常に行えない。さらに、検査対象物であるプリント基板像の撮影時における光源の位置、レンズやカメラの特性、プリント基板の状態などについては特に考慮しないでプリント基板のカラー画像を撮影するので、代表色を単純に指定しただけでは、所望の色の領域を正確に抽出することができない可能性がある。例えば、１本の配線の画像をカラー画像から抽出するために当該配線に対応する代表色であるとして色を指定したにもかかわらず、完全な配線ではなく分断された配線の画像が分離抽出されてしまうことがある。
【０００７】
また、特許文献２（すなわち特開２００４−００５３８３号公報）に記載された発明によれば、カラー画像に色のグラデーション変化が存在する場合、領域分割が正常に行えない可能性がある。
【０００８】
また、特許文献１および特許文献２に記載されたいずれの発明においても、例えば色と色の境界部分に滲みがあった場合、領域が必要以上に細分化されやすく、領域分割が正常に行えない。代表色と同じ色であるにもかかわらず、その色を有するピクセルの位置がどこにあるかによって、領域が不必要に分割されてしまう可能性がある。
【０００９】
従って本発明の目的は、上記問題に鑑み、入力されたカラー画像から特定の色を有する領域を的確に抽出する処理をコンピュータによる自動演算処理で実現する画像処理方法およびこの画像処理をコンピュータに実行させるためのコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を実現するために、本発明においては、入力されたカラー画像から特定の色を有する領域をコンピュータ演算処理により抽出する画像処理方法は、コンピュータにより、カラー画像における各ピクセルについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、コンピュータにより、ＲＧＢの各要素の明度を各座標値とするＲＧＢ表色系の色空間上に、取得した明度ごとのピクセル数を示すヒストグラムを作成するヒストグラム作成ステップと、コンピュータにより、ヒストグラムにおいてある特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する色空間上の座標と、判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標と、の間の距離を算出する距離算出ステップと、コンピュータにより、判定対象である色のＲＧＢの各要素の明度を有するピクセル数を、距離を独立変数とする所定の単調増加関数における従属変数の値で除算する除算ステップと、コンピュータにより、除算ステップで得られた商と、所定のしきい値と、の大小関係を判定する判定ステップと、コンピュータにより、除算ステップで得られた商が所定のしきい値よりも大きいと判定ステップにおいて判定された場合、判定対象である色は、ヒストグラムにおいて特定のピクセル数を示す色のグループに属するものであると決定する決定ステップと、を備える。
【００１１】
上記処理は、コンピュータ等の演算処理装置が実行することができるコンピュータプログラムの形式で実現できる。また、このコンピュータプログラムを記録媒体に格納するという事項も当業者には自明である。
【００１２】
すなわち、入力されたカラー画像から特定の色を有する領域を抽出する画像処理をコンピュータに実行させるためのコンピュータプログラムは、カラー画像における各ピクセルについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、ＲＧＢの各要素の明度を各座標値とするＲＧＢ表色系の色空間上に、取得した明度ごとのピクセル数を示すヒストグラムを作成するヒストグラム作成ステップと、ヒストグラムにおいてある特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する色空間上の座標と、判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標と、の間の距離を算出する距離算出ステップと、判定対象である色のＲＧＢの各要素の明度を有するピクセル数を、距離を独立変数とする所定の単調増加関数における従属変数の値で除算する除算ステップと、除算ステップで得られた商と、所定のしきい値と、の大小関係を判定する判定ステップと、除算ステップで得られた商が所定のしきい値よりも大きいと判定ステップにおいて判定された場合、判定対象である色は、ヒストグラムにおいて特定のピクセル数を示す色のグループに属するものであると決定する決定ステップと、を備える。
【発明の効果】
【００１３】
本発明によれば、入力されたカラー画像から特定の色を有する領域をコンピュータによる演算処理により正確に抽出することができる。特に本発明によれば、カラー画像に色のグラデーション変化が存在したり、色と色の境界部分に滲みがあった場合であっても、適度な範囲で領域を分割することができる。また、代表色を逐一指定する手間を省くことができる。また、代表色の誤った指定や指定し忘れに起因する領域の誤分割もない。また例えば、被写体がプリント基板である場合における１本の配線についても、従来のように分断された領域として画像が分離抽出されることはない。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明の実施例による画像処理方法の動作フローを示すフローチャートである。本発明の実施例による画像処理方法は、コンピュータの演算処理によって実行される。ここでは、配線パターン、レジストおよび各種部品などが実装されたプリント基板を画像認識して色ごとに領域分割する場合について説明するが、本発明を適用可能な対象物（カラー画像の被写体）としては、プリント基板以外のその他の被写体であってもよい。
【００１５】
まず、ディジタルカメラで撮影されたプリント基板表面のカラー画像のデータが、本発明の実施例による画像処理についてのコンピュータプログラムがインストールされたコンピュータに、入力される。
【００１６】
ステップＳ１０１において、コンピュータは、入力されたカラー画像における各ピクセルについて、ＲＧＢの各要素の明度を取得する。取得されたデータは、コンピュータのハードディスク等の記憶装置に記憶される。
【００１７】
図２は、カラー画像からのＲＧＢの各要素の明度の取得について説明する図である。この図以降、説明の都合上、プリント基板のカラー画像における色の違いを、ハッチングの種類の違いで表現することにする。一般に、ＲＧＢカラーモデルにおける色は、Ｒ（赤）、Ｇ（緑）およびＢ（青）の各要素がどれだけ含まれているかによって表現することができる。本実施例では、ＲＧＢの各要素の明度を、一例として０から２５５までの２５６個の数字で表現することにするが、このことは本発明を限定するものではなく、例えばこの数を減らすことによってコンピュータの演算処理量を低減してもよい。
【００１８】
カラー画像の全てのピクセルについて、例えば、カラー画像のＸＹ２次元平面上の座標（ｘ，ｙ）におけるＲ（赤）要素の明度をｒ（ｘ，ｙ）、Ｇ（緑）要素の明度をｇ（ｘ，ｙ）、Ｂ（青）要素の明度をｂ（ｘ，ｙ）と定義する。例えば、図２において「×」印で示されるＸＹ２次元平面上の座標（ｘ，ｙ）におけるＲＧＢの各要素の明度を、（ｒ（ｘ，ｙ），ｇ（ｘ，ｙ），ｂ（ｘ，ｙ））＝（１８９，２０２，１８９）といったように記述する。これに従えば、座標（ｘ，ｙ）における、例えば黒、白、赤、緑、青、黄、シアンおよびマゼンタの各色は、次の表１に示すように表現することができる。
【表１】
2010108285.tif 000003
【００１９】
次いで、ステップＳ１０２において、コンピュータは、ＲＧＢの各要素の明度を各座標値とするＲＧＢ表色系の色空間上に、取得した明度ごとのピクセル数を示すヒストグラムを作成する。すなわち、このヒストグラムは、ＲＧＢの各要素の明度の組の出現頻度を表す。図３は、ＲＧＢの各要素の明度を各座標値とするＲＧＢ表色系の色空間を例示する図である。ある色についてのＲＧＢの各要素の明度を、ＲＧＢ表色系の色空間上における各座標値として表現したとき、当該座標値は球の中心点を意味するものとする。また、図３においては、当該中心点に対応する明度の組み合わせを有するピクセルの数を、球の大きさで表している。すなわち、このヒストグラムでは、球の半径が大きいほど、その球に対応する色を有するピクセルの数が多いということを意味する。図３の例では、ＲＧＢの各要素の明度として（ｒ（ｘ，ｙ），ｇ（ｘ，ｙ），ｂ（ｘ，ｙ））＝（１８９，２０２，１８９）を有する色は、ＲＧＢ表色系の色空間上において（１８９，２０２，１８９）を中心点に持つ球で表され、ＲＧＢの各要素の明度として（１８９，２０２，１８９）を有するピクセルの数が、球の大きさとして表れる。
【００２０】
次いで、ステップＳ１０３において、コンピュータは、ヒストグラムにおいてある特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する色空間上の座標と、判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標と、の間の距離を算出する。すなわち、この「距離」とは、ＲＧＢ表色系の色空間における仮想的な距離を意味するものであって、ＸＹＺ実空間上の物理的な距離を意味するものではない点に注目すべきである。上記「ある特定のピクセル数を示す色」とはいわゆる「代表色」を意味するものであり、したがって、「ヒストグラムにおける特定のピクセル数」とは、カラー画像から抽出される特定の色（すなわち代表色）のＲＧＢの各要素の明度を有するピクセル数である。また、上記「判定対象である色」とは、当該代表色に含まれるか否かの判定の対象になっている色を意味するものであり、詳細については後述するが、この「判定対象である色」は、「特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する色空間上の座標」に隣接する「座標」に対応するＲＧＢの各要素の明度を有する色である。したがって、ある特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する色空間上の座標と、判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標と、の間の距離が小さい（短い）ほど、「判定対象である色はある特定のピクセル数を示す色（代表色）に似ている傾向が強くなる」ということを意味する。
【００２１】
ステップＳ１０３〜Ｓ１０９の各処理は、判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標を、特定のピクセル数を示す色（代表色）のＲＧＢの各要素の明度に対応する色空間上の座標に対して色空間の各座標軸方向に隣接する座標のいずれかに設定して、必要に応じて再帰的に、繰り返し実行される。
【００２２】
また、上述のステップＳ１０３においてＲＧＢ表色系の色空間上における距離の算出に用いた「特定のピクセル数」は、その初期設定値として、ヒストグラムにおいて最多のピクセル数を設定する。詳細については後述するが、当該特定のピクセル数に対して処理が終了すると（ステップＳ１１０において判定）、ステップＳ１１１において、特定のピクセル数を示す色（代表色）を変更（すなわち「特定のピクセル数」を変更）する。具体的には、特定のピクセル数を、ヒストグラムにおいて未だ特定のピクセル数を示す色のグループに属するものであるとは決定されていない色のピクセル数のうち最も多いピクセル数に設定し直す。そして、再びステップＳ１０３から処理が始まる。
【００２３】
ステップＳ１０４では、コンピュータは、判定対象である色のＲＧＢの各要素の明度を有するピクセル数を、上記距離を独立変数とする所定の単調増加関数における従属変数の値で除算（割り算）する。上記距離が大きくなればなるほど、当該単調増加関数における従属変数の値が大きくなるので、ステップＳ１０４で得られる商は小さくなる。
【００２４】
続くステップＳ１０５では、コンピュータは、ステップＳ１０４で得られた商と、所定のしきい値と、の大小関係を判定する。ＲＧＢ表色系の色空間において、判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標（判定対称に係る座標）が、ある特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する色空間上の座標から離れた距離に位置するほどすなわち上記「距離」が大きく（長く）なるほど、「判定対象である色はある特定のピクセル数を示す色（代表色）に似ている傾向が弱くなる（換言すれば、判定対象である色は代表色に似ていない傾向が強くなる）」が、ステップＳ１０４で得られる商は小さくなるので、商としきい値との大小関係の比較は、ピクセル数としきい値との大小関係の単純な比較と比べて、代表色に似ていない色ほどしきい値より大きいとは判断されにくくなる。つまり、「似ていない色ほど、同じ領域の色とは判断されず、別の色の領域と判断される」といったことがより強調されることになる。したがって、カラー画像に色のグラデーション変化が存在したり、色と色の境界部分に滲みがある場合であっても、コンピュータは「似ていない色」を認識することができるので、色の領域を的確に割することができる。単調増加関数の例としては、１次関数、２次関数、あるいは指数関数などがあるが、本発明ではこれに限定されず、その他の単調増加関数であってもよい。また、上記所定のしきい値は、ユーザが任意に設定してよく、例えば、いくつかの値をしきい値に設定して本発明の画像処理方法を実行してどのような領域分割結果が得られるかをある程度試した後、実際に使用する所望のしきい値を決定してもよい。
【００２５】
ステップＳ１０４で得られた商が所定のしきい値よりも大きいとステップＳ１０５において判定された場合、ステップＳ１０６において、コンピュータは、判定対象である色は、ヒストグラムにおいて当該特定のピクセル数を示す色のグループに属するものであると決定する。
【００２６】
上述の通り、「判定対象である色」は、「特定のピクセル数を示す色（代表色）のＲＧＢの各要素の明度に対応する色空間上の座標」に隣接する「座標」に対応するＲＧＢの各要素の明度を有する色である。上述の各処理は、判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標を、特定のピクセル数を示す色のＲＧＢの各要素の明度に対応する色空間上の座標に対して色空間の各座標軸方向に隣接する座標のうちのいずれかに設定して実行されるものであるが、ステップＳ１０４で得られた商が所定のしきい値よりも大きいとステップＳ１０５において判定され、次いでステップＳ１０６において判定対象である色の属する領域が決定されると、ステップＳ１０７において、コンピュータは、判定に係る座標（判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標）を別の座標に変更する。判定に係る座標を変更するとは、換言すれば判定対象である色を変更するということである。ステップＳ１０７において、コンピュータは、当該判定に係る座標に対して色空間の各座標軸方向にさらに隣接する座標のうちのいずれかを、「さらなる判定に係る座標」に新たに設定し、ステップＳ１０３へ戻る。つまり、本発明の実施例では、判定に係る座標（判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標）についてステップＳ１０４で得られた商が、所定のしきい値よりも大きいとステップＳ１０５において判定される限り、当該判定に係る座標を、当該判定に係る座標に対して色空間の各座標軸方向にさらに隣接する座標をさらなる判定に係る座標に設定変更して、再びステップＳ１０３から始まる処理が繰り返し実行されることになる。
【００２７】
一方、判定に係る座標（判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標）についてステップＳ１０４で得られた商が、所定のしきい値よりも小さいとステップＳ１０５において判定された場合は、ステップＳ１０８において、コンピュータは、判定に係る座標を変更する。すなわち、ステップＳ１０８において、コンピュータは、当該判定に係る座標に対して色空間の各座標軸方向にさらに隣接する座標のうちのいずれかを、「さらなる判定に係る座標」に新たに設定する。
【００２８】
ステップＳ１０９では、上記「さらなる判定に係る座標」の全てについて、ステップＳ１０３〜Ｓ１０８の処理が終了したかが判定される。上記「さらなる判定に係る座標」の全てについて処理が終了していない場合は、ステップＳ１０３へ戻る。つまり、ステップＳ１０９の処理の存在により、ステップＳ１０３〜Ｓ１０８の一連の処理は、上記「さらなる判定に係る座標」の全てについて、ステップＳ１０４で得られた商が所定のしきい値よりも小さいとステップＳ１０５で判定されるまで、判定に係る座標を変更して（ステップＳ１０８）、繰り返し実行されることになる。
【００２９】
ステップＳ１０９において上記「さらなる判定に係る座標」の全てについて処理が終了したと判定された場合は、ステップＳ１１０へ進む。ステップＳ１１０では、上記「さらなる判定に係る座標」の全てについて、ステップＳ１０４で得られた商が所定のしきい値よりも小さいとステップＡ１０５において判定されたか否かが、判定される。ステップＳ１０４で得られた商が所定のしきい値よりも小さいとステップＳ１１０において判定されない場合、ステップＳ１１１へ進む。
【００３０】
ステップＳ１１１では、特定のピクセル数を示す色（代表色）を変更（すなわち「特定のピクセル数」を変更）する。具体的には、上述のステップＳ１０３においてＲＧＢ表色系の色空間上における距離の算出に用いた特定のピクセル数を、ヒストグラムにおいて当該特定のピクセル数の次に多いピクセル数に設定し直す。つまり、上述のステップＳ１０３においてＲＧＢ表色系の色空間上における距離の算出に用いた「特定のピクセル数」は、その初期設定値として、ヒストグラムにおいて最多のピクセル数を設定していたが、これが終わると、未だ特定のピクセル数を示す色のグループに属するものであるとは決定されていない色のピクセル数のうち最も多いピクセル数を設定し、さらにそれが終わると未だ特定のピクセル数を示す色のグループに属するものであるとは決定されていない色のピクセル数のうち最も多いピクセル数を設定する、といったことを順次繰り返していく。
【００３１】
ステップＳ１０４で得られた商が所定のしきい値よりも小さいとステップＳ１１０において判定された場合、ステップＳ１１２へ進む。ステップＳ１１２では、ステップＳ１０６において属する色の領域（グループ）が決定された色を有するピクセルに関する、２次元平面上における座標を表現するビットマップデータを生成する。
【００３２】
続いて、上述した本発明の実施例による画像処理方法について、コンピュータプログラムレベルのパラメータおよび変数を用いて説明する。図４〜１１は、本発明の実施例による画像処理方法の具体的処理を説明するフローチャートである。
【００３３】
図３を参照して既に説明したように、ＲＧＢの各要素の明度を各座標値とするＲＧＢ表色系の色空間上に表現されたヒストグラムは、ＲＧＢの各要素の明度の組の出現頻度を表す。ＲＧＢ表色系の色空間上において球の大きさが大きいほど、その球の中心点の座標に対応する明度の色を有するピクセルの数が多いということを意味する。すなわち、球は、その色を有するピクセルがある程度まとまった個数存在するということを意味するものであり、代表色として設定され得る色である。本明細書では、この球を「色の領域」と単に称する。また、本明細書では、色の領域（グループ）が決定された順に、１番目の色の領域、２番目の色の領域、・・・、ｎ番目の色の領域（ただし、ｎは正の整数）と呼ぶことにする。例えば、ヒストグラムにおいて最多のピクセル数を有する色は、「１番目の色の領域」である。ｎの上限値は、ユーザが任意に設定可能である。例えば、カラー画像を画像処理により４色の領域に分割したい場合（４色の領域を抽出したい場合）は、ｎを４に設定すればよい。この場合、色の領域（グループ）が決定された順に、１番目の色の領域、２番目の色の領域、３番目の色の領域、４番目の色の領域と称されることになる。また、「０番目の色領域」は、１〜４番目のいずれの色の領域にも属さないということを意味するものと定義する。
【００３４】
また、変数ａｒｅａ（ｒ，ｇ，ｂ）を、「ｎ番目の色の領域に属する」という情報を特定するために定義する。すなわち、「ａｒｅａ（ｒ，ｇ，ｂ）＝ｎ」は、「ＲＧＢ表色系の色空間上の座標（ｒ，ｇ，ｂ）は、ｎ番目の色の領域に属すると決定された」ことを意味し、「ａｒｅａ（ｒ，ｇ，ｂ）＝０」は、「ＲＧＢ表色系の色空間上の座標（ｒ，ｇ，ｂ）は、未だどの領域にも属さない」ことを意味する。また、上記所定のしきい値を変数「ｌｉｍｉｔ」で表す。この「ｌｉｍｉｔ」は、ユーザが任意に設定してよく、例えば、いくつかの値を「ｌｉｍｉｔ」に設定して本発明の画像処理方法を実行してどのような領域分割結果が得られるかをある程度試した後、実際に使用する所望のしきい値を決定してもよい。例えば、「ｌｉｍｉｔ＝１５０」といったように設定する。
【００３５】
また、ＲＧＢ表色系の色空間上の座標（ｒ，ｇ，ｂ）に対応するＲＧＢ明度の色を有するピクセルの数をｃｏｕｎｔ（ｒ，ｇ，ｂ）で表す。例えば、ｒ＝１８９、ｇ＝２０２、ｂ＝１８９の明度を有する色は、ＲＧＢ表色系の色空間上の座標として（１８９，２０２，１８９）で表されるが、そのような色を有するピクセルが２００個存在したとすると、「ｃｏｕｎｔ（１８９，２０２，１８９）＝２００」となる。また、ＲＧＢ表色系の色空間上の座標（ｒ，ｇ，ｂ）に隣接する座標を（ｒ’，ｇ’，ｂ’）で表す。
【００３６】
以下に説明する例では、カラー画像を画像処理により４色の領域に分割する場合について説明する。図４のステップＳ２０１において、コンピュータは、初期設定として、「ｎ＝１」および「ｌｉｍｉｔ＝１５０」を設定する。なお、「ｌｉｍｉｔ＝１５０」の設定は、ユーザがキーボードやマウスなどの入力装置を介してコンピュータに対して入力することにより、コンピュータに設定される。
【００３７】
次いで、ステップＳ２０２において、コンピュータは、同じく初期設定として、「ａｒｅａ（ｒ，ｇ，ｂ）＝０」を設定する。このステップＳ２０２は、ＲＧＢ表色系の色空間上の全ての座標（ｒ，ｇ，ｂ）については画像処理実行前であるので未だどの色の領域に属するか決定されておらず、未だどの領域にも属していないことから、「ａｒｅａ（ｒ，ｇ，ｂ）＝０」と設定するものである。
【００３８】
次いで、ステップＳ２０３において、コンピュータは、未だ特定のピクセル数を示す色のグループに属するものであるとは決定されていない色のピクセル数のうち最も大きいｃｏｕｎｔ（ｒ，ｇ，ｂ）についての座標（ｒ，ｇ，ｂ）を取得する。例えば、１回目の処理ループでは、この段階では全ての座標（ｒ，ｇ，ｂ）についてどの領域に属するか決定されていないので、最も多いピクセル数である１番多いピクセル数のｃｏｕｎｔ（ｒ，ｇ，ｂ）についての座標（ｒ，ｇ，ｂ）を取得することになる。ステップＳ２０３により、図１のステップＳ１０３においてＲＧＢ表色系の色空間における仮想的な距離を算出するために用いられる上記カラー画像から抽出される代表色である上記「ある特定のピクセル数を示す色」が決定されることになる。
【００３９】
次いで、ステップＳ３００において、コンピュータは、定義済処理である「ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ，ｎ，ｒ，ｇ，ｂ）」のコンピュータプログラムを呼び出して実行する。定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ，ｎ，ｒ，ｇ，ｂ）については、図５および６を参照して後述する。
【００４０】
定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ，ｎ，ｒ，ｇ，ｂ）が完了すると、ステップＳ２０４において、コンピュータは、ｎを１つインクリメントする。
【００４１】
次いで、ステップＳ２０５において、コンピュータは、ｎ＝５であるか否かを判定する。ｎ＝５である場合は処理を終了し、ｎ＝５でない場合は、ステップＳ２０３に戻る。ステップＳ２０５においてｎ＝５であるか否かを判定するのは、カラー画像を４色の領域に分割するために処理ループを抜けるか否かを判定するためである。例えばステップＳ２０５においてｎ＝２であると判定された場合は、ステップＳ２０３に戻り、ステップＳ２０３において、コンピュータは、未だ特定のピクセル数を示す色のグループすなわち１番多いピクセル数のグループに属するものであるとは決定されてない色のピクセル数のうち最も大きいｃｏｕｎｔ（ｒ，ｇ，ｂ）についての座標（ｒ，ｇ，ｂ）を取得することになる。以降、ステップＳ２０５においてｎ＝５と判定されるまで、ステップＳ２０３、Ｓ３００およびＳ２０４の処理を繰り返し実行する。ステップＳ２０５においてｎ＝５と判定された時点で処理を終了すると、カラー画像が４色の領域に分割される。このように、本発明の実施例によれば、ｎを順次変更して代表色を決定していくので、代表色を逐一指定する手間を省くことができる。また、代表色の誤った指定や指定し忘れに起因する領域の誤分割もないという利点を有する。
【００４２】
続いて、ステップＳ３００における定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ，ｎ，ｒ，ｇ，ｂ）について、図５および６を参照して説明する。図４のステップＳ２０３において取得された、未だ特定のピクセル数を示す色のグループに属するものであるとは決定されていない色のピクセル数のうち最も大きいｃｏｕｎｔ（ｒ，ｇ，ｂ）についての座標（ｒ，ｇ，ｂ）は、図１のステップＳ１０３においてＲＧＢ表色系の色空間上における仮想的な距離を算出するために用いられる上記カラー画像から抽出される代表色である上記「ある特定のピクセル数を示す色」に対応するものであり、ここでは、座標（ｃｒ，ｃｇ，ｃｂ）として定義する。すなわち、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）は、判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標を（ｒ，ｇ，ｂ）、ｎ番目の色の領域（すなわち代表色）のＲＧＢの各要素の明度に対応する色空間上の座標を（ｃｒ，ｃｇ，ｃｂ）としたときにおいて、当該判定対象である色がｎ番目の色の領域に属するか否かを決定するために、コンピュータにより実行される処理である。
【００４３】
ここで、ＲＧＢ表色系の色空間上の座標（ｒ，ｇ，ｂ）と座標（ｒ’，ｇ’，ｂ’）との間の距離をｄ（ｒ’，ｇ’，ｂ’）で表す。すなわち、ｄ（ｒ’，ｇ’，ｂ’）は式１で表される。座標（ｒ’，ｇ’，ｂ’）は、例えば座標（ｒ，ｇ，ｂ）に隣接する座標である。
【００４４】
【数１】
2010108285.tif 000004
【００４５】
まず、図５のステップＳ３０１において、コンピュータは、ｎ番目の色の領域（すなわち代表色）のＲＧＢの各要素の明度に対応する色空間上の座標（ｃｒ，ｃｇ，ｃｂ）と判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標（ｒ，ｇ，ｂ）との間の距離ｄ（ｒ，ｇ，ｂ）を算出する。
【００４６】
【数２】
2010108285.tif 000005
【００４７】
次いで、ステップＳ３０２において、コンピュータは、ステップＳ３０１で算出したｄ（ｒ，ｇ，ｂ）が０（ゼロ）であるか否かを判定する。ｄ（ｒ，ｇ，ｂ）が、０（ゼロ）であると判定された場合はステップＳ３０４へ進み、０（ゼロ）ではない判定された場合はステップＳ３０３へ進む。
【００４８】
ステップＳ３０３において、コンピュータは、ｃｏｕｎｔ（ｒ，ｇ，ｂ）をｄ（ｒ，ｇ，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより大きいか否かを判定する。ここで、ｄ（ｒ，ｇ，ｂ）は、図１のステップＳ１０４を参照して説明したように、当該距離を独立変数とする１次の単調増加関数の従属変数の値である。この代替例として、当該距離を独立変数とした２次関数や指数関数などの単調増加関数の従属変数でｃｏｕｎｔ（ｒ，ｇ，ｂ）を除算（割り算）するようにしてもよい。
【００４９】
ステップＳ３０３においてｃｏｕｎｔ（ｒ，ｇ，ｂ）をｄ（ｒ，ｇ，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより小さいと判定された場合は、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）の処理を抜け、当該定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）を呼び出した処理へ戻る。
【００５０】
一方、ステップＳ３０３においてｃｏｕｎｔ（ｒ，ｇ，ｂ）をｄ（ｒ，ｇ，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより大きいと判定された場合は、ステップＳ３０４へ進む。
【００５１】
ステップＳ３０４では、コンピュータは、「ａｒｅａ（ｒ，ｇ，ｂ）＝ｎ」という情報を、コンピュータ内の記憶装置に記憶する。上述のように、「ａｒｅａ（ｒ，ｇ，ｂ）＝ｎ」は、「ＲＧＢ表色系の色空間上の座標（ｒ，ｇ，ｂ）は、ｎ番目の色の領域に属する」ことを意味するものである。ステップＳ３０４が実行されるのは、ステップＳ３０２においてｄ（ｒ，ｇ，ｂ）が０（ゼロ）ではない判定される場合、および、ステップＳ３０３においてｃｏｕｎｔ（ｒ，ｇ，ｂ）をｄ（ｒ，ｇ，ｂ）で除算（割り算）して得られた商がｌｉｍｉｔより大きいと判定される場合、の２通りである。
【００５２】
このうち、ステップＳ３０２においてｄ（ｒ，ｇ，ｂ）が０（ゼロ）であると判定される場合は、ｎ番目の色の領域（すなわち代表色）のＲＧＢの各要素の明度に対応する色空間上の座標（ｃｒ，ｃｇ，ｃｂ）と判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標（ｒ，ｇ，ｂ）とが同一である場合であり、すなわち、代表色と判定対象である色とは全く同じ色である場合である。したがって、判定対象である色は、代表色の領域に属するものであると当然に決定することができる。なお、判定対象に係る座標（ｒ，ｇ，ｂ）は、必ずしも座標（ｃｒ，ｃｇ，ｃｂ）に隣接するとは限らない。
【００５３】
一方、ステップＳ３０３においてｃｏｕｎｔ（ｒ，ｇ，ｂ）をｄ（ｒ，ｇ，ｂ）で除算（割り算）して得られた商がｌｉｍｉｔより大きいと判定される場合は、判定対象である色は、代表色とは完全には一致しないが、しきい値を満たすゆえ代表色とは比較的近い色であるといえる。したがって、当該判定対象である色は、代表色の領域に属するものであると決定する。これにより、カラー画像に色のグラデーション変化が存在したり、色と色の境界部分に滲みがあった場合であっても、領域を的確に分割することができる。
【００５４】
図５のステップＳ３０４に次いで、図６のステップＳ３０５では、コンピュータは、ａｒｅａ（ｒ，ｇ，ｂ−１）が０（ゼロ）であるか否かを判定する。図１２は、図６〜１１に示される処理が実行されることにより実行される、判定対象に係る座標の変更を説明する図である。図６のステップＳ３０５におけるａｒｅａ（ｒ，ｇ，ｂ−１）が０（ゼロ）であるか否かの判定は、それまでの判定対象であった色空間上の座標（ｒ，ｇ，ｂ）から色空間上のＢ軸座標のマイナス方向に１だけ移動した位置（図１２では矢印「１」の方向）にある座標（ｒ，ｇ，ｂ−１）を、さらなる判定に係る座標に設定して、実行される。すなわち、ステップＳ３０５の処理は、色空間上のＢ軸座標のマイナス方向に１だけ移動した位置にある座標（ｒ，ｇ，ｂ−１）を、さらなる判定に係る座標に設定して、当該判定に係る座標（ｒ，ｇ，ｂ−１）が、現在計算中のｎ番目の色の領域に属するか否かを判定するために実行されるものである。
【００５５】
ステップＳ３０５においてａｒｅａ（ｒ，ｇ，ｂ−１）が、０（ゼロ）であると判定された場合はステップＳ３０６へ進み、０（ゼロ）ではない判定された場合は図７のステップＳ３０７へ進む。
【００５６】
ステップＳ３０５においてａｒｅａ（ｒ，ｇ，ｂ−１）が０（ゼロ）であると判定される場合は、新たに判定対象に設定した座標（ｒ，ｇ，ｂ−１）が未だどの領域にも属していないことを意味する。既に説明したように、図４のステップＳ２０２における初期設定としてＲＧＢ表色系の色空間上の全ての座標（ｒ，ｇ，ｂ）について画像処理実行前は未だどの領域にも属していないことから「ａｒｅａ（ｒ，ｇ，ｂ）＝０」と設定されており、したがって、ステップＳ３０５を実行する時点で、新たに判定対象に設定した座標（ｒ，ｇ，ｂ−１）が未だどの領域にも属していない可能性がある。この場合は、ステップＳ３０６において、コンピュータは、新たに判定対象に設定した座標（ｒ，ｇ，ｂ−１）について、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ−１，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行する。本発明は、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ−１，ｎ，ｃｒ，ｃｇ，ｃｂ）の中には、判定対象に係る座標を、当該判定対象に設定した座標（ｒ，ｇ，ｂ−１）から当該座標（ｒ，ｇ，ｂ−１）に隣接する座標に設定した上で再度、定義済処理ＣｒｅａｔｅＤｏｍａｉｎを実行する処理が含まれているので、「再帰呼び出し（ｒｅｃｕｒｓｉｖｅ  ｃａｌｌ）」構造を有している。
【００５７】
定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ−１，ｎ，ｃｒ，ｃｇ，ｃｂ）については、図５を参照して説明した定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）において「ｂ」を「ｂ−１」に置き換えて実行すればよい。ここで、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ−１，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行したときにおいて、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ，ｇ，ｂ−１）をｄ（ｒ，ｇ，ｂ−１）で除算（割り算）して得られた商が、ｌｉｍｉｔより小さいと判定された場合には、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ−１，ｎ，ｃｒ，ｃｇ，ｃｂ）の処理を抜けて、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ，ｇ，ｂ−１）」から、新たに判定対象に設定する前の、すなわち「以前の判定対称にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図７のステップＳ３０７へ進む。一方、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ，ｇ，ｂ−１）をｄ（ｒ，ｇ，ｂ−１）で除算（割り算）して得られた商が、ｌｉｍｉｔより大きいと判定された場合には、図５のステップＳ３０４において、コンピュータは、「ａｒｅａ（ｒ，ｇ，ｂ−１）＝ｎ」という情報を、コンピュータ内の記憶装置に記憶する。「ａｒｅａ（ｒ，ｇ，ｂ−１）＝ｎ」は、「ＲＧＢ表色系の色空間上の座標（ｒ，ｇ，ｂ−１）は、ｎ番目の色の領域に属する」ことを意味するものである。
【００５８】
一方、ステップＳ３０５においてａｒｅａ（ｒ，ｇ，ｂ−１）が０（ゼロ）ではないと判定される場合は、新たに判定対象に設定した座標（ｒ，ｇ，ｂ−１）は、１〜ｎ−１番目（ただし、ｎは２以上の整数）いずれかの色の領域に含まれていることを意味する。この場合、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ，ｇ，ｂ−１）」から、新たに判定対象に設定する前の、すなわち「以前の判定対象にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図７のステップＳ３０７へ進む。
【００５９】
図７のステップＳ３０７において、コンピュータは、ａｒｅａ（ｒ，ｇ，ｂ＋１）が０（ゼロ）であるか否かを判定する。図７のステップＳ３０７におけるａｒｅａ（ｒ，ｇ，ｂ＋１）が０（ゼロ）であるか否かの判定は、座標（ｒ，ｇ，ｂ）から色空間上のＢ軸座標のプラス方向に１だけ移動した位置（図１２では矢印「２」の方向）にある座標（ｒ，ｇ，ｂ＋１）を、さらなる判定に係る座標に設定して、実行される。すなわち、ステップＳ３０７の処理は、色空間上のＢ軸座標のプラス方向に１だけ移動した位置にある座標（ｒ，ｇ，ｂ＋１）を、さらなる判定に係る座標に設定して、当該判定に係る座標（ｒ，ｇ，ｂ＋１）が、現在計算中のｎ番目の色の領域に属するか否かを判定するために実行されるものである。
【００６０】
ステップＳ３０７においてａｒｅａ（ｒ，ｇ，ｂ＋１）が、０（ゼロ）であると判定された場合はステップＳ３０８へ進み、０（ゼロ）ではない判定された場合は図８のステップＳ３０９へ進む。
【００６１】
ステップＳ３０７においてａｒｅａ（ｒ，ｇ，ｂ＋１）が０（ゼロ）であると判定される場合は、新たに判定対象に設定した座標（ｒ，ｇ，ｂ＋１）が未だどの領域にも属していないことを意味する。この場合は、ステップＳ３０８において、コンピュータは、新たに判定対象に設定した座標（ｒ，ｇ，ｂ＋１）について、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ＋１，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行する。定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ＋１，ｎ，ｃｒ，ｃｇ，ｃｂ）については、図５を参照して説明した定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）において「ｂ」を「ｂ＋１」に置き換えて実行すればよい。ここで、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ＋１，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行したときにおいて、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ，ｇ，ｂ＋１）をｄ（ｒ，ｇ，ｂ＋１）で除算（割り算）して得られた商が、ｌｉｍｉｔより小さいと判定された場合には、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ＋１，ｎ，ｃｒ，ｃｇ，ｃｂ）の処理を抜けて、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ，ｇ，ｂ＋１）」から、新たに判定対象に設定する前の、すなわち「以前の判定対象にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図８のステップＳ３０９へ進む。一方、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ，ｇ，ｂ＋１）をｄ（ｒ，ｇ，ｂ＋１）で除算（割り算）して得られた商が、ｌｉｍｉｔより大きいと判定された場合には、図５のステップＳ３０４において、コンピュータは、「ａｒｅａ（ｒ，ｇ，ｂ＋１）＝ｎ」という情報を、コンピュータ内の記憶装置に記憶する。「ａｒｅａ（ｒ，ｇ，ｂ＋１）＝ｎ」は、「ＲＧＢ表色系の色空間上の座標（ｒ，ｇ，ｂ＋１）は、ｎ番目の色の領域に属する」ことを意味するものである。
【００６２】
一方、ステップＳ３０７においてａｒｅａ（ｒ，ｇ，ｂ＋１）が０（ゼロ）ではないと判定される場合は、新たに判定対象に設定した座標（ｒ，ｇ，ｂ＋１）は、１〜ｎ−１番目（ただし、ｎは２以上の整数）いずれかの色の領域に含まれていることを意味する。この場合、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ，ｇ，ｂ＋１）」から、新たに判定対象に設定する前の、すなわち「以前の判定対象にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図８のステップＳ３０９へ進む。
【００６３】
図８のステップＳ３０９において、コンピュータは、ａｒｅａ（ｒ−１，ｇ，ｂ）が０（ゼロ）であるか否かを判定する。ステップＳ３０９におけるａｒｅａ（ｒ−１，ｇ，ｂ）が０（ゼロ）であるか否かの判定は、座標（ｒ，ｇ，ｂ）から色空間上のＲ軸座標のマイナス方向に１だけ移動した位置（図１２では矢印「３」の方向）にある座標（ｒ−１，ｇ，ｂ）を、さらなる判定に係る座標に設定して、実行される。すなわち、ステップＳ３０９の処理は、色空間上のｒ軸座標のマイナス方向に１だけ移動した位置にある座標（ｒ−１，ｇ，ｂ）を、さらなる判定に係る座標に設定して、当該判定に係る座標（ｒ−１，ｇ，ｂ）が、現在計算中のｎ番目の色の領域に属するか否かを判定するために実行されるものである。
【００６４】
ステップＳ３０９においてａｒｅａ（ｒ−１，ｇ，ｂ）が、０（ゼロ）であると判定された場合はステップＳ３１０へ進み、０（ゼロ）ではない判定された場合は図９のステップＳ３１１へ進む。
【００６５】
ステップＳ３０９においてａｒｅａ（ｒ−１，ｇ，ｂ）が０（ゼロ）であると判定される場合は、新たに判定対象に設定した座標（ｒ−１，ｇ，ｂ）が未だどの領域にも属していないことを意味する。この場合は、ステップＳ３１０において、コンピュータは、新たに判定対象に設定した座標（ｒ−１，ｇ，ｂ）について、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ−１，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行する。定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ−１，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）については、図５を参照して説明した定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）において「ｒ」を「ｒ−１」に置き換えて実行すればよい。ここで、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ−１，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行したときにおいて、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ−１，ｇ，ｂ）をｄ（ｒ−１，ｇ，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより小さいと判定された場合には、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ−１，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）の処理を抜けて、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ−１，ｇ，ｂ）」から、新たに判定対象に設定する前の、すなわち「以前の判定対称にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図９のステップＳ３１１へ進む。一方、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ−１，ｇ，ｂ）をｄ（ｒ−１，ｇ，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより大きいと判定された場合には、図５のステップＳ３０４において、コンピュータは、「ａｒｅａ（ｒ−１，ｇ，ｂ）＝ｎ」という情報を、コンピュータ内の記憶装置に記憶する。「ａｒｅａ（ｒ−１，ｇ，ｂ）＝ｎ」は、「ＲＧＢ表色系の色空間上の座標（ｒ−１，ｇ，ｂ）は、ｎ番目の色の領域に属する」ことを意味するものである。
【００６６】
一方、ステップＳ３０９においてａｒｅａ（ｒ−１，ｇ，ｂ）が０（ゼロ）ではないと判定される場合は、新たに判定対象に設定した座標（ｒ−１，ｇ，ｂ）は、１〜ｎ−１番目（ただし、ｎは２以上の整数）いずれかの色の領域に含まれていることを意味する。この場合、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ−１，ｇ，ｂ）」から、新たに判定対象に設定する前の、すなわち「以前の判定対称にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図９のステップＳ３１１へ進む。
【００６７】
図９のステップＳ３１１において、コンピュータは、ａｒｅａ（ｒ＋１，ｇ，ｂ）が０（ゼロ）であるか否かを判定する。ステップＳ３１１におけるａｒｅａ（ｒ＋１，ｇ，ｂ）が０（ゼロ）であるか否かの判定は、座標（ｒ，ｇ，ｂ）から色空間上のＲ軸座標のプラス方向に１だけ移動した位置（図１２では矢印「４」の方向）にある座標（ｒ＋１，ｇ，ｂ）を、さらなる判定に係る座標に設定して、実行される。すなわち、ステップＳ３１１の処理は、色空間上のｒ軸座標のプラス方向に１だけ移動した位置にある座標（ｒ＋１，ｇ，ｂ）を、さらなる判定に係る座標に設定して、当該判定に係る座標（ｒ＋１，ｇ，ｂ）が、現在計算中のｎ番目の色の領域に属するか否かを判定するために実行されるものである。
【００６８】
ステップＳ３１１においてａｒｅａ（ｒ＋１，ｇ，ｂ）が、０（ゼロ）であると判定された場合はステップＳ３１２へ進み、０（ゼロ）ではない判定された場合は図１０のステップＳ３１３へ進む。
【００６９】
ステップＳ３１１においてａｒｅａ（ｒ＋１，ｇ，ｂ）が０（ゼロ）であると判定される場合は、新たに判定対象に設定した座標（ｒ＋１，ｇ，ｂ）が未だどの領域にも属していないことを意味する。この場合は、ステップＳ３１２において、コンピュータは、新たに判定対象に設定した座標（ｒ＋１，ｇ，ｂ）について、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ＋１，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行する。定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ＋１，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）については、図５を参照して説明した定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）において「ｒ」を「ｒ＋１」に置き換えて実行すればよい。ここで、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ＋１，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行したときにおいて、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ＋１，ｇ，ｂ）をｄ（ｒ＋１，ｇ，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより小さいと判定された場合には、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ＋１，ｇ，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）の処理を抜けて、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ＋１，ｇ，ｂ）」から、新たに判定対象に設定する前の、すなわち「以前の判定対象にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図１０のステップＳ３１３へ進む。一方、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ＋１，ｇ，ｂ）をｄ（ｒ＋１，ｇ，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより大きいと判定された場合には、図５のステップＳ３０４において、コンピュータは、「ａｒｅａ（ｒ＋１，ｇ，ｂ）＝ｎ」という情報を、コンピュータ内の記憶装置に記憶する。「ａｒｅａ（ｒ＋１，ｇ，ｂ）＝ｎ」は、「ＲＧＢ表色系の色空間上の座標（ｒ＋１，ｇ，ｂ）は、ｎ番目の色の領域に属する」ことを意味するものである。
【００７０】
一方、ステップＳ３１１においてａｒｅａ（ｒ＋１，ｇ，ｂ）が０（ゼロ）ではないと判定される場合は、新たに判定対象に設定した座標（ｒ＋１，ｇ，ｂ）は、１〜ｎ−１番目（ただし、ｎは２以上の整数）いずれかの色の領域に含まれていることを意味する。この場合、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ＋１，ｇ，ｂ）」から、新たに判定対象に設定する前の、すなわち「以前の判定対象にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図１０のステップＳ３１３へ進む。
【００７１】
図１０のステップＳ３１３において、コンピュータは、ａｒｅａ（ｒ，ｇ−１，ｂ）が０（ゼロ）であるか否かを判定する。ステップＳ３１３におけるａｒｅａ（ｒ，ｇ−１，ｂ）が０（ゼロ）であるか否かの判定は、座標（ｒ，ｇ，ｂ）から色空間上のＧ軸座標のマイナス方向に１だけ移動した位置（図１２では矢印「５」の方向）にある座標（ｒ，ｇ−１，ｂ）を、さらなる判定に係る座標に設定して、実行される。すなわち、ステップＳ３１３の処理は、色空間上のｇ軸座標のマイナス方向に１だけ移動した位置にある座標（ｒ，ｇ−１，ｂ）を、さらなる判定に係る座標に設定して、当該判定に係る座標（ｒ，ｇ−１，ｂ）が、現在計算中のｎ番目の色の領域に属するか否かを判定するために実行されるものである。
【００７２】
ステップＳ３１３においてａｒｅａ（ｒ，ｇ−１，ｂ）が、０（ゼロ）であると判定された場合はステップＳ３１４へ進み、０（ゼロ）ではない判定された場合は図１１のステップＳ３１５へ進む。
【００７３】
ステップＳ３１３においてａｒｅａ（ｒ，ｇ−１，ｂ）が０（ゼロ）であると判定される場合は、新たに判定対象に設定した座標（ｒ，ｇ−１，ｂ）が未だどの領域にも属していないことを意味する。この場合は、ステップＳ３１４において、コンピュータは、新たに判定対象に設定した座標（ｒ，ｇ−１，ｂ）について、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ−１，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行する。定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ−１，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）については、図５を参照して説明した定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ−１，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）において「ｇ」を「ｇ−１」に置き換えて実行すればよい。ここで、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ−１，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行したときにおいて、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ，ｇ−１，ｂ）をｄ（ｒ，ｇ−１，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより小さいと判定された場合には、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ−１，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）の処理を抜けて、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ，ｇ−１，ｂ）」から、新たに判定対象に設定する前の、すなわち「以前の判定対象にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図１１のステップＳ３１５へ進む。一方、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ，ｇ−１，ｂ）をｄ（ｒ，ｇ−１，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより大きいと判定された場合には、図５のステップＳ３０４において、コンピュータは、「ａｒｅａ（ｒ，ｇ−１，ｂ）＝ｎ」という情報を、コンピュータ内の記憶装置に記憶する。「ａｒｅａ（ｒ，ｇ−１，ｂ）＝ｎ」は、「ＲＧＢ表色系の色空間上の座標（ｒ，ｇ−１，ｂ）は、ｎ番目の色の領域に属する」ことを意味するものである。
【００７４】
一方、ステップＳ３１３においてａｒｅａ（ｒ，ｇ−１，ｂ）が０（ゼロ）ではないと判定される場合は、新たに判定対象に設定した座標（ｒ，ｇ−１，ｂ）は、１〜ｎ−１番目（ただし、ｎは２以上の整数）いずれかの色の領域に含まれていることを意味する。この場合、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ，ｇ−１，ｂ）」から、新たに判定対象に設定する前の、すなわち「以前の判定対象にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図１１のステップＳ３１５へ進む。
【００７５】
図１１のステップＳ３１５において、コンピュータは、ａｒｅａ（ｒ，ｇ＋１，ｂ）が０（ゼロ）であるか否かを判定する。ステップＳ３１５におけるａｒｅａ（ｒ，ｇ＋１，ｂ）が０（ゼロ）であるか否かの判定は、座標（ｒ，ｇ，ｂ）から色空間上のＧ軸座標のプラス方向に１だけ移動した位置（図１２では矢印「６」の方向）にある座標（ｒ，ｇ＋１，ｂ）を、さらなる判定に係る座標に設定して、実行される。すなわち、ステップＳ３１５の処理は、色空間上のＧ軸座標のプラス方向に１だけ移動した位置にある座標（ｒ，ｇ＋１，ｂ）を、さらなる判定に係る座標に設定して、当該判定に係る座標（ｒ，ｇ＋１，ｂ）が、現在計算中のｎ番目の色の領域に属するか否かを判定するために実行されるものである。
【００７６】
ステップＳ３１５においてａｒｅａ（ｒ，ｇ＋１，ｂ）が、０（ゼロ）であると判定された場合はステップＳ３１６へ進み、０（ゼロ）ではない判定された場合は、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ，ｇ＋１，ｂ）」から、新たに判定対象に設定する前の、すなわち「以前の判定対象にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図１１のＥＸＩＴへ進む。
【００７７】
ステップＳ３１５においてａｒｅａ（ｒ，ｇ＋１，ｂ）が０（ゼロ）であると判定される場合は、新たに判定対象に設定した座標（ｒ，ｇ＋１，ｂ）が未だどの領域にも属していないことを意味する。この場合は、ステップＳ３１６において、コンピュータは、新たに判定対象に設定した座標（ｒ，ｇ＋１，ｂ）について、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ＋１，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行する。定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ＋１，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）については、図５を参照して説明した定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ＋１，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）において「ｇ」を「ｇ＋１」に置き換えて実行すればよい。ここで、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ＋１，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）を実行したときにおいて、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ，ｇ＋１，ｂ）をｄ（ｒ，ｇ＋１，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより小さいと判定された場合には、定義済処理ＣｒｅａｔｅＤｏｍａｉｎ（ｒ，ｇ＋１，ｂ，ｎ，ｃｒ，ｃｇ，ｃｂ）の処理を抜けて、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ，ｇ＋１，ｂ）」から、新たに判定対象に設定する前の、すなわち「以前の判定対称にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図１１のＥＸＩＴへ進む。一方、図５のステップＳ３０３の処理においてｃｏｕｎｔ（ｒ，ｇ＋１，ｂ）をｄ（ｒ，ｇ＋１，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより大きいと判定された場合には、図５のステップＳ３０４において、コンピュータは、「ａｒｅａ（ｒ，ｇ＋１，ｂ）＝ｎ」という情報を、コンピュータ内の記憶装置に記憶する。「ａｒｅａ（ｒ，ｇ＋１，ｂ）＝ｎ」は、「ＲＧＢ表色系の色空間上の座標（ｒ，ｇ＋１，ｂ）は、ｎ番目の色の領域に属する」ことを意味するものである。
【００７８】
一方、ステップＳ３１５においてａｒｅａ（ｒ，ｇ＋１，ｂ）が０（ゼロ）ではないと判定される場合は、新たに判定対象に設定した座標（ｒ，ｇ＋１，ｂ）は、１〜ｎ−１番目（ただし、ｎは２以上の整数）いずれかの色の領域に含まれていることを意味する。この場合、判定対象に係る座標を、「当該新たに判定対象に設定した座標（ｒ，ｇ＋１，ｂ）」から、新たに判定対象に設定する前の、すなわち「以前の判定対象にかかる座標（ｒ，ｇ，ｂ）」に設定を戻した上で、図１１のＥＸＩＴへ進む。
【００７９】
図６〜１１を参照して説明したステップＳ３０５〜Ｓ３１５の処理を経ることによって、判定対象に係る座標は、座標（ｒ，ｇ，ｂ）を起点にして、図１２の矢印「１」、「２」、「３」、「４」、「５」および「６」に示す順に、隣接する座標に変更して設定されていくことになる。なお、この判定対象に係る座標の変更は、ここに示した順序に限定されず、それ以外の順序であってもよい。
【００８０】
図１３は、本発明の実施例による画像処理方法を適応した場合における、判定対象に係る座標の移動を例示する図である。ｃｏｕｎｔ（ｒ，ｇ，ｂ）をｄ（ｒ，ｇ，ｂ）で除算（割り算）して得られた商が、ｌｉｍｉｔより大きいと判定された場合には、「ＲＧＢ表色系の色空間上の座標（ｒ，ｇ，ｂ）は、ｎ番目の色の領域に属する」と決定されることになるが、上述のような再帰呼び出し（ｒｅｃｕｒｓｉｖｅ  ｃａｌｌ）構造を有するコンピュータプログラムを実行することにより、上記判定がなされるような色空間上における座標を順次見つけ出していき、代表色の領域に属する色の領域を画定することができる。
【００８１】
判定に係る座標（判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標）についてステップＳ１０４で得られた商が、所定のしきい値よりも大きいとステップＳ１０５において判定される限り、当該判定に係る座標を変更して、当該判定に係る座標に対して色空間の各座標軸方向にさらに隣接する座標をさらなる判定に係る座標に設定して、再びステップＳ１０３から始まる処理が繰り返し実行されることになる。一方、判定に係る座標（判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標）についてステップＳ１０４で得られた商が、所定のしきい値よりも小さいとステップＳ１０５において判定された場合は、ステップＳ１０８において、コンピュータは、判定に係る座標（判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標）を変更する。すなわち、ステップＳ１０８において、コンピュータは、当該判定に係る座標（判定対象である色のＲＧＢの各要素の明度に対応する色空間上の座標）に対して色空間の各座標軸方向にさらに隣接する座標のいずれかを、「さらなる判定に係る座標」に新たに設定する。図１３は、あくまでも例示的なものであるが、判定対象に係る座標は、色空間上において、図中の矢印に付された番号の順に移動していくことを例示している。
【００８２】
図４〜１１のフローチャートに示される画像処理方法によって生成された１番目〜ｎ番目の色の領域は、２次元平面上における座標を表すビットマップデータの形式に変換される。生成されたビットマップデータは、コンピュータのディスプレイに表示するために用いられてもよく、あるいはその他のデータ処理にも用いられてもよい。図１４は、本発明の実施例による画像処理方法の適用結果を例示する図である。ここで、「カラー画像のＸＹ２次元平面上において座標（ｘ，ｙ）に位置するピクセルが、ｎ番目の色の領域に含まれること」を、「ｐ（ｘ，ｙ）＝ｎ」で表記す。また、「カラー画像のＸＹ２次元平面上において座標（ｘ，ｙ）に位置するピクセルが、１番目〜ｎ番目の色の領域のいずれの領域にも含まれないこと」を、「ｐ（ｘ，ｙ）＝０」で表す。既に説明したパラメータ表現とあわせれば、「ｐ（ｘ，ｙ）＝ａｒｅａ（ｒ（ｘ，ｙ），ｇ（ｘ，ｙ），ｂ（ｘ，ｙ）」と表現できる。
【００８３】
図２に例示したプリント基板のカラー画像に対して、本発明の実施例による画像処理方法を適用すると、図１４に示すように色の領域が分割される。すなわち、その色を呈するピクセルの数が多い順に、１番目の色の領域（ｐ（ｘ，ｙ）＝１）、２番目の色の領域（ｐ（ｘ，ｙ）＝２）、３番目の色の領域（ｐ（ｘ，ｙ）＝３）、４番目の色の領域（ｐ（ｘ，ｙ）＝４）、いずれの色の領域にも含まれない領域（ｐ（ｘ，ｙ）＝０）、にそれぞれ分割される。これにより、カラー画像から、レジスト、配線パターンなど各要素ごとに画像が分離抽出できる。
【００８４】
このように本発明の実施例によれば、カラー画像に色のグラデーション変化が存在したり、色と色の境界部分に滲みがあった場合であっても、似たような色がまとまっている領域を見つけていくので、領域を的確に分割することができる。プリント基板像の撮影時における光源の位置、レンズやカメラの特性、プリント基板の状態などにより、入力されたカラー画像に色の滲みやぼけが発生しても、領域分割を的確に行うことができる。
【００８５】
上述した本実施例による画像処理装置は、コンピュータを用いて実現される。図１５は、記録媒体に格納されたプログラムにより動作する本発明の実施例による画像処理装置の構成を示すブロック図である。
【００８６】
本発明による画像処理をコンピュータに実行させるコンピュータプログラムは、図１５に示すように、記憶媒体（フレキシブルディスク、ＣＤ−ＲＯＭ等の外部記憶媒体）１１０に格納されており、例えば、次に説明するような構成によるコンピュータにインストールされて画像処理装置として動作する。
【００８７】
ＣＰＵ１１１は、画像処理装置全体を制御する。このＣＰＵ１１１に、バス１１２を介してＲＯＭ１１３、ＲＡＭ１１４、ＨＤ（ハードディスク装置）１１５、マウスやキーボード等の入力装置１１６、外部記憶媒体ドライブ装置１１７およびＬＣＤ、ＣＲＴ、プラズマディスプレイ、有機ＥＬ等の表示装置１１８が接続されている。ＣＰＵ１１１の制御プログラムはＲＯＭ１１３に格納されている。
【００８８】
本発明による画像処理を実行するコンピュータプログラム（画像処理プログラム）は、記憶媒体１１０からＨＤ１１５にインストール（記憶）される。また、ＲＡＭ１１４には、画像処理をＣＰＵ１１１が実行する際の作業領域や、画像処理を実行するコンピュータプログラムの一部が記憶される領域が確保されている。また、ＨＤ１１５には、入力データ、最終データ、さらにＯＳ（オペレーティングシステム）等が予め記憶される。
【００８９】
まず、コンピュータの電源を投入すると、ＣＰＵ１１１がＲＯＭ１１０から制御プログラムを読み出し、さらにＨＤ１１５からＯＳを読み込み、ＯＳを起動させる。これによりコンピュータは画像処理プログラムを記憶媒体１１０からインストール可能な状態となる。
【００９０】
次に、記憶媒体１１０を外部記憶媒体ドライブ装置１１７に装着し、入力装置１１６から制御コマンドをＣＰＵ１１１に入力し、記憶媒体１１０に格納された画像処理プログラムを読み取ってＨＤ１１５等に記憶する。つまり画像処理プログラムがコンピュータにインストールされる。
【００９１】
その後は、画像処理プログラムを起動させると、コンピュータは画像処理装置として動作する。オペレータは、表示装置１１８に表示される対話形式による作業内容と手順に従って、入力装置１１６を操作することで、上述した画像処理を実行することができる。処理の結果得られた「分離抽出された色の領域に関するデータ」は、例えば、ＨＤ１１５に記憶しておいて後日利用できるようにしたり、あるいは、処理結果を表示装置１１８に視覚的に表示するのに用いてもよい。
【００９２】
なお、図１５のコンピュータでは、記憶媒体１１０に記憶されたコンピュータプログラムをＨＤ１１５にインストールするようにしたが、これに限らず、ＬＡＮ等の情報伝送媒体を介して、コンピュータにインストールされてもよいし、コンピュータに内蔵のＨＤ１１５に予めインストールされておいてもよい。
【産業上の利用可能性】
【００９３】
本発明は、カラー画像から特定の色を分離抽出する画像処理方法として利用することができる。例えば、プリント基板をディジタルカメラで撮像して得られたカラー画像のデータを用いて、プリント基板の欠陥の有無を検査する検査装置に適用することができる。
【００９４】
また、本発明は、プリント基板を撮影したカラー画像以外のカラー画像に対しても適用することができる。例えば、スチルカメラ、ビデオカメラ、スキャナ、ＴＶ電話、プリンタなど、カラー画像から特定の色を呈する画像を分離抽出するような技術に対しても適用することができる。
【００９５】
本発明によれば、入力されたカラー画像から特定の色を有する領域をコンピュータによる演算処理により正確に抽出することができる。特に本発明によれば、カラー画像に色のグラデーション変化が存在したり、色と色の境界部分に滲みがあった場合であっても、適度な範囲で領域を分割することができる。また、代表色を逐一指定する手間を省くことができる。また、代表色の誤った指定や指定し忘れに起因する領域の誤分割もない。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施例による画像処理方法の動作フローを示すフローチャートである。
【図２】カラー画像からのＲＧＢの各要素の明度の取得について説明する図である。
【図３】ＲＧＢの各要素の明度を各座標値とするＲＧＢ表色系の色空間を例示する図である。
【図４】本発明の実施例による画像処理方法の具体的処理を説明するフローチャート（その１）である。
【図５】本発明の実施例による画像処理方法の具体的処理を説明するフローチャート（その２）である。
【図６】本発明の実施例による画像処理方法の具体的処理を説明するフローチャート（その３）である。
【図７】本発明の実施例による画像処理方法の具体的処理を説明するフローチャート（その４）である。
【図８】本発明の実施例による画像処理方法の具体的処理を説明するフローチャート（その５）である。
【図９】本発明の実施例による画像処理方法の具体的処理を説明するフローチャート（その６）である。
【図１０】本発明の実施例による画像処理方法の具体的処理を説明するフローチャート（その７）である。
【図１１】本発明の実施例による画像処理方法の具体的処理を説明するフローチャート（その８）である。
【図１２】図６〜１１に示される処理が実行されることにより実行される、判定対象に係る座標の変更を説明する図である。
【図１３】本発明の実施例による画像処理方法を適応した場合における、判定対象に係る座標の移動を例示する図である。
【図１４】本発明の実施例による画像処理方法の適用結果を例示する図である。
【図１５】記録媒体に格納されたプログラムにより動作する本発明の実施例による画像処理装置の構成を示すブロック図である。
【符号の説明】
【００９７】
１１０    記録媒体
１１１    ＣＰＵ
１１２    バス
１１３    ＲＯＭ
１１４    ＲＡＭ
１１５    ハードディスク装置
１１６    入力装置
１１７    外部記憶媒体ドライブ装置
１１８    表示装置
【図１】
2010108285.tif 000006
【図２】
2010108285.tif 000007
【図３】
2010108285.tif 000008
【図４】
2010108285.tif 000009
【図５】
2010108285.tif 000010
【図６】
2010108285.tif 000011
【図７】
2010108285.tif 000012
【図８】
2010108285.tif 000013
【図９】
2010108285.tif 000014
【図１０】
2010108285.tif 000015
【図１１】
2010108285.tif 000016
【図１２】
2010108285.tif 000017
【図１３】
2010108285.tif 000018
【図１４】
2010108285.tif 000019
【図１５】
2010108285.tif 000020