(57)【要約】【課題】入力されたカラー画像から特定の色を有する領域を的確に分離する画像処理方法およびコンピュータプログラムを実現する。【解決手段】画像処理方法は、カラー画像上において特定の色の領域にグループ分けされていない対象ピクセルおよびその隣接ピクセルの明度を取得するステップと、対象ピクセルの明度と各隣接ピクセルの明度との各ｘ方向相対量および各ｙ方向相対量を算出するステップと、各ｘ方向相対量および各ｙ方向相対量を減算して得られるｘ方向明度勾配およびｙ方向明度勾配を算出するステップと、ＲＧＢの各要素の明度ごとのｘ方向明度勾配およびｙ方向明度勾配をそれぞれ加算し色傾向ベクトルを算出するステップと、色傾向ベクトルの指向する向きに位置する隣接ピクセルのうち特定の色の領域に属するものと決定済のグループ分け済みピクセルが含まれる領域に、対象ピクセルは属するものであると決定するステップと、を備える。【選択図】図１
2010117993.tif 000002
【特許請求の範囲】
【請求項１】
特定の色ごとの領域にグループ分けされたカラー画像において、各前記領域間内に位置し前記領域のいずれにもグループ分けされていないピクセルを、前記領域のいずれかに属するようグループ分けする画像処理方法であって、
入力されたカラー画像上において各前記領域間に位置し前記領域のいずれにもグループ分けされていない対象ピクセルおよび該対象ピクセルの隣接ピクセルそれぞれについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、
前記対象ピクセルの明度と該対象ピクセルに対して前記カラー画像上のＸ方向に隣接する各前記隣接ピクセルの明度との相対量である各ｘ方向相対量、ならびに前記対象ピクセルと該対象ピクセルに対して前記カラー画像上のＹ方向に隣接する各前記隣接ピクセルとの明度の相対量である各ｙ方向相対量を、ＲＧＢの各要素の明度ごとに算出する相対量算出ステップと、
各前記ｘ方向相対量を互いに減算して得られるｘ方向明度勾配、および各前記ｙ方向相対量を互いに減算して得られるｙ方向明度勾配を、ＲＧＢの各要素の明度ごとに算出する明度勾配算出ステップと、
算出されたＲＧＢの各要素の明度ごとの前記ｘ方向明度勾配を加算し、かつ算出されたＲＧＢの各要素の明度ごとの前記ｙ方向明度勾配を加算することにより、前記カラー画像上における色傾向ベクトルを算出する色傾向ベクトル算出ステップと、
算出された前記色傾向ベクトルの指向する方向に位置する隣接ピクセルのうち特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルが含まれる領域に、前記対象ピクセルは属するものであると決定する決定ステップと、
を備えることを特徴とする画像処理方法。
【請求項２】
特定の色ごとの領域にグループ分けされたカラー画像において、各前記領域間内に位置し前記領域のいずれにもグループ分けされていないピクセルを、前記領域のいずれかに属するようグループ分けする画像処理方法であって、
入力されたカラー画像において各前記領域間に位置し前記領域のいずれにもグループ分けされていない対象ピクセルおよび該対象ピクセルの隣接ピクセルそれぞれについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、
前記対象ピクセルに対する各前記隣接ピクセルの明度の各相対量を、ＲＧＢの各要素の明度ごとに算出する相対量算出ステップと、
算出された各前記相対量を、前記カラー画像上のＸＹ平面上に位置する前記対象ピクセルを中心としたときに前記ＸＹ平面に対して垂直方向のＺ方向に架かる錘とみなして、前記対象ピクセルの周りのモーメントを、ＲＧＢの各要素の明度ごとに算出するモーメント算出ステップと、
算出された前記モーメントの向きを前記カラー画像上のＸＹ平面上でマイナス９０度方向回転させることにより得られるＲＧＢ要素別ベクトルを、ＲＧＢの各要素の明度ごとに算出するＲＧＢ要素別ベクトル算出ステップと、
算出されたＲＧＢの各要素の明度ごとの前記ＲＧＢ要素別ベクトルを加算し、色傾向ベクトルを算出する色傾向ベクトル算出ステップと、
算出された前記色傾向ベクトルの指向する方向に位置する隣接ピクセルのうち特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルが含まれる領域に、前記対象ピクセルは属するものであると決定する決定ステップと、
を備えることを特徴とする画像処理方法。
【請求項３】
前記決定ステップは、
前記対象ピクセルを始点とした前記色傾向ベクトルが指向する方向に位置する隣接ピクセルが、どれであるかを示す指向情報を取得する指向情報取得ステップと、
前記色傾向ベクトルが前記対象ピクセルを指向するような位置に存在する当該色傾向ベクトルの方向の基準となる隣接ピクセルが、どれであるかを示す被指向情報を取得する被指向情報取得ステップと、
前記指向情報および前記被指向情報に基づいて、前記グループ分け済みピクセルを検出する検出ステップと、
を有する請求項１または２に記載の画像処理方法。
【請求項４】
前記検出ステップは、
前記指向情報で示される隣接ピクセルが、特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルであるか否かを判定する第１のステップと、
前記指向情報で示される隣接ピクセルが前記グループ分け済みピクセルであると前記第１のステップにおいて判定された場合、前記対象ピクセルは、前記第１のステップで判定された当該グループ分け済みピクセルが含まれた領域に属するものであると決定する第２のステップと、
を備え、
前記第１のステップは、前記指向情報で示される隣接ピクセルが前記グループ分け済みピクセルであると判定されるまで、特定の色の領域に属するものとは未だ決定されていない前記指向情報で示される隣接ピクセルを対象ピクセルとして再設定することにより前記指向情報取得ステップが実行されて取得された指向情報が示す隣接ピクセルに対して、繰り返し適用される請求項３に記載の画像処理方法。
【請求項５】
前記第１のステップが繰り返し適用される回数は、所定の回数である請求項４に記載の画像処理方法。
【請求項６】
前記検出ステップは、
前記指向情報で示される隣接ピクセルが前記グループ分け済みピクセルであると前記第１のステップにおいて判定された場合、当該グループ分け済みピクセルに係る被指向情報で示される隣接ピクセルが、特定の色の領域に属するものとは未だ決定されていない未グループ分けピクセルであるか否かを判定する第３のステップと、
前記被指向情報で示される隣接ピクセルが前記グループ分け済みピクセルではないと前記第３のステップにおいて判定された場合、当該隣接ピクセルは、前記第１のステップで判定された当該グループ分け済みピクセルが含まれた領域に属するものであると決定する第４のステップと、
を備える請求項４または５に記載の画像処理方法。
【請求項７】
前記指向情報取得ステップおよび前記被指向情報取得ステップは、前記色傾向ベクトルと前記カラー画像上における所定の軸方向とのなす角度に基づいて前記指向情報および前記被指向情報をそれぞれ取得する請求項３に記載の画像処理方法。
【請求項８】
前記決定ステップにおいて決定された前記対象ピクセルが属する前記領域に関するデータをコンピュータ内の記憶装置に記憶する請求項１〜７のいずれか一項に記載の画像処理方法。
【請求項９】
特定の色ごとの領域にグループ分けされたカラー画像において、各前記領域間内に位置し前記領域のいずれにもグループ分けされていないピクセルを前記領域のいずれかに属するようグループ分けする画像処理をコンピュータに実行させるためのコンピュータプログラムであって、
入力されたカラー画像上において各前記領域間に位置し前記領域のいずれにもグループ分けされていない対象ピクセルおよび該対象ピクセルの隣接ピクセルそれぞれについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、
前記対象ピクセルの明度と該対象ピクセルに対して前記カラー画像上のＸ方向に隣接する各前記隣接ピクセルの明度との相対量である各ｘ方向相対量、ならびに前記対象ピクセルと該対象ピクセルに対して前記カラー画像上のＹ方向に隣接する各前記隣接ピクセルとの明度の相対量である各ｙ方向相対量を、ＲＧＢの各要素の明度ごとに算出する相対量算出ステップと、
各前記ｘ方向相対量を互いに減算して得られるｘ方向明度勾配、および各前記ｙ方向相対量を互いに減算して得られるｙ方向明度勾配を、ＲＧＢの各要素の明度ごとに算出する明度勾配算出ステップと、
算出されたＲＧＢの各要素の明度ごとの前記ｘ方向明度勾配を加算し、かつ算出されたＲＧＢの各要素の明度ごとの前記ｙ方向明度勾配を加算することにより、前記カラー画像上における色傾向ベクトルを算出する色傾向ベクトル算出ステップと、
算出された前記色傾向ベクトルの指向する方向に位置する隣接ピクセルのうち特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルが含まれる領域に、前記対象ピクセルは属するものであると決定する決定ステップと、
を備えることを特徴とする画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１０】
特定の色ごとの領域にグループ分けされたカラー画像において、各前記領域間内に位置し前記領域のいずれにもグループ分けされていないピクセルを前記領域のいずれかに属するようグループ分けする画像処理をコンピュータに実行させるためのコンピュータプログラムであって、
入力されたカラー画像において各前記領域間に位置し前記領域のいずれにもグループ分けされていない対象ピクセルおよび該対象ピクセルの隣接ピクセルそれぞれについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、
前記対象ピクセルに対する各前記隣接ピクセルの明度の各相対量を、ＲＧＢの各要素の明度ごとに算出する相対量算出ステップと、
算出された各前記相対量を、前記カラー画像上のＸＹ平面上に位置する前記対象ピクセルを中心としたときに前記ＸＹ平面に対して垂直方向のＺ方向に架かる錘とみなして、前記対象ピクセルの周りのモーメントを、ＲＧＢの各要素の明度ごとに算出するモーメント算出ステップと、
算出された前記モーメントの向きを前記カラー画像上のＸＹ平面上でマイナス９０度方向回転させることにより得られるＲＧＢ要素別ベクトルを、ＲＧＢの各要素の明度ごとに算出するＲＧＢ要素別ベクトル算出ステップと、
算出されたＲＧＢの各要素の明度ごとの前記ＲＧＢ要素別ベクトルを加算し、色傾向ベクトルを算出する色傾向ベクトル算出ステップと、
算出された前記色傾向ベクトルの指向する方向に位置する隣接ピクセルのうち特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルが含まれる領域に、前記対象ピクセルは属するものであると決定する決定ステップと、
を備えることを特徴とする画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１１】
前記決定ステップは、
前記対象ピクセルを始点とした前記色傾向ベクトルが指向する方向に位置する隣接ピクセルが、どれであるかを示す指向情報を取得する指向情報取得ステップと、
前記色傾向ベクトルが前記対象ピクセルを指向するような位置に存在する当該色傾向ベクトルの方向の基準となる隣接ピクセルが、どれであるかを示す被指向情報を取得する被指向情報取得ステップと、
前記指向情報および前記被指向情報に基づいて、前記グループ分け済みピクセルを検出する検出ステップと、
を有する請求項９または１０に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１２】
前記検出ステップは、
前記指向情報で示される隣接ピクセルが、特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルであるか否かを判定する第１のステップと、
前記指向情報で示される隣接ピクセルが前記グループ分け済みピクセルであると前記第１のステップにおいて判定された場合、前記対象ピクセルは、前記第１のステップで判定された当該グループ分け済みピクセルが含まれた領域に属するものであると決定する第２のステップと、
を備え、
前記第１のステップは、前記指向情報で示される隣接ピクセルが前記グループ分け済みピクセルであると判定されるまで、特定の色の領域に属するものとは未だ決定されていない前記指向情報で示される隣接ピクセルを対象ピクセルとして再設定することにより前記指向情報取得ステップが実行されて取得された指向情報が示す隣接ピクセルに対して、繰り返し適用される請求項１１に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１３】
前記第１のステップが繰り返し適用される回数は、所定の回数である請求項１２に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１４】
前記検出ステップは、
前記指向情報で示される隣接ピクセルが前記グループ分け済みピクセルであると前記第１のステップにおいて判定された場合、当該グループ分け済みピクセルに係る被指向情報で示される隣接ピクセルが、特定の色の領域に属するものとは未だ決定されていない未グループ分けピクセルであるか否かを判定する第３のステップと、
前記被指向情報で示される隣接ピクセルが前記グループ分け済みピクセルではないと前記第３のステップにおいて判定された場合、当該隣接ピクセルは、前記第１のステップで判定された当該グループ分け済みピクセルが含まれた領域に属するものであると決定する第４のステップと、
を備える請求項１２または１３に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１５】
前記指向情報取得ステップおよび前記被指向情報取得ステップは、前記色傾向ベクトルと前記カラー画像上における所定の軸方向とのなす角度に基づいて前記指向情報および前記被指向情報をそれぞれ取得する請求項１１に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１６】
前記決定ステップにおいて決定された前記対象ピクセルが属する前記領域に関するデータをコンピュータ内の記憶装置に記憶させる請求項１〜７のいずれか一項に記載の画像処理をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたカラー画像から特定の色を有する領域を抽出する画像処理方法およびそのコンピュータプログラムに関する。
【背景技術】
【０００２】
プリント基板を検査する検査装置においては、プリント基板をディジタルカメラで撮像して得られたカラー画像のデータを用いて、プリント基板の欠陥の有無を検査する。一般に、プリント基板上の配線パターン、レジストおよび各種部品などはそれ自身固有の色をそれぞれ有しているので、検査装置に入力されたカラー画像を画像処理により特定の色を有する領域ごとに分割して各領域を抽出することによって、プリント基板上の配線パターン、レジストおよび各種部品などが配置された各領域の位置および形状などに関する欠陥を検査する。より具体的には、予め設定された代表色とある地点（ピクセル）の色とを、色の三原色であるＲＧＢ（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅ）の各要素の明度に基づいて比較し、比較結果が所定の条件を満たすような場合には、当該地点は代表色で示される領域と同じ領域に属するものであると判定することによって、特定の色の分離抽出を実現する。
【０００３】
予め設定された代表色とある地点（ピクセル）の色との比較条件としては、例えばＲＧＢ表色系の色空間（以下、単に「ＲＧＢ色空間」と称する。）において、代表色のベクトルとある画素の色のベクトルとのなす角および距離を計算し、それらを掛け合わせた値に応じて領域を分割する方法がある（例えば、特許文献１参照）。
【０００４】
また、カラー画像の各画素を色空間上の座標値に変換したヒストグラムの極大点およびその近傍の画素を初期クラスタとして抽出して領域分割する方法がある（例えば、特許文献２参照）。
【０００５】
【特許文献１】特開２００６−０３１５８４号公報
【特許文献２】特開２００４−００５３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１（すなわち特開２００６−０３１５８４号公報）や特許文献２（すなわち特開２００６−００５３８３号公報）に記載された発明をはじめとする、入力されたカラー画像から特定の色（代表色）を有する領域を分離抽出する画像処理方法を実行しても、代表色のどの領域にも分類されない領域（いわゆる「取りこぼしの領域」）が発生してしまうことがある。例えば、１本の配線の画像をカラー画像から抽出するために当該配線に対応する代表色であるとして色を指定したにもかかわらず、完全な配線ではなく分断された配線の画像が分離抽出されてしまうことがある。これは、検査対象物のカラー画像撮影時における光源の位置、レンズやカメラの特性、画像の拡大もしくは縮小あるいはデータ圧縮などの影響により、入力されたカラー画像において色の滲みやボケが発生し、このため、画像処理装置が色を分類しきれないからである。
【０００７】
従って本発明の目的は、上記問題に鑑み、特定の色ごとの領域にグループ分けされたカラー画像において、未だいずれにもグループ分けされていないピクセルを、既にグループ分けされたいずれかの領域に属するよう振り分ける処理をコンピュータによる自動演算処理で実現する画像処理方法およびこの画像処理をコンピュータに実行させるためのコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を実現するために、本発明の第１の態様においては、特定の色ごとの領域にグループ分けされたカラー画像において、未だいずれにもグループ分けされていないピクセルを、グループ分け済み領域のいずれかに属するようグループ分けする画像処理方法は、入力されたカラー画像上において各グループ分け済み領域間に位置しこれら領域のいずれにもグループ分けされていない対象ピクセルおよびこの対象ピクセルの隣接ピクセルそれぞれについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、対象ピクセルの明度と対象ピクセルに対してカラー画像上のＸ方向に隣接する各隣接ピクセルの明度との相対量である各ｘ方向相対量、ならびに対象ピクセルと対象ピクセルに対してカラー画像上のＹ方向に隣接する各隣接ピクセルとの明度の相対量である各ｙ方向相対量を、ＲＧＢの各要素の明度ごとに算出する相対量算出ステップと、各ｘ方向相対量を互いに減算して得られるｘ方向明度勾配、および各ｙ方向相対量を互いに減算して得られるｙ方向明度勾配を、ＲＧＢの各要素の明度ごとに算出する明度勾配算出ステップと、算出されたＲＧＢの各要素の明度ごとのｘ方向明度勾配を加算し、かつ算出されたＲＧＢの各要素の明度ごとのｙ方向明度勾配を加算することにより、カラー画像上における色傾向ベクトルを算出する色傾向ベクトル算出ステップと、算出された色傾向ベクトルの指向する方向に位置する隣接ピクセルのうち特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルが含まれる領域に、対象ピクセルは属するものであると決定する決定ステップと、を備える。
【０００９】
上記処理は、コンピュータ等の演算処理装置が実行することができるコンピュータプログラムの形式で実現できる。また、このコンピュータプログラムを記録媒体に格納するという事項も当業者には自明である。
【００１０】
すなわち、特定の色ごとの領域にグループ分けされたカラー画像において、各グループ分け済みの領域間内に位置しこれら領域のいずれにもグループ分けされていないピクセルをグループ分け済みの領域のいずれかに属するようグループ分けする画像処理をコンピュータに実行させるためのコンピュータプログラムは、入力されたカラー画像上において各グループ分け済みの領域間に位置しこれら領域のいずれにもグループ分けされていない対象ピクセルおよびこの対象ピクセルの隣接ピクセルそれぞれについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、対象ピクセルの明度とこの対象ピクセルに対してカラー画像上のＸ方向に隣接する各隣接ピクセルの明度との相対量である各ｘ方向相対量、ならびに対象ピクセルとこの対象ピクセルに対してカラー画像上のＹ方向に隣接する各隣接ピクセルとの明度の相対量である各ｙ方向相対量を、ＲＧＢの各要素の明度ごとに算出する相対量算出ステップと、各ｘ方向相対量を加算して得られるｘ方向明度勾配、および各ｙ方向相対量を加算して得られるｙ方向明度勾配を、ＲＧＢの各要素の明度ごとに算出する明度勾配算出ステップと、算出されたＲＧＢの各要素の明度ごとのｘ方向明度勾配を加算し、かつ算出されたＲＧＢの各要素の明度ごとのｙ方向明度勾配を加算することにより、カラー画像上における色傾向ベクトルを算出する色傾向ベクトル算出ステップと、算出された色傾向ベクトルの指向する方向に位置する隣接ピクセルのうち特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルが含まれる領域に、対象ピクセルは属するものであると決定する決定ステップと、を備える。
【００１１】
また、本発明の第２の態様においては、特定の色ごとの領域にグループ分けされたカラー画像において、未だいずれにもグループ分けされていないピクセルを、グループ分け済み領域のいずれかに属するようグループ分けする画像処理方法は、入力されたカラー画像において各グループ分け済み領域間に位置しこれら領域のいずれにもグループ分けされていない対象ピクセルおよびこの対象ピクセルの隣接ピクセルそれぞれについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、対象ピクセルに対する各隣接ピクセルの明度の各相対量を、ＲＧＢの各要素の明度ごとに算出する相対量算出ステップと、算出された各相対量を、カラー画像上のＸＹ平面上に位置する対象ピクセルを中心としたときにＸＹ平面に対して垂直方向のＺ方向に架かる錘とみなして、対象ピクセルの周りのモーメントを、ＲＧＢの各要素の明度ごとに算出するモーメント算出ステップと、算出されたモーメントの向きをカラー画像上のＸＹ平面上でマイナス９０度方向回転させることにより得られるＲＧＢ要素別ベクトルを、ＲＧＢの各要素の明度ごとに算出するＲＧＢ要素別ベクトル算出ステップと、算出されたＲＧＢの各要素の明度ごとのＲＧＢ要素別ベクトルを加算し、色傾向ベクトルを算出する色傾向ベクトル算出ステップと、算出された色傾向ベクトルの指向する方向に位置する隣接ピクセルのうち特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルが含まれる領域に、対象ピクセルは属するものであると決定する決定ステップと、を備える。
【００１２】
上記処理は、コンピュータ等の演算処理装置が実行することができるコンピュータプログラムの形式で実現できる。また、このコンピュータプログラムを記録媒体に格納するという事項も当業者には自明である。
【００１３】
すなわち、特定の色ごとの領域にグループ分けされたカラー画像において、各グループ分け済の領域間内に位置しこれら領域のいずれにもグループ分けされていないピクセルをグループ分け済みの領域のいずれかに属するようグループ分けする画像処理をコンピュータに実行させるためのコンピュータプログラムは、入力されたカラー画像において各グループ分け済の領域間に位置しこれら領域のいずれにもグループ分けされていない対象ピクセルおよびこの対象ピクセルの隣接ピクセルそれぞれについて、ＲＧＢの各要素の明度を取得する明度取得ステップと、対象ピクセルに対する各隣接ピクセルの明度の各相対量を、ＲＧＢの各要素の明度ごとに算出する相対量算出ステップと、算出された各相対量を、カラー画像上のＸＹ平面上に位置する対象ピクセルを中心としたときにＸＹ平面に対して垂直方向のＺ方向に架かる錘とみなして、対象ピクセルの周りのモーメントを、ＲＧＢの各要素の明度ごとに算出するモーメント算出ステップと、算出されたモーメントの向きをカラー画像上のＸＹ平面上でマイナス９０度方向回転させることにより得られるＲＧＢ要素別ベクトルを、ＲＧＢの各要素の明度ごとに算出するＲＧＢ要素別ベクトル算出ステップと、算出されたＲＧＢの各要素の明度ごとのＲＧＢ要素別ベクトルを加算し、色傾向ベクトルを算出する色傾向ベクトル算出ステップと、算出された色傾向ベクトルの指向する方向に位置する隣接ピクセルのうち特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルが含まれる領域に、対象ピクセルは属するものであると決定する決定ステップと、を備える。
【発明の効果】
【００１４】
本発明によれば、特定の色ごとの領域にグループ分けされたカラー画像において、未だいずれにもグループ分けされていないピクセルを既にグループ分けされたいずれかの領域に属するよう振り分ける処理を、コンピュータによる自動演算処理で実現することができる。したがって、本発明によれば、カラー画像に色のグラデーション変化が存在したり、色と色の境界部分に滲みがあった場合であっても、コンピュータによる演算処理により、特定の色の領域を的確に分離抽出することができる。すなわち本発明によれば、ピクセルの位置情報も考慮するため、被写体の撮影時における光源の位置、レンズやカメラの特性、被写体の状態などにより、入力されたカラー画像に色の滲みやぼけが発生しても、領域分割を的確に行うことができる。例えば、被写体がプリント基板である場合における１本の配線についても、従来のように分断された領域として画像が分離抽出されることはない。
【発明を実施するための最良の形態】
【００１５】
本発明による画像処理方法は、コンピュータの演算処理によって実行されるが、この画像処理を実行する前に、コンピュータに入力されたカラー画像について、特定の色（代表色）を有する領域ごとに分離抽出するコンピュータ処理を実行しておく。本発明による画像処理の前段階に実行される上記分離抽出のための画像処理の種類は、本発明の適用を制限するものではなく、本発明による画像処理方法は、どのような上記分離抽出のための画像処理の実行後にも、適用することができる。
【００１６】
本発明による画像処理を実行するにあたっては、まず、代表色を有する領域ごとに予め分離抽出された（すなわちグループ分けされた）カラー画像に関するデータを、本発明による画像処理を実行するコンピュータに入力する。
【００１７】
ここでは、実施例として、配線パターン、レジストおよび各種部品などが実装されたプリント基板を画像認識して特定の色（代表色）ごとにある程度領域分割された場合への適用について説明するが、本発明を適用可能な対象物（カラー画像の被写体）としては、プリント基板以外のその他の被写体であってもよい。
【００１８】
図１は、本発明の第１の実施例による画像処理方法の動作フローを示すフローチャートである。以下、本明細書では、入力されたカラー画像上において各グループ分け済み領域間に位置しこれらグループ分け済み領域のいずれにもグループ分けされていない、グループ分け済み領域に振り分けるべきいわゆる「取りこぼしのピクセル」のことを、「対象ピクセル」と称する。また、この対象ピクセルに隣接するピクセルのことを、「隣接ピクセル」と称する。
【００１９】
ステップＳ１０１において、コンピュータは、入力されたカラー画像上において各グループ分け済み領域間に位置しこれらグループ分け済み領域のいずれにもグループ分けされていない対象ピクセルおよびこの対象ピクセルの隣接ピクセルそれぞれについて、ＲＧＢの各要素の明度を取得する。取得されたデータは、コンピュータのハードディスク等の記憶装置に記憶され、演算処理時にはコンピュータの作業メモリに適宜ロードされる。
【００２０】
図２は、カラー画像からのＲＧＢの各要素の明度の取得について説明する図である。この図以降、説明の都合上、プリント基板のカラー画像における色の違いを、ハッチングの種類の違いで表現することにする。一般に、ＲＧＢカラーモデルにおける色は、Ｒ（赤）、Ｇ（緑）およびＢ（青）の各要素がどれだけ含まれているかによって表現することができる。本実施例では、ＲＧＢの各要素の明度を、一例として０から２５５までの２５６個の数字で表現することにするが、このことは本発明を限定するものではなく、例えばこの数を減らすことによってコンピュータの演算処理量を低減してもよい。
【００２１】
カラー画像の全てのピクセルについて、例えば、カラー画像のＸＹ２次元平面上の座標（ｘ，ｙ）におけるＲ（赤）要素の明度をｒ（ｘ，ｙ）、Ｇ（緑）要素の明度をｇ（ｘ，ｙ）、Ｂ（青）要素の明度をｂ（ｘ，ｙ）と定義する。例えば、図２において「×」印で示されるＸＹ２次元平面上の座標（ｘ，ｙ）におけるＲＧＢの各要素の明度を、（ｒ（ｘ，ｙ），ｇ（ｘ，ｙ），ｂ（ｘ，ｙ））＝（１８９，２０２，１８９）といったように記述する。これに従えば、座標（ｘ，ｙ）における、例えば黒、白、赤、緑、青、黄、シアンおよびマゼンタの各色は、次の表１に示すように表現することができる。
【表１】
2010117993.tif 000003
【００２２】
次いで、ステップＳ１０２において、コンピュータは、対象ピクセルの明度と対象ピクセルに対してカラー画像上のＸ方向に隣接する各隣接ピクセルの明度との相対量である各「ｘ方向相対量」、ならびに対象ピクセルと対象ピクセルに対してカラー画像上のＹ方向に隣接する各隣接ピクセルとの明度の相対量である各「ｙ方向相対量」を、ＲＧＢの各要素の明度ごとに算出する。
【００２３】
次いで、ステップＳ１０３において、コンピュータは、各ｘ方向相対量を互いに減算して得られる「ｘ方向明度勾配」、および各ｙ方向相対量を互いに減算して得られる「ｙ方向明度勾配」を、ＲＧＢの各要素の明度ごとに算出する。
【００２４】
次いで、ステップＳ１０４において、ステップＳ１０３において算出されたＲＧＢの各要素の明度ごとのｘ方向明度勾配を全て加算し、かつステップＳ１０３において算出されたＲＧＢの各要素の明度ごとのｙ方向明度勾配を全て加算することにより、カラー画像のＸＹ２次元平面上におけるベクトルを算出し、このベクトルが指す方向とは反対方向を指すベクトルを、「色傾向ベクトル」として算出する。この色傾向ベクトルは、対象ピクセルの色に似ている色を有する隣接ピクセルが、当該対象ピクセルに対してどの方向にあるのかを示すものである。
【００２５】
次いで、ステップＳ１０５において、コンピュータは、算出された色傾向ベクトルの指向する方向に位置する隣接ピクセルのうち特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルが含まれる領域に、対象ピクセルは属するものであると決定する。
【００２６】
ステップＳ１０５における対象ピクセルの所属領域の決定は、指向情報および被指向情報を用いてコンピュータにより実行される。より具体的には、ステップＳ１０５は、対象ピクセルを始点とした色傾向ベクトルが指向する方向に位置する隣接ピクセルが、どれであるかを示す指向情報を取得する指向情報取得ステップと、「色傾向ベクトルが対象ピクセルを指向するような位置」に存在する当該色傾向ベクトルの方向の基準となる隣接ピクセルが、どれであるかを示す被指向情報を取得する被指向情報取得ステップと、指向情報および被指向情報に基づいて、グループ分け済みピクセルを検出する検出ステップと、を有する。なお、指向情報取得ステップおよび被指向情報取得ステップでは、色傾向ベクトルとカラー画像上における所定の軸方向とのなす角度に基づいて指向情報および被指向情報をそれぞれ取得する。
【００２７】
また、上記検出ステップは、指向情報で示される隣接ピクセルが、特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルであるか否かを判定する第１のステップと、指向情報で示される隣接ピクセルが前記グループ分け済みピクセルであると第１のステップにおいて判定された場合、対象ピクセルは、第１のステップで判定された当該グループ分け済みピクセルが含まれた領域に属するものであると決定する第２のステップと、を備える。この第１のステップは、指向情報で示される隣接ピクセルがグループ分け済みピクセルであると判定されるまで、特定の色の領域に属するものとは未だ決定されていない指向情報で示される隣接ピクセルを対象ピクセルとして再設定することにより指向情報取得ステップが実行されて取得された指向情報が示す隣接ピクセルに対して、繰り返し適用される。なお、第１のステップが繰り返し適用される回数は、所定の回数に制限してもよい。
【００２８】
また、上記検出ステップは、指向情報で示される隣接ピクセルがグループ分け済みピクセルであると第１のステップにおいて判定された場合、当該グループ分け済みピクセルに係る被指向情報で示される隣接ピクセルが、特定の色の領域に属するものとは未だ決定されていない未グループ分けピクセルであるか否かを判定する第３のステップと、被指向情報で示される隣接ピクセルがグループ分け済みピクセルではないと第３のステップにおいて判定された場合、当該隣接ピクセルは、第１のステップで判定された当該グループ分け済みピクセルが含まれた領域に属するものであると決定する第４のステップと、を備える。
【００２９】
ここで、本発明の第１および第２の実施例についての説明に用いられるカラー画像上における２次元座標の定義について説明する。図３は、対象ピクセルおよび隣接ピクセルのカラー画像上における２次元座標を定義する図である。図３（ａ）に示すようなカラー画像において、各グループ分け済み領域間に位置しこれらグループ分け済み領域のいずれにもグループ分けされていない、グループ分け済み領域に振り分けるべき「対象ピクセル」の座標を、図３（ｂ）に示すように（ｘ＋１，ｙ＋１）と定義する。このとき隣接ピクセルの座標は、時計回りに、（ｘ，ｙ）、（ｘ＋１，ｙ）、（ｘ＋２，ｙ）、（ｘ＋２，ｙ＋１）、（ｘ＋２，ｙ＋２）、（ｘ＋１，ｙ＋２）、（ｘ，ｙ＋２）、（ｘ，ｙ＋１）、のようにそれぞれ定義される。
【００３０】
上述した本発明の第１の実施例による画像処理方法について、コンピュータプログラムレベルのパラメータおよび変数を用いて説明する。図４〜７および１５〜１７は、本発明の第１の実施例による画像処理方法の具体的処理を説明するフローチャートである。
【００３１】
まず、本発明の第１の実施例による画像処理が適用される、代表色を有する領域ごとに予め分離抽出された（すなわちグループ分けされた）カラー画像に関するデータを、本発明による画像処理を実行するコンピュータに入力する。ここで、コンピュータに入力されたカラー画像のＹ軸方向（縦方向）のピクセル数を「ｈｅｉｇｈｔ」、Ｘ軸方向（横方向）のピクセル数を「ｗｉｄｔｈ」とする。すなわち、コンピュータに入力されたカラー画像は、「ｈｅｉｇｈｔ×ｗｉｄｔｈ」個のピクセルを有するものであるとする。
【００３２】
また、本明細書では、予め分離抽出された（すなわちグループ分けされた）色の領域を、１番目の色の領域、２番目の色の領域、・・・、ｎ番目の色の領域（ただし、ｎは正の整数）と呼ぶことにする。例えば、カラー画像を画像処理により４色の領域に分割した場合（４色の領域を抽出した場合）は、ｎは４である。この場合、１番目の色の領域、２番目の色の領域、３番目の色の領域、４番目の色の領域と称する。また、「０番目の色領域」は、１〜４番目のいずれの色の領域にも属さないということを意味すると定義する。ここで、「カラー画像のＸＹ２次元平面上において座標（ｘ，ｙ）に位置するピクセルが、ｎ番目の色の領域に含まれること」を、「ｐ（ｘ，ｙ）＝ｎ」で表記す。すなわち、１番目の色の領域は、「ｐ（ｘ，ｙ）＝１」、２番目の色の領域は「ｐ（ｘ，ｙ）＝２」、３番目の色の領域は「ｐ（ｘ，ｙ）＝３」、４番目の色の領域は「ｐ（ｘ，ｙ）＝４」で表される。また、「カラー画像のＸＹ２次元平面上において座標（ｘ，ｙ）に位置するピクセルが、１番目〜ｎ番目の色の領域のいずれの領域にも含まれないこと」を、「ｐ（ｘ，ｙ）＝０」で表す。
【００３３】
図４のステップＳ３０１において、コンピュータは、入力されたカラー画像のＹ軸方向（縦方向）のピクセルの座標を示す変数「ｊ」を０（ゼロ）に初期設定する。次いで、ステップＳ３０２において、コンピュータは、入力されたカラー画像のＸ軸方向（横方向）のピクセルの座標を示す変数「ｉ」を０（ゼロ）に初期設定する。
【００３４】
図４のステップＳ３０３において、コンピュータは、「ｐ（ｉ，ｊ）＝０」であるか否かを判定する。すなわち、カラー画像上における２次元平面の座標（ｉ，ｊ）に位置するピクセルが、１番目〜ｎ番目の色の領域のいずれの領域にも含まれないか否かについて判定する。
【００３５】
ステップＳ３０３においてコンピュータが「ｐ（ｉ，ｊ）＝０」であると判定した場合は、座標（ｉ，ｊ）に位置するピクセルが、分離抽出のためのどのような画像処理方法を用いても代表色のどの領域にも分類されないような、本発明による画像処理の処理対象となる対象ピクセルであることを意味するので、次のステップＳ４００において、コンピュータは、座標（ｉ，ｊ）に位置するピクセルについて、定義済処理である「ｇｒａｄ（ｘ，ｙ）」のコンピュータプログラムを呼び出して実行する。定義済処理ｇｒａｄ（ｘ，ｙ）の詳細については、図５〜７を参照して後述する。コンピュータによる定義済処理ｇｒａｄ（ｘ，ｙ）の実行後は、ステップＳ３０４へ進む。
【００３６】
一方、ステップＳ３０３においてコンピュータが「ｐ（ｉ，ｊ）＝０」ではないと判定した場合は、座標（ｉ，ｊ）に位置するピクセルが、分離抽出のための画像処理により、いずれかの代表色の領域に属するものと既に決定されていたグループ分け済ピクセルであることを意味するので、定義済処理ｇｒａｄ（ｘ，ｙ）は実行せず、ステップＳ３０４へ進む。
【００３７】
コンピュータは、ステップＳ３０４においてｉを１つインクリメントし、ステップＳ３０５においてｊを１つインクリメントする。
【００３８】
以上の処理により、入力されたカラー画面上における全てのピクセルについて、分離抽出のための画像処理を実行しても代表色のいずれの領域にも属さなかった「取りこぼしのピクセル」であるか否かが調べ上げられる。「取りこぼしのピクセル」については、以下に説明する定義済処理ｇｒａｄ（ｘ，ｙ）がコンピュータにより実行される。図４のステップＳ４００における定義済処理ｇｒａｄ（ｘ，ｙ）について、図５〜７を参照して説明する。
【００３９】
図５のステップＳ４０１は、図１のステップＳ１０２に対応するものである。すなわち、図５のステップＳ４０１において、コンピュータは、対象ピクセルの明度と対象ピクセルに対してカラー画像上のＸ方向に隣接する各隣接ピクセルの明度との相対量である各ｘ方向相対量、ならびに対象ピクセルと対象ピクセルに対してカラー画像上のＹ方向に隣接する各隣接ピクセルとの明度の相対量である各ｙ方向相対量を、ＲＧＢの各要素の明度ごとに算出する。本明細書では、座標（ｘ＋１，ｙ＋１）に位置する対象ピクセルに対する、隣接ピクセルの明度の相対量を、ＲＧＢの要素ごとに、「ｒ’」、「ｇ’」および「ｂ’」でそれぞれ表す。図８は、明度の要素Ｒについてのｘ方向相対量およびｙ方向相対量を説明する図である。例えば明度の要素Ｒを例にとると、明度の要素Ｒについてのｘ方向相対量ｒ’（ｘ，ｙ＋１）およびｒ’（ｘ＋２，ｙ＋１）ならびにｙ方向相対量ｒ’（ｘ＋１，ｙ）およびｒ’（ｘ＋１，ｙ＋２）は、式（１）に示すように算出される。ちなみに、対象ピクセル自身の明度の相対量は「０（ゼロ）」である。
【００４０】
【数１】
2010117993.tif 000004
【００４１】
図５のステップＳ４０２は、図１のステップＳ１０３に対応するものである。すなわち、図５のステップＳ４０２において、コンピュータは、各ｘ方向相対量を互いに減算（引き算）してこれを２で除算（割り算）することで得られる「ｘ方向明度勾配」、および各ｙ方向相対量を互いに減算してこれを２で除算することで得られる「ｙ方向明度勾配」を、ＲＧＢの各要素の明度ごとに算出する。ここでは、座標（ｘ＋１，ｙ＋１）に位置する対象ピクセルに対するｘ方向明度勾配を、ＲＧＢの要素ごとに「Ｌrx」、「Ｌgx」および「Ｌbx」、ｙ方向明度勾配を、ＲＧＢの要素ごとに「Ｌry」、「Ｌgy」および「Ｌby」でそれぞれ表す。図９は、明度の要素Ｒについてのｘ方向明度勾配を説明する図である。例えば明度の要素Ｒを例にとると、図９（ａ）に示すような明度の要素Ｒについてのｘ方向明度勾配Ｌrxは、式（２）に示すように、ｘ方向相対量ｒ’（ｘ＋２，ｙ＋１）をｘ方向相対量ｒ’（ｘ，ｙ＋１）で減算して、２で除算することで算出される。
【００４２】
【数２】
2010117993.tif 000005
【００４３】
図９（ｂ）は、横軸をｘ座標値、縦軸をｘ方向相対量ｒ’としたときにおける、ｘ方向相対量ｒ’（ｘ＋２，ｙ＋１）とｘ方向相対量ｒ’（ｘ，ｙ＋１）とｘ方向明度勾配Ｌrxとの関係を示す。
【００４４】
同様に、明度の要素Ｒについてのｙ方向明度勾配Ｌryは、式（３）に示すように、ｙ方向相対量ｒ’（ｘ＋１，ｙ＋２）をｙ方向相対量ｒ’（ｘ＋１，ｙ）で減算して、２で除算することで算出される。
【００４５】
【数３】
2010117993.tif 000006
【００４６】
図１０は、明度の要素Ｒについての色の傾向を説明する図である。上述のようにして算出された明度の要素Ｒについて算出されたｘ方向明度勾配Ｌrxおよびｙ方向明度勾配Ｌryをそれぞれ２次元平面上におけるベクトルとみなしてこれらベクトルを加算すると、図１０に示すような合成ベクトルが得られる。この合成ベクトルは、「このベクトルの方向に向かって、明度の要素Ｒについてのｘ方向相対量ｒ’が大きくなる傾向にある」ということを意味している。
【００４７】
図５のステップＳ４０３およびＳ４０４は、図１のステップＳ１０４に対応するものである。図５のステップＳ４０３において、コンピュータは、式（４）に示すように、ＲＧＢの各要素の明度ごとのｘ方向明度勾配Ｌrx、ＬgxおよびＬbxを全て加算し、また、ＲＧＢの各要素の明度ごとのｙ方向明度勾配Ｌry、ＬgyおよびＬbyを全て加算することにより、カラー画像のＸＹ２次元平面上におけるベクトル（Ｌx，Ｌy）を算出する。
【００４８】
【数４】
2010117993.tif 000007
【００４９】
次いで、図５のステップＳ４０４において、コンピュータは、式（５）に示すように、ステップＳ４０３で算出したベクトル（Ｌx，Ｌy）が指す方向とは反対方向を指すベクトルと、「色傾向ベクトル（Ｌx’，Ｌy’）」として算出する。
【００５０】
【数５】
2010117993.tif 000008
【００５１】
図１１〜１３は、色傾向ベクトルの方向について説明する図である。隣接ピクセルのＲＧＢの要素ごとの明度の相対量ｒ’、ｇ’およびｂ’の値が小さいほど、当該隣接ピクセルは対象ピクセルと色が似ている。ベクトル（Ｌx，Ｌy）は、このＲＧＢの要素ごとの明度の相対量ｒ’、ｇ’およびｂ’を用いて算出されたものであるので、ベクトルＬxとベクトルＬyの合成ベクトルの方向は、色の傾向の違いが大きくなる方向を示すものであるといえる。したがって、ベクトル（Ｌx，Ｌy）が指向する方向とは反対方向を指向する色傾向ベクトル（Ｌx’，Ｌy’）が、当該対象ピクセルと色が似ている隣接ピクセルがある方向を示すものであるといえる。
【００５２】
図５のステップＳ４０５〜Ｓ４０７において、コンピュータは、カラー画像上のＸＹ２次元平面上における色傾向ベクトルが指向する方向を示す角度θを算出する。図１１に示すように、カラー画像上において色傾向ベクトルとＸ軸とのなす角をθとする。図５のステップＳ４０５において、コンピュータは、式（６）を用いて角度θを算出する。
【００５３】
【数６】
2010117993.tif 000009
【００５４】
ここで、任意のｘに対して０≦ｃｏｓ-1（ｘ）≦πであるので、Ｌy’＜０のときは、θ＝２π−θとする。すなわち、コンピュータは、ステップＳ４０６において「Ｌy’＜０」であるか否かを判断し、「Ｌy’＜０」である場合にはステップＳ４０７において「θ＝２π−θ」を算出する。
【００５５】
表２は、色傾向ベクトルが指向する方向を示す角度θとピクセルの番号との対応表である。図１２に示すように対象ピクセルおよびこれに隣接する隣接ピクセルの識別を容易にするために、対象ピクセルを「５」、隣接ピクセルを時計回りに「１」、「２」、「３」、「６」、「９」、「８」、「７」および「４」といったように番号をつけたとき、色傾向ベクトル（Ｌx’，Ｌy’）が指向する方向を示す角度θが分かれば、図１３および表２に示すように、対象ピクセルを始点としたときの色傾向ベクトルの指向する方向に位置する隣接ピクセルを特定することができる。図６のステップＳ４０８では、コンピュータは、色傾向ベクトル（Ｌx’，Ｌy’）が指向する方向を示す角度θから、色傾向ベクトル（Ｌx’，Ｌy’）が指向する方向に位置する隣接ピクセルを特定する。
【００５６】
【表２】
2010117993.tif 000010
【００５７】
図６のステップＳ４０９〜Ｓ４１６は、図１のステップＳ１０５の構成要素の１つである指向情報取得ステップに対応するものである。すなわち、図６のステップＳ４０９〜Ｓ４１６において、コンピュータにより、対象ピクセルを始点とした色傾向ベクトル（Ｌx’，Ｌy’）が指向する方向に位置する隣接ピクセルが、どれであるかを示す指向情報を取得する。ここで、カラー画像の２次元平面上の座標（ｘ，ｙ）に位置するピクセルを始点とした色傾向ベクトル（Ｌx’，Ｌy’）が指向する方向に位置する隣接ピクセルの番号ｎとするとき、指向情報を「ｔｏ（ｘ，ｙ）＝ｎ」で表す。
【００５８】
コンピュータは、図６のステップＳ４０８において色傾向ベクトル（Ｌx’，Ｌy’）が指向する方向に位置する隣接ピクセルを特定すると、表２に基づいて指向情報を取得する。すなわち、「０≦θ＜π／８もしくは１５π／８≦θ≦２π」のとき、ステップＳ４０９において、指向情報「ｔｏ（ｘ，ｙ）＝６」を取得する。「π／８≦θ＜３π／８」のとき、ステップＳ４１０において、指向情報「ｔｏ（ｘ，ｙ）＝９」を取得する。「３π／８≦θ＜５π／８」のとき、ステップＳ４１１において、指向情報「ｔｏ（ｘ，ｙ）＝８」を取得する。「５π／８≦θ＜７π／８」のとき、ステップＳ４１２において、指向情報「ｔｏ（ｘ，ｙ）＝７」を取得する。「７π／８≦θ＜９π／８」のとき、ステップＳ４１３において、指向情報「ｔｏ（ｘ，ｙ）＝４」を取得する。「９π／８≦θ＜１１π／８」のとき、ステップＳ４１４において、指向情報「ｔｏ（ｘ，ｙ）＝１」を取得する。「１１π／８≦θ＜１３π／８」のとき、ステップＳ４１５において、指向情報「ｔｏ（ｘ，ｙ）＝２」を取得する。「１３π／８≦θ＜１５π／８」のとき、ステップＳ４１６において、指向情報「ｔｏ（ｘ，ｙ）＝３」を取得する。取得された指向情報は、コンピュータの記憶装置に記憶される。
【００５９】
図７のステップＳ４１７〜Ｓ４２０は、図１のステップＳ１０５の構成要素の１つである被指向情報取得ステップに対応するものである。すなわち、図７のステップＳ４１７〜Ｓ４２０において、コンピュータにより、「色傾向ベクトルが対象ピクセルを指向するような位置」に存在する当該色傾向ベクトルの方向の基準となる隣接ピクセルが、どれであるかを示す被指向情報を取得する。
【００６０】
カラー画像の２次元平面上の座標（ｘ＋１，ｙ＋１）に位置する対象ピクセルの指向情報が「ｔｏ（ｘ，ｙ）＝ｎ」であるとき、この指向情報が示す「ｎ」番の位置にある隣接ピクセルは、当該対象ピクセルを始点とする色傾向ベクトルから「指向されている」ということになる。このことは言い換えると、当該ｎ番目の隣接ピクセルを図１２で定義した位置関係で言えば「５」番の位置にあるとみなしたとき、「１０−ｎ」の位置にあるピクセル（ここでは対象ピクセル）から指向されているということを意味する。ここで、「色傾向ベクトルが対象ピクセルを指向するような位置」に存在する当該色傾向ベクトルの方向の基準となる隣接ピクセルを示す被指向情報を、「ｆｒｏｍ（ｘ，ｙ）」で表す。
【００６１】
一例を挙げると、色傾向ベクトルの指向する方向がθ＝３π／４であるとき、表２よりｎ＝７となる。このとき、カラー画像の２次元平面上の座標（ｘ＋１，ｙ＋１）の位置にある対象ピクセルについて、この対象ピクセルを始点とする色傾向ベクトルは、７番目の位置（すなわち座標（ｘ，ｙ＋２）の位置）にある隣接ピクセルを指向し、７番目の位置（すなわち座標（ｘ，ｙ＋２）の位置）にある隣接ピクセルは、当該隣接ピクセルを図１２で定義した位置関係で言えば５番の位置にあるとみなしたとき、色傾向ベクトルによって、３番の位置にあるピクセル（ここでは対象ピクセル）から指向されている、ということになる。コンピュータは、このような「指向する」に係る情報を「指向情報ｔｏ（ｘ，ｙ）」として取得し、「指向される」に係る情報を「被指向情報ｆｒｏｍ（ｘ，ｙ）」として取得し、これらをコンピュータ内の記憶装置に記憶する。
【００６２】
取得された被指向情報は、コンピュータの記憶装置に記憶される。図１４は、被指向情報の保持方法を説明する模式図である。上述のように、各対象ピクセルは、当該ピクセル自身を始点とした色傾向ベクトルが指向する隣接ピクセルがどれであるかを示す指向情報と、「色傾向ベクトルが対象ピクセルを指向するような位置」に存在する当該色傾向ベクトルの方向の基準となる隣接ピクセルが、どれであるかを示す被指向情報と、を有する。対象ピクセルが有する指向情報が示す「色傾向ベクトルが指向する隣接ピクセル」は、１〜９番の位置の隣接ピクセルのうちいずれか１つである。したがって、指向情報については、上述のように、色傾向ベクトルが指向する方向に位置する隣接ピクセルの番号ｎを用いて単純に「ｔｏ（ｘ，ｙ）＝ｎ」で表すことができる。
【００６３】
一方、対象ピクセルが有する被指向情報が示す「色傾向ベクトルによって隣接ピクセルから指向されるときの当該隣接ピクセル」は、１〜９番の位置の隣接ピクセルのうちの複数であり得る。そこで、本発明の第１の実施例では、被指向情報ｆｒｏｍ（ｘ，ｙ）を図１４に示すように２進数で表記する。すなわち、ｋ番目の隣接ピクセルに係る色傾向ベクトルによって指向されている場合、「２k」の位にフラグ「１」を立てる。図１４に示す例では、対象ピクセルが、１、４および６番目の各隣接ピクセルに係る合計３個の色傾向ベクトルによって指向されていることを示す。このような指向情報「ｔｏ（ｘ，ｙ）＝ｎ」および被指向情報「ｆｒｏｍ（ｘ，ｙ）」は、コンピュータ内の記憶装置に記憶される。
【００６４】
図７のステップＳ４１７において、コンピュータは、対象ピクセルが有する指向情報が指す隣接ピクセルの指向情報が「ｔｏ（ｘ，ｙ）＝１０−ｎ」を示しているか否かを判定する。この判定処理は、その隣接ピクセルの指向情報が、対象ピクセルを指しているか否かを判定するものである。その隣接ピクセルの指向情報が「ｔｏ（ｘ，ｙ）＝１０−ｎ」である場合は、対象ピクセル（ここでは便宜上、「第１の対象ピクセル」と称する。）を始点とした色傾向ベクトルが指向する位置にある隣接ピクセルについての、当該隣接ピクセルが対象ピクセル（ここでは便宜上、「第２の対象ピクセル」と称する。）であったときにおける色傾向ベクトルが、上記第１の対象ピクセルを指向する、ということを意味する。すなわち、これは、第１の対象ピクセルに係る色傾向ベクトルが第２の対象ピクセルを指向し、第２の対象ピクセルに係る色傾向ベクトルが第１の対象ピクセルを指向するという、言わば２つのピクセル間でお互いの色傾向ベクトルが指向し合っている状態である。このような場合は、ステップＳ４２０において、コンピュータは、指向情報として「ｔｏ（ｘ，ｙ）＝５」、被指向情報として「ｆｒｏｍ（ｘ，ｙ）＋＝２5」を取得し、コンピュータ内の記憶装置に記憶する。
【００６５】
図７のステップＳ４１７において対象ピクセルが有する指向情報が「ｔｏ（ｘ，ｙ）＝１０−ｎ」を示していないと判定された場合は、ステップＳ４１８へ進む。ステップＳ４１８では、コンピュータは、指向情報「ｔｏ（ｘ，ｙ）＝ｎ」によって示されるｎ番目の隣接ピクセルと対象ピクセルとのＲＧＢの要素ごとの明度の相対量ｒ’、ｇ’およびｂ’の総和が所定のしきい値Ｃよりも大きいか否かを判定する。相対量ｒ’、ｇ’およびｂ’の総和が所定のしきい値Ｃよりも大きい場合は、対象ピクセルの色と、当該対象ピクセルに隣接する８個の隣接ピクセルの色とは、ほとんど似ていないということを意味する。この場合、ステップＳ４２０において、コンピュータは、指向情報として「ｔｏ（ｘ，ｙ）＝５」、被指向情報として「ｆｒｏｍ（ｘ，ｙ）＋＝２5」を取得し、コンピュータ内の記憶装置に記憶する。
【００６６】
ステップＳ４１８において指向情報「ｔｏ（ｘ，ｙ）＝ｎ」によって示されるｎ番目の隣接ピクセルと対象ピクセルとのＲＧＢの要素ごとの明度の相対量ｒ’、ｇ’およびｂ’の総和が、所定のしきい値Ｃよりも大きくはない（すなわち小さい）と判定された場合は、ステップＳ４１９へ進む。
【００６７】
ステップＳ４１９において、コンピュータは、被指向情報として「ｆｒｏｍ（ｘ，ｙ）＋＝２10-n」を取得し、コンピュータ内の記憶装置に記憶する。
【００６８】
以上説明した被指向情報の取得処理までが完了すると、図４のステップＳ３０４へ進む。コンピュータは、ステップＳ３０４においてｉを１つインクリメントし、ステップＳ３０５においてｊを１つインクリメントする。
【００６９】
このような処理を繰り返すことによって、入力されたカラー画面上における「取りこぼしのピクセル」全てについて、上述の定義済処理ｇｒａｄ（ｘ，ｙ）がコンピュータにより実行され、指向情報および被指向情報が取得される。
【００７０】
上述のように取得された指向情報および被指向情報を用いて、「取りこぼしのピクセル」について、既にグループ分けされたいずれかの領域に属するよう振り分けられる。ここで振り分け処理の詳細について図１５〜１７を参照して説明する。
【００７１】
図１５のステップＳ５０１において、コンピュータは、入力されたカラー画像のＹ軸方向（縦方向）のピクセルの座標を示す変数「ｊ」を０（ゼロ）に初期設定する。次いで、ステップＳ５０２において、コンピュータは、入力されたカラー画像のＸ軸方向（横方向）のピクセルの座標を示す変数「ｉ」を０（ゼロ）に初期設定する。
【００７２】
図１５のステップＳ５０３において、コンピュータは、「ｐ（ｉ，ｊ）＝０」であるか否かを判定する。すなわち、カラー画像上における２次元平面の座標（ｉ，ｊ）に位置するピクセルが、１番目〜ｎ番目の色の領域のいずれの領域にも含まれないか否かについて判定する。
【００７３】
ステップＳ５０３においてコンピュータが「ｐ（ｉ，ｊ）＝０」であると判定した場合は、座標（ｉ，ｊ）に位置するピクセルが、分離抽出のためのどのような画像処理方法を用いても代表色のどの領域にも分類されない、本発明による画像処理の処理対象となる対象ピクセルであることを意味するので、次のステップＳ６００において、コンピュータは、座標（ｉ，ｊ）に位置するピクセルについて、定義済処理である「ＳｅａｒｃｈＣｏｌｏｒＤｏｍａｉｎ（ｉ，ｊ，ｍ）」のコンピュータプログラムを呼び出して実行する。定義済処理ＳｅａｒｃｈＣｏｌｏｒＤｏｍａｉｎ（ｉ，ｊ，ｍ）の詳細については、図１６および１７を参照して後述する。コンピュータによる定義済処理ＳｅａｒｃｈＣｏｌｏｒＤｏｍａｉｎ（ｉ，ｊ，ｍ）の実行後は、ステップＳ５０４へ進む。
【００７４】
一方、ステップＳ５０３においてコンピュータが「ｐ（ｉ，ｊ）＝０」ではないと判定した場合は、座標（ｉ，ｊ）に位置するピクセルが、分離抽出のための画像処理により、いずれかの代表色の領域に属するものと既に決定されていたグループ分け済ピクセルであることを意味するので、定義済処理ＳｅａｒｃｈＣｏｌｏｒＤｏｍａｉｎ（ｉ，ｊ，ｍ）は実行せず、ステップＳ５０４へ進む。
【００７５】
コンピュータは、ステップＳ５０４においてｉを１つインクリメントし、ステップＳ５０５においてｊを１つインクリメントする。
【００７６】
入力されたカラー画面上における「取りこぼしのピクセル」全てについて、以下に説明する定義済処理ＳｅａｒｃｈＣｏｌｏｒＤｏｍａｉｎ（ｉ，ｊ，ｍ）がコンピュータにより実行されることにより、既にグループ分けされたいずれかの領域に属するよう振り分けられる。
【００７７】
続いて、ステップＳ６００における定義済処理ＳｅａｒｃｈＣｏｌｏｒＤｏｍａｉｎ（ｘ，ｙ，ｍ）について、図１６を参照して説明する。図１６に示す各ステップの処理は、図１のステップＳ１０５に対応するものである。
【００７８】
図１６のステップＳ６０１において、コンピュータは、指向情報が「ｔｏ（ｘ，ｙ）＝５」であり、なおかつ、被指向情報ｆｒｏｍ（ｘ，ｙ）に２5の位のフラグが立っているか否かを判定する。ステップＳ６０１において「ｔｏ（ｘ，ｙ）＝５」であり、なおかつ、被指向情報ｆｒｏｍ（ｘ，ｙ）に２5の位のフラグが立っていると判定された場合は、定義済処理ＳｅａｒｃｈＣｏｌｏｒＤｏｍａｉｎ（ｘ，ｙ，ｍ）の一連の処理を抜け、図１５のステップＳ５０４へ進む。
【００７９】
図１６のステップＳ６０２において、コンピュータは、対象ピクセルが有する指向情報ｔｏ（ｘ，ｙ）が示す隣接ピクセル（座標を（ｘ’，ｙ’）とする）のｐ（ｘ’，ｙ’＝０であるか否かを判定する。すなわち、コンピュータは、指向情報で示される座標（ｘ’，ｙ’）に位置する隣接ピクセルが、特定の色（代表色）の領域に属するものとは未だ決定されていないか否かを判定する。
【００８０】
ステップＳ６０２において座標（ｘ’，ｙ’）に位置する隣接ピクセルが、特定の色（代表色）の領域に属するものと既に決定されてあるグループ分け済みピクセルでないと判定された場合は、ステップＳ６０３へ進む。ステップＳ６０３では、コンピュータは、指向情報で示される座標（ｘ’，ｙ’）に位置する隣接ピクセルを、新たなる対象ピクセルとして再設定する。すなわち、「ｘ’」を「ｘ」に、「ｙ’」を「ｙ」に設定し直し、ステップＳ６０４へ進む。ステップＳ６０４では、コンピュータは、パラメータｍを１デクリメントする。この一連の処理は、指向情報で示される隣接ピクセルが、特定の色（代表色）の領域に属するものとは未だ決定されていないピクセルである限り、繰り返し実行されることになる。しかしながら、この繰り返し処理は、色傾向ベクトルの指向する方向が、当該隣接ピクセルが指向するピクセルの間で循環するような方向になると永久に繰り返されてしまう可能性があるので、当該繰り返し回数に上限を設けるためのパラメータｍを設定する。パラメータｍは任意に設定可能である。
【００８１】
ステップＳ６０２において座標（ｘ’，ｙ’）に位置する隣接ピクセルが、特定の色（代表色）の領域に属するものと既に決定されてあるグループ分け済みピクセルであると判定された場合は、ステップＳ７００へ進む。ステップＳ７００では、コンピュータは、定義済処理である「ＳｅｔＣｏｌｏｒＤｏｍａｉｎ（ｘ’，ｙ’）」のコンピュータプログラムを呼び出して実行する。定義済処理ＳｅｔＣｏｌｏｒＤｏｍａｉｎ（ｘ’，ｙ’）の詳細については、図１７を参照して後述する。コンピュータによる定義済処理ＳｅｔＣｏｌｏｒＤｏｍａｉｎ（ｘ’，ｙ’）の実行後は、ステップＳ６０５へ進む。ステップＳ６０５では、コンピュータは、パラメータｍをゼロ（０）にリセットする。
【００８２】
パラメータｍがゼロ（０）になったとき、定義済処理ＳｅａｒｃｈＣｏｌｏｒＤｏｍａｉｎ（ｘ，ｙ，ｍ）の一連の処理を抜け、図１５のステップＳ５０４へ進む。
【００８３】
続いて、ステップＳ７００における定義済処理ＳｅｔＣｏｌｏｒＤｏｍａｉｎ（ｘ，ｙ）について、図１７を参照して説明する。図１７に示す各ステップの処理は、図１のステップＳ１０５に対応するものである。
【００８４】
図１７のステップＳ７０１では、コンピュータは、被指向情報ｆｒｏｍ（ｘ，ｙ）に２1の位のフラグが立っており、なおかつ、「ｐ（ｘ’，ｙ’）＝０」であるか否かが判定される。ステップＳ７０１において被指向情報ｆｒｏｍ（ｘ，ｙ）に２1の位のフラグが立っており、なおかつ、「ｐ（ｘ’，ｙ’）＝０」であると判定された場合は、「図１２で定義した位置関係で言えば１番の位置にある隣接ピクセル（座標（ｘ’，ｙ’）とする）から対象ピクセル（座標（ｘ，ｙ）とする）が色傾向ベクトルによって指向されており、なおかつ、１番の位置にある隣接ピクセルは特定の色（代表色）の領域に属するものとは未だ決定されていないピクセルである」ことを意味する。この場合は、コンピュータは、ステップＳ７０２において、「ｐ（ｘ’，ｙ’）＝ｐ（ｘ，ｙ）」に設定する。すなわち、コンピュータは、ステップＳ７０２において、座標（ｘ，ｙ）の位置にある対象ピクセルを、座標（ｘ’，ｙ’）の位置にあるものと置き換えて、ステップＳ７０３において、再度、定義済処理ＳｅｔＣｏｌｏｒＤｏｍａｉｎ（ｘ’，ｙ’）を呼び出して実行する。
【００８５】
図１７のステップＳ７０４では、コンピュータは、被指向情報が「ｆｒｏｍ（ｘ，ｙ）＝２2」であり、なおかつ、「ｐ（ｘ’，ｙ’）＝０」であるか否かが判定される。ステップＳ７０４において被指向情報ｆｒｏｍ（ｘ，ｙ）に２2の位のフラグが立っており、なおかつ、「ｐ（ｘ’，ｙ’）＝０」であると判定された場合は、「図１２で定義した位置関係で言えば２番の位置にある隣接ピクセル（座標（ｘ’，ｙ’）とする）から対象ピクセル（座標（ｘ，ｙ）とする）が色傾向ベクトルによって指向されており、なおかつ、２番の位置にある隣接ピクセルは特定の色（代表色）の領域に属するものとは未だ決定されていないピクセルである」ことを意味する。この場合は、コンピュータは、ステップＳ７０４において、「ｐ（ｘ’，ｙ’）＝ｐ（ｘ，ｙ）」に設定する。すなわち、コンピュータは、ステップＳ７０５において、座標（ｘ，ｙ）の位置にある対象ピクセルを、座標（ｘ’，ｙ’）の位置にあるものと置き換えて、ステップＳ７０６において、再度、定義済処理ＳｅｔＣｏｌｏｒＤｏｍａｉｎ（ｘ’，ｙ’）を呼び出して実行する。
【００８６】
以降、被指向情報について、ｆｒｏｍ（ｘ，ｙ）に２3のフラグ、ｆｒｏｍ（ｘ，ｙ）に２4のフラグ、ｆｒｏｍ（ｘ，ｙ）に２5のフラグ、ｆｒｏｍ（ｘ，ｙ）に２6のフラグ、ｆｒｏｍ（ｘ，ｙ）に２7のフラグおよびｆｒｏｍ（ｘ，ｙ）に２8のフラグ、についても同様の処理を繰り返すが、ここでは説明を省略する。被指向情報ｆｒｏｍ（ｘ，ｙ）の２9のフラグについて説明すると次の通りである。図１７のステップＳ７０７では、コンピュータは、被指向情報ｆｒｏｍ（ｘ，ｙ）に２9の位のフラグが立っており、なおかつ、「ｐ（ｘ’，ｙ’）＝０」であるか否かが判定される。ステップＳ７０７において被指向情報ｆｒｏｍ（ｘ，ｙ）に２9の位のフラグが立っており、なおかつ、「ｐ（ｘ’，ｙ’）＝０」であると判定された場合は、「図１２で定義した位置関係で言えば９番の位置にある隣接ピクセル（座標（ｘ’，ｙ’）とする）から対象ピクセル（座標（ｘ，ｙ）とする）が色傾向ベクトルによって指向されており、なおかつ、９番の位置にある隣接ピクセルは特定の色（代表色）の領域に属するものとは未だ決定されていないピクセルである」ことを意味する。この場合は、コンピュータは、ステップＳ７０７において、「ｐ（ｘ’，ｙ’）＝ｐ（ｘ，ｙ）」に設定する。すなわち、コンピュータは、ステップＳ７０８において、座標（ｘ，ｙ）の位置にある対象ピクセルを、座標（ｘ’，ｙ’）の位置にあるものと置き換えて、ステップＳ７０９において、再度、定義済処理ＳｅｔＣｏｌｏｒＤｏｍａｉｎ（ｘ’，ｙ’）を呼び出して実行する。
【００８７】
以上の処理が完了すると、座標を置き換える前の座標（ｘ，ｙ）に戻して、定義済処理ＳｅｔＣｏｌｏｒＤｏｍａｉｎが呼び出された箇所の次のステップへ進む。
【００８８】
本発明の第１の実施例による画像処理方法での上記一連の処理を経ることにより、コンピュータに入力されたカラー画面上における全てのピクセルについて、分離抽出のための画像処理を実行しても代表色のいずれの領域にも属さなかった「取りこぼしのピクセル」であるか否かが調べ上げられ、「取りこぼしのピクセル」については、既にグループ分けされたいずれかの領域に属するよう振り分けられる。
【００８９】
図１８および１９は、本発明の第１の実施例による画像処理方法の適用結果を例示する図である。図１８（ａ）および１９（ａ）に例示したプリント基板のカラー画像について、本発明の第１の実施例による画像処理方法を適用すると、それぞれ図１８（ｂ）および１９（ｂ）に示すように、「取りこぼしのピクセル」は特定の色の領域のいずれかに属するよう振り分けられ、消滅する。
【００９０】
図２０は、本発明の第２の実施例による画像処理方法の動作フローを示すフローチャートである。本発明の第２の実施例による画像処理方法は、上述した第１の実施例とは、色傾向ベクトルの作成方法の点で異なるものである。本発明の第２の実施例による画像処理方法におけるステップＳ１０１およびＳ１０５は、図１を参照して説明した本発明の第１の実施例による画像処理方法におけるステップＳ１０１およびＳ１０５の処理内容と同じである。したがって、ここでは、特に色傾向ベクトルの作成処理に係るステップＳ２０１〜Ｓ２０４について詳細に説明する。
【００９１】
まず、図２０のステップＳ１０１において、コンピュータは、入力されたカラー画像上において各グループ分け済み領域間に位置しこれらグループ分け済み領域のいずれにもグループ分けされていない対象ピクセルおよびこの対象ピクセルの隣接ピクセルそれぞれについて、ＲＧＢの各要素の明度を取得する。取得されたデータは、コンピュータのハードディスク等の記憶装置に記憶され、演算処理時にはコンピュータの作業メモリに適宜ロードされる。
【００９２】
次いで、ステップＳ２０１において、コンピュータは、対象ピクセルに対する各隣接ピクセルの明度の各相対量を、ＲＧＢの各要素の明度ごとに算出する。上述の本発明の第１の実施例では、図１のステップＳ１０２において対象ピクセルと当該対象ピクセルに対してＸ方向に隣接する各隣接ピクセルとの間の明度の相対量である「ｘ方向相対量」およびＹ方向に隣接する各隣接ピクセルとの間の明度の相対量である「ｙ方向相対量」のみを算出していたが、本発明の第２の実施例では、対象ピクセルに隣接する８個の隣接ピクセルの全てについて、対象ピクセルに対する明度の各相対量を算出する。
【００９３】
次いで、ステップＳ２０２において、コンピュータは、ステップＳ２０１において算出された各相対量を、カラー画像上のＸＹ平面上に位置する対象ピクセルを中心とした円上におけるＸＹ平面に対して垂直方向のＺ方向に架かる錘とみなして、対象ピクセルの周りのモーメントを、ＲＧＢの各要素の明度ごとに算出する。図２１〜２４は、本発明の第２の実施例におけるモーメントの算出を説明する模式図である。なお、図２１においては、紙面を上から下に貫くようにＺ軸の正方向が定義される。モーメントの算出に当たっては、図３で定義したような対象ピクセルおよび隣接ピクセルのカラー画像上における２次元座標を用いる。すなわち、対象ピクセルの座標は（ｘ＋１，ｙ＋１）、各隣接ピクセルの座標は、時計回りに、（ｘ，ｙ）、（ｘ＋１，ｙ）、（ｘ＋２，ｙ）、（ｘ＋２，ｙ＋１）、（ｘ＋２，ｙ＋２）、（ｘ＋１，ｙ＋２）、（ｘ，ｙ＋２）および（ｘ，ｙ＋１）、のようにそれぞれ定義される。
【００９４】
このとき、各隣接ピクセルに係る明度の相対量は、例えば明度の要素Ｒを例にとると、時計回りに、ｒ’（ｘ，ｙ）、ｒ’（ｘ＋１，ｙ）、ｒ’（ｘ＋２，ｙ）、ｒ’（ｘ＋２，ｙ＋１）、ｒ’（ｘ＋２，ｙ＋２）、ｒ’（ｘ＋１，ｙ＋２）、ｒ’（ｘ，ｙ＋２）およびｒ’（ｘ，ｙ＋１）となる。
【００９５】
ステップＳ２０２におけるモーメントの算出にあたっては、対象ピクセルの中心点から１ピクセル分だけ離れた位置における相対量を用いる。例えば、図２２に示すように、座標（ｘ＋２，ｙ）に位置する隣接ピクセルは、座標（ｘ＋１，ｙ＋１）に位置する対象ピクセル（図中、白丸で示す）から√２ピクセル分だけ離れているので、対象ピクセルの中心点から１ピクセル分だけ離れた位置における相対量は、ｒ’（ｘ＋２，ｙ）／√２となる。一方、座標（ｘ＋２，ｙ＋１）に位置する隣接ピクセルは、対象ピクセルから１ピクセル分だけ離れているので、対象ピクセルの中心点から１ピクセル分だけ離れた位置における相対量は、そのままｒ’（ｘ＋２，ｙ＋１）となる。
【００９６】
したがって、各隣接ピクセルについて、対象ピクセルの中心点から１ピクセル分だけ離れた位置における相対量は、例えば明度の要素Ｒを例にとると、半径が１ピクセルである円上において、時計回りに、ｒ’（ｘ，ｙ）／√２、ｒ’（ｘ＋１，ｙ）、ｒ’（ｘ＋２，ｙ）／√２、ｒ’（ｘ＋２，ｙ＋１）、ｒ’（ｘ＋２，ｙ＋２）／√２、ｒ’（ｘ＋１，ｙ＋２）、ｒ’（ｘ，ｙ＋２）／√２、ｒ’（ｘ，ｙ＋１）となる。このような相対量を、図２３に示すように、半径が１ピクセルである円上においてＺ軸の正方向に架かる錘の重みとみなし、対象ピクセルの周りのモーメントを、ＲＧＢの各要素の明度ごとに算出する。Ｆiをｉ番目の位置にある隣接ピクセルに架かる錘の重み、Ｉiをｉ番目の位置にある隣接ピクセルの方向ベクトルとすると、モーメントは、式（７）で表される。
【００９７】
【数７】
2010117993.tif 000011
【００９８】
式（７）で表されるモーメントは、コンピュータにより、ＲＧＢの各要素の明度ごとに算出される。例えば明度の要素Ｒについて算出されたモーメントの向きは、図２４に示すように、太線の矢印の向きとなる。図２１および２３に示す半径が１ピクセルである円は、図２４において実線の矢印で示すような、モーメントの向きを進行方向とする右ねじの回転方向に回転するようになる。
【００９９】
図２０のステップＳ２０３では、コンピュータは、ステップＳ２０２で算出されたモーメントの向きをカラー画像上のＸＹ平面上でマイナス９０度方向回転させることにより得られるＲＧＢ要素別ベクトルを、ＲＧＢの各要素の明度ごとに算出する。図２５および２６は、本発明の第２の実施例におけるＲＧＢ要素別ベクトルの算出を説明する模式図である。ここで、例えば明度の要素Ｒについてのモーメントを式（８）のように表すものとする。
【０１００】
【数８】
2010117993.tif 000012
【０１０１】
明度の要素Ｒについてのモーメントは、カラー画像上のＸＹ平面上にあるので、Ｍz＝０である。したがって、明度の要素Ｒについてのモーメントの向きをカラー画像上のＸＹ平面上でマイナス９０度方向回転させた明度の要素Ｒについての要素別ベクトル（Ｌrx，Ｌry）は、式（９）で表される。これを図示すると図２５のようになる。コンピュータは、明度の要素ＧおよびＢについての要素別ベクトル（Ｌgx，Ｌgy）および（Ｌbx，Ｌby）も同様にして算出する。
【０１０２】
【数９】
2010117993.tif 000013
【０１０３】
ここで、ステップＳ２０３において、モーメントの向きをカラー画像上のＸＹ平面上でマイナス９０度方向回転させることによりＲＧＢ要素別ベクトルを算出する理由について説明する。隣接ピクセルのＲＧＢの要素ごとの明度の相対量ｒ’、ｇ’およびｂ’の値が小さいほど、当該隣接ピクセルは対象ピクセルと色が似ていることになる。本発明の第２の実施例では、上述のように相対量を錘の重さとみなしているので、図２６に示す円のうち錘が「浮いている」半円側にある隣接ピクセルの方が、錘が「沈んでいる」半円側にある隣接ピクセルのよりも、対象ピクセルの色に似ている、ということを意味する。ここで、錘を「浮かせるような方向」は、右ねじの進行方向（図２６では紙面を上から下へ貫く方向）をモーメントの向きとしたときの、当該右ねじの回転方向である。上記「錘が浮いている半円側」は、モーメントの向きをカラー画像上のＸＹ平面上でマイナス９０度方向回転させた方向にあり、したがって、本発明の第２の実施例では、当該方向を、ＲＧＢ要素別ベクトルの向く方向（図２６において太線の矢印で示される方向）とするのである。
【０１０４】
図２０のステップＳ２０４では、コンピュータは、ステップＳ２０３において算出されたＲＧＢの各要素の明度ごとのＲＧＢ要素別ベクトルを加算し、色傾向ベクトルを算出する。具体的には、コンピュータは、式（１０）および式（１１）に従い、ＲＧＢ要素別ベクトルを使って色傾向ベクトル（Ｌx’，Ｌy’）を算出する。
【０１０５】
【数１０】
2010117993.tif 000014
【０１０６】
【数１１】
2010117993.tif 000015
【０１０７】
このように、本発明の第２の実施例は、上述した第１の実施例とは色傾向ベクトル（Ｌx’，Ｌy’）の作成方法の点で異なるものであり、色傾向ベクトル（Ｌx’，Ｌy’）はモーメントの概念を用いて作成されるものである。
【０１０８】
図２０のステップＳ１０５において、コンピュータは、算出された色傾向ベクトルの指向する方向に位置する隣接ピクセルのうち特定の色の領域に属するものと既に決定されてあるグループ分け済みピクセルが含まれる領域に、対象ピクセルは属するものであると決定する。このステップＳ１０５の具体的処理は、上述の本発明の第１の実施例において説明した通りであるので、ここでは詳細な説明は省略する。
【０１０９】
上述した本発明の第１の実施例および第２の実施例による画像処理装置は、コンピュータを用いて実現される。図２７は、記録媒体に格納されたプログラムにより動作する本発明の第１の実施例および第２の実施例による画像処理装置の構成を示すブロック図である。
【０１１０】
本発明による画像処理をコンピュータに実行させるコンピュータプログラムは、図２７に示すように、記憶媒体（フレキシブルディスク、ＣＤ−ＲＯＭ等の外部記憶媒体）１１０に格納されており、例えば、次に説明するような構成によるコンピュータにインストールされて画像処理装置として動作する。
【０１１１】
ＣＰＵ１１１は、画像処理装置全体を制御する。このＣＰＵ１１１に、バス１１２を介してＲＯＭ１１３、ＲＡＭ１１４、ＨＤ（ハードディスク装置）１１５、マウスやキーボード等の入力装置１１６、外部記憶媒体ドライブ装置１１７およびＬＣＤ、ＣＲＴ、プラズマディスプレイ、有機ＥＬ等の表示装置１１８が接続されている。ＣＰＵ１１１の制御プログラムはＲＯＭ１１３に格納されている。
【０１１２】
本発明による画像処理を実行するコンピュータプログラム（画像処理プログラム）は、記憶媒体１１０からＨＤ１１５にインストール（記憶）される。また、ＲＡＭ１１４には、画像処理をＣＰＵ１１１が実行する際の作業領域や、画像処理を実行するコンピュータプログラムの一部が記憶される領域が確保されている。また、ＨＤ１１５には、入力データ、最終データ、さらにＯＳ（オペレーティングシステム）等が予め記憶される。
【０１１３】
まず、コンピュータの電源を投入すると、ＣＰＵ１１１がＲＯＭ１１０から制御プログラムを読み出し、さらにＨＤ１１５からＯＳを読み込み、ＯＳを起動させる。これによりコンピュータは画像処理プログラムを記憶媒体１１０からインストール可能な状態となる。
【０１１４】
次に、記憶媒体１１０を外部記憶媒体ドライブ装置１１７に装着し、入力装置１１６から制御コマンドをＣＰＵ１１１に入力し、記憶媒体１１０に格納された画像処理プログラムを読み取ってＨＤ１１５等に記憶する。つまり画像処理プログラムがコンピュータにインストールされる。
【０１１５】
その後は、画像処理プログラムを起動させると、コンピュータは画像処理装置として動作する。オペレータは、表示装置１１８に表示される対話形式による作業内容と手順に従って、入力装置１１６を操作することで、上述した画像処理を実行することができる。処理の結果得られた「分離抽出された色の領域に関するデータ」は、例えば、ＨＤ１１５に記憶しておいて後日利用できるようにしたり、あるいは、処理結果を表示装置１１８に視覚的に表示するのに用いてもよい。
【０１１６】
なお、図２７のコンピュータでは、記憶媒体１１０に記憶されたコンピュータプログラムをＨＤ１１５にインストールするようにしたが、これに限らず、ＬＡＮ等の情報伝送媒体を介して、コンピュータにインストールされてもよいし、コンピュータに内蔵のＨＤ１１５に予めインストールされておいてもよい。
【産業上の利用可能性】
【０１１７】
本発明は、カラー画像から特定の色を分離抽出する画像処理方法として利用することができる。例えば、プリント基板をディジタルカメラで撮像して得られたカラー画像のデータを用いて、プリント基板の欠陥の有無を検査する検査装置に適用することができる。
【０１１８】
また、本発明は、プリント基板を撮影したカラー画像以外のカラー画像に対しても適用することができる。例えば、スチルカメラ、ビデオカメラ、スキャナ、ＴＶ電話、プリンタなど、カラー画像から特定の色を呈する画像を分離抽出するような技術に対しても適用することができる。
【０１１９】
本発明によれば、入力されたカラー画像から特定の色を有する領域をコンピュータによる演算処理により的確に分離抽出することができる。すなわち本発明によれば、特定の色ごとの領域にグループ分けされたカラー画像において、未だいずれにもグループ分けされていないピクセルを既にグループ分けされたいずれかの領域に属するよう振り分ける処理を、コンピュータによる自動演算処理で実現することができる。したがって、本発明によれば、カラー画像に色のグラデーション変化が存在したり、色と色の境界部分に滲みがあった場合であっても、コンピュータによる演算処理により、特定の色の領域を的確に分離抽出することができる。特に本発明によれば、ピクセルの位置情報も考慮するため、被写体の撮影時における光源の位置、レンズやカメラの特性、被写体の状態などにより、入力されたカラー画像に色の滲みやぼけが発生しても、領域分割を的確に行うことができる。例えば、被写体がプリント基板である場合における１本の配線についても、従来のように分断された領域として画像が分離抽出されることはない。
【図面の簡単な説明】
【０１２０】
【図１】本発明の第１の実施例による画像処理方法の動作フローを示すフローチャートである。
【図２】カラー画像からのＲＧＢの各要素の明度の取得について説明する図である。
【図３】対象ピクセルおよび隣接ピクセルのカラー画像上における２次元座標を定義する図である。
【図４】本発明の第１の実施例による画像処理方法の具体的処理を説明するフローチャート（その１）である。
【図５】本発明の第１の実施例による画像処理方法の具体的処理を説明するフローチャート（その２）である。
【図６】本発明の第１の実施例による画像処理方法の具体的処理を説明するフローチャート（その３）である。
【図７】本発明の第１の実施例による画像処理方法の具体的処理を説明するフローチャート（その４）である。
【図８】明度の要素Ｒについてのｘ方向相対量およびｙ方向相対量を説明する図である。
【図９】明度の要素Ｒについてのｘ方向明度勾配を説明する図である。
【図１０】明度の要素Ｒについての色の傾向を説明する図である。
【図１１】色傾向ベクトルの方向について説明する図（その１）である。
【図１２】色傾向ベクトルの方向について説明する図（その２）である。
【図１３】色傾向ベクトルの方向について説明する図（その３）である。
【図１４】被指向情報の保持方法を説明する模式図である。
【図１５】本発明の第１の実施例による画像処理方法の具体的処理を説明するフローチャート（その５）である。
【図１６】本発明の第１の実施例による画像処理方法の具体的処理を説明するフローチャート（その６）である。
【図１７】本発明の第１の実施例による画像処理方法の具体的処理を説明するフローチャート（その７）である。
【図１８】本発明の第１の実施例による画像処理方法の適用結果を例示する図（その１）である。
【図１９】本発明の第１の実施例による画像処理方法の適用結果を例示する図（その２）である。
【図２０】本発明の第２の実施例による画像処理方法の動作フローを示すフローチャートである。
【図２１】本発明の第２の実施例におけるモーメントの算出を説明する模式図（その１）である。
【図２２】本発明の第２の実施例におけるモーメントの算出を説明する模式図（その２）である。
【図２３】本発明の第２の実施例におけるモーメントの算出を説明する模式図（その３）である。
【図２４】本発明の第２の実施例におけるモーメントの算出を説明する模式図（その４）である。
【図２５】本発明の第２の実施例におけるＲＧＢ要素別ベクトルの算出を説明する模式図（その１）である。
【図２６】本発明の第２の実施例におけるＲＧＢ要素別ベクトルの算出を説明する模式図（その１）である。
【図２７】記録媒体に格納されたプログラムにより動作する本発明の第１の実施例および第２の実施例による画像処理装置の構成を示すブロック図である。
【符号の説明】
【０１２１】
１１０    記録媒体
１１１    ＣＰＵ
１１２    バス
１１３    ＲＯＭ
１１４    ＲＡＭ
１１５    ハードディスク装置
１１６    入力装置
１１７    外部記憶媒体ドライブ装置
１１８    表示装置
【図１】
2010117993.tif 000016
【図２】
2010117993.tif 000017
【図３】
2010117993.tif 000018
【図４】
2010117993.tif 000019
【図５】
2010117993.tif 000020
【図６】
2010117993.tif 000021
【図７】
2010117993.tif 000022
【図８】
2010117993.tif 000023
【図９】
2010117993.tif 000024
【図１０】
2010117993.tif 000025
【図１１】
2010117993.tif 000026
【図１２】
2010117993.tif 000027
【図１３】
2010117993.tif 000028
【図１４】
2010117993.tif 000029
【図１５】
2010117993.tif 000030
【図１６】
2010117993.tif 000031
【図１７】
2010117993.tif 000032
【図１８】
2010117993.tif 000033
【図１９】
2010117993.tif 000034
【図２０】
2010117993.tif 000035
【図２１】
2010117993.tif 000036
【図２２】
2010117993.tif 000037
【図２３】
2010117993.tif 000038
【図２４】
2010117993.tif 000039
【図２５】
2010117993.tif 000040
【図２６】
2010117993.tif 000041
【図２７】
2010117993.tif 000042