(57)【要約】【課題】  色かぶりなどを除去するにあたり、特定の有彩色や人間の記憶色などに適した画像処理方法を提供すること。【解決手段】    パソコン２は、複数の画素からなるカラー画像の画像データを読み込み、Ｌａｂ表色系に変換する。各画素のａ成分およびｂ成分が肌色の範囲内に含まれる否かを判定する。肌色の範囲内に含まれるとする画素のａ成分およびｂ成分と肌色の基準色とのずれ量を求める。肌色基準色は、ａｂ平面において一定の一次関数で表される。求めたａ成分およびｂ成分のずれ量の平均値を求め、これを補正値とする。この補正値を、カラー画像の全画素のａ成分およびｂ成分に加算をして、カラー画像の補正を行う。【選択図】        図２
2005176028.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素からなるカラー画像の画像処理方法であって、
各画素の示す色が所定の色の範囲に含まれる否かを判定し、
各画素の示す色が前記所定の色の範囲に含まれるとき、その画素の示す色と前記所定の色とのずれ量を求め、
前記求めたずれ量に基づき前記カラー画像の各画素の示す色を補正することを特徴とする画像処理方法。
【請求項２】
複数の画素からなるカラー画像の画像処理方法であって、
各画素は複数の異なる成分を有し、
各画素の成分値が所定の色を示す所定の範囲内に含まれる否かを判定し、
各画素の成分値が前記所定の色を示す所定の範囲内に含まれるとき、その画素の成分値と前記所定の色の代表成分値とのずれ量を求め、
前記求めたずれ量に基づき前記カラー画像の各画素の成分値を補正することを特徴とする画像処理方法。
【請求項３】
請求項１から２のいずれかに記載の画像処理方法において、
前記所定の色は、記憶色であることを特徴とする画像処理方法。
【請求項４】
請求項１から２のいずれかに記載の画像処理方法において、
前記所定の色は、少なくとも肌色、青色、緑色のいずれかであることを特徴とする画像処理方法。
【請求項５】
請求項１から４のいずれかに記載の画像処理方法において、
前記所定の色は、複数の色であり、
前記複数の色においてそれぞれずれ量を求めることを特徴とする画像処理方法。
【請求項６】
請求項１に記載の画像処理方法において、
前記カラー画像の所定範囲の平均色を求め、
前記所定の色におけるずれ量と前記平均色とに基づき、前記カラー画像の各画素の示す色を補正することを特徴とする画像処理方法。
【請求項７】
請求項２に記載の画像処理方法において、
前記カラー画像の所定範囲の前記成分の平均成分値を求め、
前記所定の色におけるずれ量と前記平均成分値とに基づき、前記カラー画像の各画素の成分値を補正することを特徴とする画像処理方法。
【請求項８】
請求項６から７のいずれかに記載の画像処理方法において、
前記カラー画像の所定範囲の平均色、あるいは、前記カラー画像の所定範囲の前記成分の平均成分値を求めるとき、前記所定の色の範囲に含まれる画素を除外して前記平均色あるいは前記平均成分値を求めることを特徴とする画像処理方法。
【請求項９】
請求項６から８のいずれかに記載の画像処理方法において、
前記カラー画像の所定範囲は、前記カラー画像全体であることを特徴とする画像処理方法。
【請求項１０】
請求項６から８のいずれかに記載の画像処理方法において、
前記カラー画像の所定範囲は、低彩度の画素を対象にした範囲であることを特徴とする画像処理方法。
【請求項１１】
請求項２に記載の画像処理方法において、
前記所定の色は、複数の色であり、
各画素の成分値が前記複数の色のいずれの色の範囲内に含まれる否かを判定し、
各画素の成分値が前記複数の色のいずれかの色の範囲内に含まれるとき、その色ごとにその画素の成分値とその色の代表成分値とのずれ量を求め、
前記複数の色ごとに求められたずれ量の平均値を求め、
前記複数の色ごとに求められたずれ量の平均値を使用して、補正値を求め、
前記求めた補正値に基づき前記カラー画像の各画素の成分値を補正することを特徴とする画像処理方法。
【請求項１２】
請求項２に記載の画像処理方法において、
前記カラー画像の所定範囲の前記成分の平均成分値を求め、
前記所定の色は、緑色、青色、および肌色であり、
前記緑色、青色、および、肌色ごとに求められたずれ量の平均値と前記平均成分値とを使用して、前記補正値を求め、
前記緑色と青色の第１のグループと、前記肌色と前記平均成分値の第２のグループに分け、
前記補正値を求めるとき、前記第１のグループと前記第２のグループとで重みづけを異ならせて計算をすることを特徴とする画像処理方法。
【請求項１３】
請求項１から２のいずれかに記載の画像処理方法において、
前記所定の色は、少なくとも青色および緑色のいずれかを含み、
前記カラー画像が、屋外および屋内のいずれで撮像された画像であるかを判定し、
屋外で撮像された画像であると判定されるとき、前記少なくとも青色および緑色のいずれかの色のずれ量に基づき前記補正をし、屋内で撮像された画像であると判定されるとき、前記青色および緑色のずれ量を使用しないで前記補正をすることを特徴とする画像処理方法。
【請求項１４】
請求項１〜１３のいずれかに記載の画像処理方法をコンピュータに実行させるための画像処理プログラム。
【請求項１５】
請求項１４に記載の画像処理プログラムを搭載した画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラー画像の画像処理方法に関する。
【背景技術】
【０００２】
デジタルカメラで撮像したカラー画像のホワイトバランスを調整する方法、すなわち色かぶりを補正する方法が各種提案されている（例えば、特許文献１や特許文献２）。
【０００３】
【特許文献１】特開２００１−１１２０１９号公報
【特許文献２】特開２０００−１４８９７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、必ずしも特定の有彩色や、人間の記憶色などに適した補正方法が提案されてこなかった。
【０００５】
本発明は、色かぶりなどを除去するにあたり、特定の有彩色や人間の記憶色などに適した画像処理方法を提供する。
【課題を解決するための手段】
【０００６】
請求項１の発明は、複数の画素からなるカラー画像の画像処理方法に適用され、各画素の示す色が所定の色の範囲に含まれる否かを判定し、各画素の示す色が所定の色の範囲に含まれるとき、その画素の示す色と所定の色とのずれ量を求め、求めたずれ量に基づきカラー画像の各画素の示す色を補正することを特徴とするものである。
請求項２の発明は、複数の画素からなるカラー画像の画像処理方法に適用され、各画素は複数の異なる成分を有し、各画素の成分値が所定の色を示す所定の範囲内に含まれる否かを判定し、各画素の成分値が所定の色を示す所定の範囲内に含まれるとき、その画素の成分値と所定の色の代表成分値とのずれ量を求め、求めたずれ量に基づきカラー画像の各画素の成分値を補正することを特徴とするものである。
請求項３の発明は、請求項１から２のいずれかに記載の画像処理方法において、所定の色は、記憶色であることを特徴とするものである。
請求項４の発明は、請求項１から２のいずれかに記載の画像処理方法において、所定の色は、少なくとも肌色、青色、緑色のいずれかであることを特徴とするものである。
請求項５の発明は、請求項１から４のいずれかに記載の画像処理方法において、所定の色は、複数の色であり、複数の色においてそれぞれずれ量を求めることを特徴とするものである。
請求項６の発明は、請求項１に記載の画像処理方法において、カラー画像の所定範囲の平均色を求め、所定の色におけるずれ量と平均色とに基づき、カラー画像の各画素の示す色を補正することを特徴とするものである。
請求項７の発明は、請求項２に記載の画像処理方法において、カラー画像の所定範囲の成分の平均成分値を求め、所定の色におけるずれ量と平均成分値とに基づき、カラー画像の各画素の成分値を補正することを特徴とするものである。
請求項８の発明は、請求項６から７のいずれかに記載の画像処理方法において、カラー画像の所定範囲の平均色、あるいは、カラー画像の所定範囲の成分の平均成分値を求めるとき、所定の色の範囲に含まれる画素を除外して平均色あるいは平均成分値を求めることを特徴とするものである。
請求項９の発明は、請求項６から８のいずれかに記載の画像処理方法において、カラー画像の所定範囲は、カラー画像全体であることを特徴とするものである。
請求項１０の発明は、請求項６から８のいずれかに記載の画像処理方法において、カラー画像の所定範囲は、低彩度の画素を対象にした範囲であることを特徴とするものである。
請求項１１の発明は、請求項２に記載の画像処理方法において、所定の色は、複数の色であり、各画素の成分値が複数の色のいずれの色の範囲内に含まれる否かを判定し、各画素の成分値が複数の色のいずれかの色の範囲内に含まれるとき、その色ごとにその画素の成分値とその色の代表成分値とのずれ量を求め、複数の色ごとに求められたずれ量の平均値を求め、複数の色ごとに求められたずれ量の平均値を使用して、補正値を求め、求めた補正値に基づきカラー画像の各画素の成分値を補正することを特徴とするものである。
請求項１２の発明は、請求項２に記載の画像処理方法において、カラー画像の所定範囲の成分の平均成分値を求め、所定の色は、緑色、青色、および肌色であり、緑色、青色、および、肌色ごとに求められたずれ量の平均値と平均成分値とを使用して、補正値を求め、緑色と青色の第１のグループと、肌色と平均成分値の第２のグループに分け、補正値を求めるとき、第１のグループと第２のグループとで重みづけを異ならせて計算をすることを特徴とするものである。
請求項１３の発明は、請求項１から２のいずれかに記載の画像処理方法において、所定の色は、少なくとも青色および緑色のいずれかを含み、カラー画像が、屋外および屋内のいずれで撮像された画像であるかを判定し、屋外で撮像された画像であると判定されるとき、少なくとも青色および緑色のいずれかの色のずれ量に基づき補正をし、屋内で撮像された画像であると判定されるとき、青色および緑色のずれ量を使用しないで補正をすることを特徴とするものである。
請求項１４の発明は、請求項１〜１３のいずれかに記載の画像処理方法をコンピュータに実行させるための画像処理プログラムであることを特徴とするものである。
請求項１５の発明は、請求項１４に記載の画像処理プログラムを搭載した画像処理装置であることを特徴とするものである。
【発明の効果】
【０００７】
本発明は、以上説明したように構成しているので、色かぶりなどを適切に除去することができる。このとき、特定の有彩色や人間の記憶色などに適した補正がなされるので、人間にとって違和感のない色に補正される。
【発明を実施するための最良の形態】
【０００８】
−第１の実施形態−
図１は、本実施の形態のデジタルカメラ１とパーソナルコンピュータ（以下、パソコンと言う）２を示す図である。本発明の画像処理方法を実施する画像処理プログラムは、パソコン２で実行される。デジタルカメラ１で撮像されたカラー画像の画像データは、通信インターフェースケーブル３、メモリーカード４などの媒体を通じてパソコン２へ提供される。
【０００９】
デジタルカメラ１は、制御装置１１、撮影光学系１２、撮像素子１３、通信インターフェース１４、メモリカードスロット１５、メモリ１６などを有する。制御装置１１は、マイクロプロセッサおよびその周辺回路回路から構成され、所定の制御プログラムを実行してデジタルカメラ１１全体の制御を行う。制御装置１１は、ＣＣＤなどの撮像素子１３で撮像したカラー画像を、所定の表色系の画像データに変換してメモリカード１５に格納する。
【００１０】
パソコン２は、市販されている一般的なパソコンであり、制御装置２１、メモリ２２、通信インターフェース２３、メモリカードスロット２４、ＣＤ−Ｒ／ＲＷドライブ２５、ハードディスク２６などを有する。制御装置２１はＣＰＵおよびその周辺回路から構成され、ハードディスク２６に格納された各種のアプリケーションプログラムを実行する。各種のアプリケーションプログラムは、ＣＤ−ＲＯＭ５などの記録媒体で提供され、パソコン２へインストールされる。本実施の形態では、後述する画像処理プログラムが、ＣＤ−ＲＯＭ５の記録媒体を通じて提供され、パソコン２で実行される。
【００１１】
次に、パソコン２で実行される本実施の形態の画像処理プログラムについて説明する。図２は、第１の実施の形態画像処理プログラムのフローチャートを示す図である。簡単に説明すると、画像データの各画素が肌色かどうかを判断し、肌色と判断できる場合は、標準的な肌色とのずれ量を計算する。このずれ量の平均値を求めて、画像データ全体の補正値とする。
【００１２】
ステップＳ１では、デジタルカメラ１で撮像し生成されたカラー画像の画像データを取得する。画像データは、種々の方法で取得することができる。例えば、デジタルカメラ１とパソコン２とを所定のインターフェースケーブル３で接続し、メモリカードスロット１５に装填されたメモリカード４に格納されている画像データをデジタルカメラ１からパソコン２へ転送することができる。また、画像データが格納されたメモリカード４を、デジタルカメラ１のメモリカードスロット１５から抜き取り、パソコン２のメモリカードスロット２４に装填して読み取ることもできる。さらには、ＣＤ−ＲＯＭ５などの媒体を介しても画像データを取得することができる。
【００１３】
ステップＳ２では、読み込まれた画像データをＬ*ａ*ｂ*表色系（以下、単にＬａｂとする）の画像データに変換する。読み込まれた画像データは、例えば、ＲＧＢ表色系、ＹＣｂＣｒの表色系などである。ここで、Ｌａｂ表色系に変換するのは、後述する計算の便宜のためである。他の表色系で処理をすることも可能である。Ｌ成分は輝度を表し、ａ成分、ｂ成分は色差を表す。ステップＳ２で変換された画像データの各画素は、Ｌ成分、ａ成分、ｂ成分のそれぞれの値を有するものとする。
【００１４】
ステップＳ３では、画素を選定する。本実施の形態では、画面全体の画素について以下の処理をするので、画像データの各画素を順次選定する。ステップＳ４では、選定された画素が示す色が肌色領域か否かを判定する。すなわち、肌色の範囲内か否かを判定する。
【００１５】
具体的には、Ｌ成分、ａ成分、ｂ成分の値が、次の式を満足する場合の画素を肌色画素とする。式(4)の「√(a２+b２)」は、(a２+b２)の平方根を示す。
a ＞ 0               ... (1)
b ＜ 1.5・a + 5       ... (2)
b ＞ tan(0.9π/4)・a  ... (3)
√(a２+b２) ＞ 10       ... (4)
L ＞ 20              ... (5)
【００１６】
図３は、式(1)〜(4)、すなわち肌色領域をａｂ平面で表した図である。直線３１は式(3)を示し、直線３２は式(2)を示し、円３３は式(4)を示している。ａ成分値ｂ成分値が、直線３１以上かつ直線３２以下かつ円３３の外側である斜線部領域３４を肌色領域としている。なお、式(5)は、ある程度の輝度値を持つ画素を選ぶためである。言い換えれば、暗い画素を除外するためのものである。式(1)〜(5)およびそれらの係数は、肌色領域を求めるに適切なものとして実験等より求めたものである。
【００１７】
なお、ａｂ平面では、一般的に、ａ成分がプラスの値を示すほど赤、マイナスの値を示すほど緑、ｂ成分がプラスの値を示すほど黄、マイナスの値を示すほど青を表す。また、原点に近づくほど彩度が低くなり、原点は無彩色を表す。
【００１８】
ステップＳ４で肌色領域と判定するとステップＳ５に進み、肌色領域でないと判定するとステップＳ５をスキップしてステップＳ６に進む。
【００１９】
ステップＳ５では、肌色基準色との差分値を求める。肌色基準色は、次の式(6)〜(8)で表され、図３において直線３５（１次関数）で示されている。式(6)〜(8)およびそれらの係数は、肌色基準色を表すものとして適切なものを実験等より求めたものである。ｔは媒介変数でｔ≧０である。肌色基準色が点で表されるのではなく線で表されているのは、彩度が異なったりするためである。例えば、人種によって肌色基準色が異なるのに対応するためである。
L = 任意           ... (6)
a = t              ... (7)
b = 1.4t           ... (8)
【００２０】
基準色とのずれ量は、次の式より求めることができる。基準色とのずれ量とは、ａｂ平面において、点(a,b)から直線３５に垂線をおろした垂線のａ成分(da)およびｂ成分(db)である）。図４は、この点(a,b)の肌色基準色（直線３５）とのずれ量を示す図である。
dL = 0                      ... (9)
da = -1.4・(1.4a-b)/(1.4２+1２) ... (10)
db = (1.4a-b)/(1.4２+1２)      ... (11)
【００２１】
ステップＳ６では、すべての画素について肌色領域の判定を行ったか否かを判断する。まだすべての画素について肌色領域の判定を行っていない場合は、ステップＳ３に戻り処理を繰り返す。すべての画素について肌色領域の判定を行った場合は、ステップＳ７に進む。
【００２２】
ステップＳ７では、式(12)〜(14)により、肌色領域と判定された複数の画素の肌色基準色とのずれ量の平均値dLＳ、daＳ、dbＳを求め、これを補正値とする。Nは、肌色領域と判定された画素数である。平均値は、肌色領域と判定された画素のずれ量のａ成分およびｂ成分の総和を求め、肌色領域と判定された画素数Nで割る。
dLＳ = 0          ... (12)
daＳ = (Σda)/N   ... (13)
dbＳ = (Σdb)/N   ... (14)
【００２３】
ステップＳ８では、ステップＳ７で求めた補正値ですべての画素を補正する。具体的には、式(15)〜(17)より、各画素(x,y)のＬ成分値、ａ成分値、ｂ成分値に、式(12)〜(14)で求めたdLＳ、daＳ、dbＳを加算して、補正後のＬ’成分値、ａ’成分値、ｂ’成分値を求める。
L'(x,y) = L(x,y)+dLＳ    ... (15)
a'(x,y) = a(x,y)+daＳ    ... (16)
b'(x,y) = b(x,y)+dbＳ    ... (17)
【００２４】
以上のようにして、肌色領域をみつけ、その肌色領域の色と肌色基準色とのずれ量を計算して補正値を求め、この補正値で画像全体の補正を行う。これにより、人物が撮影されている画像において、色かぶりなどが適切に補正できる。特に、画像全体の色成分を平均しても無彩色とならないような画像で、かつ、人物が撮影されているような場合に効果を発揮する。
【００２５】
また、肌色をもっとも肌色らしく補正することができる。すなわち、画像全体の平均や部分的な領域の平均をグレイに合わせたりするのではなく、特定の色をその色の最もありそうな色に調整することができる。人間にとって違和感のない色に補正される。
【００２６】
上記の処理を異なった表現で説明すると、次のようにもなる。Lab表色系の輝度L、色差abで表されるカラー画像の各画素のL(x,y)、a(x,y)、b(x,y)値が、Lab空間内の予め定められた部分領域（肌色領域）に含まれるか否かを判定する。ある画素値がその部分領域に含まれる場合に、その部分領域内に指定される指定領域（基準色）とその画素値L(x,y)、a(x,y)、b(x,y)値とのずれ(dL(x,y)、da(x,y)、db(x,y))を求める。このずれ(dL(x,y)、da(x,y)、db(x,y))が補正係数になる。部分領域（肌色領域）に含まれる画素が複数ある場合は、ずれ(dL(x,y)、da(x,y)、db(x,y))の平均を補正係数とする。
【００２７】
（変形例）
上記では、肌色領域をみつけて補正値を算出する例を説明したが、他の有彩色の色領域であってもよい。例えば、緑色領域や青色領域であってもよい。肌色や木々の緑色や空の青色は記憶色と言う。これらの記憶色は、身近な対象物の色として人間の頭の中に記憶されているものである。これらの記憶色を基準に補正値を求めると、人間のイメージしている色に近いものに補正され、人間がよりきれいに感じる画像となる。すなわち、特定の色をその色の最もありそうな色に補正することができる。人間にとって違和感のない色に補正される。
【００２８】
緑色領域の場合は、上記の式(1)〜(5)に代えて次の式を使用する。すなわち、Ｌ成分、ａ成分、ｂ成分の値が、次の式を満足する場合の画素を緑色画素とする。
a ＜ 0          ... (18)
b ＞ 0          ... (19)
b ＜ -9.0・a     ... (20)
b ＜ -1.5a+40   ... (21)
√(a２+b２) ＞ 15  ... (22)
L ＞ 10         ... (23)
【００２９】
図５は、式(18)〜(22)、すなわち緑色領域をａｂ平面で表した図である。直線４１は式(20)を示し、直線４２は式(21)を示し、円４３は式(22)を示している。ａ成分値ｂ成分値が直線４１以下かつ直線４２以下かつ円４３の外側であり、ａ成分値がマイナスかつｂ成分値がプラスである斜線領域４４を緑色領域としている。式(23)は、ある程度の輝度値を持つ画素を選ぶためである。言い換えれば、暗い画素を除外するためのものである。式(18)〜(23)およびそれらの係数は、緑色領域を求めるに適切なものとして実験等より求めたものである。
【００３０】
次に、基準色との差分値を求める場合、緑色基準色は、次の式(24)〜(26)で表され、図５において直線４５で示される。式(24)〜(26)およびそれらの係数は、緑色基準色を表すものとして適切なものを実験等より求めたものである。ｔは媒介変数でｔ≧０である。彩度が異なる緑色を基準色とするため、緑色基準色は線（直線）で表されている。
L = 任意           ... (24)
a = t              ... (25)
b = -1.5t          ... (26)
【００３１】
緑色基準色とのずれ量は、次の式より求めることができる。
dL = 0                      ... (27)
da = -1.5・(1.5a+b)/(1.5２+1２) ... (28)
db = -(1.5a+b)/(1.5２+1２)     ... (29)
【００３２】
緑色領域と判定された複数の画素の緑色基準色とのずれ量の平均値dLＧ、daＧ、dbＧは式(30)〜(32)により求め、これを補正値とする。Nは、緑色領域と判定された画素数である。
dLＧ = 0          ... (30)
daＧ = (Σda)/N   ... (31)
dbＧ = (Σdb)/N   ... (32)
【００３３】
上記で求めた補正値ですべての画素を補正する。具体的には、各画素(x,y)のＬ成分値、ａ成分値、ｂ成分値に、式(30)〜(32)で求めたdLＧ、daＧ、dbＧを加算して、補正後のＬ’成分値、ａ’成分値、ｂ’成分値を求める。
【００３４】
以上のようにして、緑色領域をみつけ、その緑色領域の色と緑色基準色とのずれ量を計算して補正値を求め、この補正値で画像全体の補正を行うこともできる。これにより、木々の緑などが多く撮影されている画像において、色かぶりなどが適切に補正できる。また、緑色をもっとも緑色らしく補正することができる。人間にとって違和感のない色に補正される。
【００３５】
なお、緑色基準色を前述のとおり直線で設定する以外にも、ある幅を持った領域で設定することでも構わない。この場合、緑色基準色を示す領域と抽出された緑色画素のＬａｂ空間における座標(a,b)との最小距離またはそれと等価な値が、緑色基準色とのずれ量となる。もちろん、緑色画素のＬａｂ空間における座標(a,b)が領域内である場合には、緑色基準色とのずれ量はゼロとなる。
【００３６】
青色領域の場合は、上記の式(1)〜(5)に代えて次の式を使用する。すなわち、Ｌ成分、ａ成分、ｂ成分の値が、次の式を満足する場合の画素を青色画素とする。
b ＜ -2.0・a     ... (33)
b ＜ a+10       ... (34)
√(a２+b２) ＞ 10  ... (35)
L ＞ 30         ... (36)
【００３７】
図６は、式(33)〜(35)、すなわち青色領域をａｂ平面で表した図である。直線５１は式(33)を示し、直線５２は式(34)を示し、円５３は式(35)を示している。ａ成分値ｂ成分値が直線５１以下かつ直線５２以下かつ円５３の外側である領域５４を青色領域としている。式(36)は、ある程度の輝度値を持つ画素を選ぶためである。言い換えれば、暗い画素を除外するためのものである。式(33)〜(36)およびそれらの係数は、青色領域を求めるに適切なものとして実験等より求めたものである。
【００３８】
次に、青色基準色との差分値を求める。青色基準色の場合、Ｌａｂ色空間で同じ色相と人間が知覚するａ，ｂの比は異なる彩度で必ずしも一定ではない。すなわち、青色基準色の等色相線は直線とならず図６の折れ線５５−５６のようになる。直線５５部分は、次の式(38)〜(39)で表される。式(37)〜(39)およびそれらの係数や図６の折れ線５５−５６は、青色基準色を表すものとして適切なものを実験等より求めたものである。ｔは媒介変数でｔ≧０である。
L = 任意           ... (37)
a = -0.4t          ... (38)
b = -t             ... (39)
【００３９】
青色基準色とのずれ量は、折れ線５５−５６も考慮して次の式より求めることができる。式(41)は、半径２０の円内において、折れ線５５−５６のうちの直線５５とのａ成分のずれ量を示す。式(42)は、半径２０の円外において、折れ線５５−５６のうちの直線５６とのａ成分のずれ量を示す。ｂ成分のずれ量は式(43)で示される。
dL = 0                                                    ... (40)
da = -(a-0.4b)/(1２+0.4２), if √(a２+b２)≦20                  ... (41)
da = -(a-0.4b)/(1２+0.4２)+(((√(a２+b２))-20)/2, if √(a２+b２)＞20 ... (42)
db = 0.4・(a-0.4b)/(1２+0.4２)                                ... (43)
【００４０】
青色領域と判定された複数の画素の青色基準色とのずれ量の平均値dLＢ、daＢ、dbＢは式(44)〜(46)により求め、これを補正値とする。Nは、青色領域と判定された画素数である。
dLＢ = 0          ... (44)
daＢ = (Σda)/N   ... (45)
dbＢ = (Σdb)/N   ... (46)
【００４１】
上記で求めた補正値ですべての画素を補正する。具体的には、各画素(x,y)のＬ成分値、ａ成分値、ｂ成分値に、式(44)〜(46)で求めたdLＢ、daＢ、dbＢを加算して、補正後のＬ’成分値、ａ’成分値、ｂ’成分値を求める。
【００４２】
以上のようにして、青色領域をみつけ、その青色領域の色と青色基準色とのずれ量を計算して補正値を求め、この補正値で画像全体の補正を行うこともできる。これにより、空の青などが撮影されている画像において、色かぶりなどが適切に補正できる。また、青色をもっとも青色らしく補正することができる。人間にとって違和感のない色に補正される。
【００４３】
−第２の実施形態−
第１の実施の形態では、肌色領域、変形例では、緑色領域あるいは青色領域の１つの色の領域に該当する画素を抽出して補正値を求める例を説明した。第２の実施の形態では、複数の色領域に該当する画素を抽出して補正値を求める場合を示す。いずれの色領域の画素であるかどうかは、第１の実施の形態の図２のステップＳ３〜ステップＳ７を、各色領域ごとに繰り返せばよい。従って、第２の実施の形態では、以下、補正値を求めるところを中心に説明する。
【００４４】
（緑色領域と青色領域の場合）
まず、緑色領域と判定された画素の緑色基準色とのずれ量の平均値dLＧ、daＧ、dbＧを求める。次に、青色領域と判定された画素の青色基準色とのずれ量の平均値dLＢ、daＢ、dbＢを求める。これらの、２色のずれ量の平均値を使用して、式(51)〜(53)より補正値dLＥ、daＥ、dbＥを求める。ここで、NＧは緑色領域と判定された画素数であり、NＢは青色領域と判定された画素数である。式(51)〜(53)は、画素数すなわち画像の中で占める面積で加重平均がとられている。
dLＥ = (NＧ・dLＧ+NＢ・dLＢ)/(NＧ+NＢ)   ... (51)
daＥ = (NＧ・daＧ+NＢ・daＢ)/(NＧ+NＢ)   ... (52)
dbＥ = (NＧ・dbＧ+NＢ・dbＢ)/(NＧ+NＢ)   ... (53)
【００４５】
上記で求めた補正値ですべての画素を補正する。具体的には、各画素(x,y)のＬ成分値、ａ成分値、ｂ成分値に、式(51)〜(53)で求めたdLＥ、daＥ、dbＥを加算して、補正後のＬ’成分値、ａ’成分値、ｂ’成分値を求める。
【００４６】
以上のようにして、緑色領域および青色領域をみつけ、それぞれの色領域で基準色とのずれ量を計算し、さらに、両方の色領域の平均ずれ量を使用して補正値を求める。そして、この補正値で画像全体の補正を行う。これにより、屋外（風景）などのシーンで木々の緑や空の青などが撮影されている画像において、色かぶりなどが適切に補正できる。また、緑色領域あるいは青色領域で判定する場合に比べて、補正の精度が向上する。
【００４７】
（緑色領域と青色領域と肌色領域の場合）
まず、緑色領域と判定された画素の緑色基準色とのずれ量の平均値dLＧ、daＧ、dbＧを求める。次に、青色領域と判定された画素の青色基準色とのずれ量の平均値dLＢ、daＢ、dbＢを求める。次に、肌色領域と判定された画素の肌色基準色とのずれ量の平均値dLＳ、daＳ、dbＳを求める。これらの、３色のずれ量の平均値を使用して、式(54)〜(56)より補正値dLＦ、daＦ、dbＦを求める。ここで、NＧは緑色領域と判定された画素数であり、NＢは青色領域と判定された画素数であり、NＳは肌色領域と判定された画素数である。
dLＦ = (NＧ・dLＧ+NＢ・dLＢ+NＳ・dLＳ)/(NＧ+NＢ+NＳ)   ... (54)
daＦ = (NＧ・daＧ+NＢ・daＢ+NＳ・daＳ)/(NＧ+NＢ+NＳ)   ... (55)
dbＦ = (NＧ・dbＧ+NＢ・dbＢ+NＳ・dbＳ)/(NＧ+NＢ+NＳ)   ... (56)
【００４８】
上記で求めた補正値ですべての画素を補正する。具体的には、各画素(x,y)のＬ成分値、ａ成分値、ｂ成分値に、式(54)〜(56)で求めたdLＦ、daＦ、dbＦを加算して、補正後のＬ’成分値、ａ’成分値、ｂ’成分値を求める。
【００４９】
以上のようにして、緑色領域、青色領域、および、肌色領域をみつけ、それぞれの色領域で基準色とのずれ量を計算し、さらに、３色の色領域の平均ずれ量を使用して補正値を求める。そして、この補正値で画像全体の補正を行う。これにより、木々の緑や空の青やさらには人物などが撮影されている画像において、色かぶりなどが適切に補正できる。
【００５０】
−第３の実施形態−
第１の実施の形態および第２の実施の形態では、有彩色である記憶色領域を抽出して補正値を求める例を説明した。第３の実施の形態では、無彩色であるグレイ（灰色）も考慮に入れて補正値を求める。第３の実施の形態では、緑色領域と青色領域とグレイ考慮の場合について説明する。各色領域の基準色とのずれ量は、第１の実施の形態および第２の実施の形態と同様にして求める。
【００５１】
まず、緑色領域と判定された画素の緑色基準色とのずれ量の平均値dLＧ、daＧ、dbＧを求める。次に、青色領域と判定された画素の青色基準色とのずれ量の平均値dLＢ、daＢ、dbＢを求める。
【００５２】
次に、画像全体のａ成分とｂ成分の平均ｍａとｍｂを求める。ａ成分およびｂ成分の画像全体の平均（平均色）は基本的に無彩色であるグレイになるはずである。グレイの基準は、ａｂ平面の原点に相当する。従って、グレイのずれ量dLＡ、daＡ、dbＡは、平均値ｍａとｍｂの符号を反転させて次式のようになる。
dLＡ = 0     ... (57)
daＡ = -ma   ... (58)
dbＡ = -mb   ... (59)
【００５３】
これらの、２色のずれ量の平均値およびグレイのずれ量を使用して、式(60)〜(62)より補正値dLＨ、daＨ、dbＨを求める。ここで、Nは画像全体の画素数であり、NＧは緑色領域と判定された画素数であり、NＢは青色領域と判定された画素数である。
dLＨ = (NＧ・dLＧ+NＢ・dLＢ+(N-NＧ-NＢ)・dLＡ)/N   ... (60)
daＨ = (NＧ・daＧ+NＢ・daＢ+(N-NＧ-NＢ)・daＡ)/N   ... (61)
dbＨ = (NＧ・dbＧ+NＢ・dbＢ+(N-NＧ-NＢ)・dbＡ)/N   ... (62)
【００５４】
上記で求めた補正値ですべての画素を補正する。具体的には、各画素(x,y)のＬ成分値、ａ成分値、ｂ成分値に、式(60)〜(62)で求めたdLＨ、daＨ、dbＨを加算して、補正後のＬ’成分値、ａ’成分値、ｂ’成分値を求める。
【００５５】
以上のようにして、緑色領域および青色領域をみつけ、それぞれの色領域で基準色とのずれ量を計算し、さらに、グレイのずれ量を考慮し、２つの色領域の平均ずれ量およびグレイのずれ量を使用して補正値を求める。そして、この補正値で画像全体の補正を行う。これにより、屋外などのシーンで木々の緑や空の青などが撮影されている画像において、色かぶりなどが適切に補正できる。また、画像データ中に、緑色領域や青色領域などの特定色がない場合であっても色かぶりを適切に補正することができる。
【００５６】
上記に、さらに肌色領域も考慮にいれてもよい。
【００５７】
−第４の実施形態−
第４の実施の形態では、肌色領域を求め、無彩色であるグレイ（灰色）も考慮に入れて補正値を求める場合について説明する。第４の実施の形態は、グレイのずれ量を求めるために第３の実施の形態のように画像全体のａ成分とｂ成分の平均ｍａとｍｂを求める際、重みw(a,b)をつけて求める。すなわち、加重平均を行う。重みをつけて求めたａ成分とｂ成分の平均をｗａとｗｂとすると、次の式(63)(64)で表される。Σは、画素(x,y)全体にわたって総和を求めるものである。
wa = Σa(x,y)・w(a,b)/Σw(a,b)   ... (63)
wb = Σb(x,y)・w(a,b)/Σw(a,b)   ... (64)
【００５８】
重み関数w(a,b)を、例えば次の式(65)とし、σ=50とする。式(65)の重み関数w(a,b)は、原点(0,0)において１の値をとり、原点から遠ざかるにつれて指数関数的に低い値を取る。すなわち、式(65)の重み関数w(a,b)は、彩度の低いものを重くする関数である。
w(a,b) = exp(-(a２+b２)２/σ４)       ... (65)
【００５９】
さらに、肌色領域を計算に入れないようにするために、次の式(66)〜(68)としてもよい。式(67)の条件式は、第１の実施の形態における肌色領域内を示すものである。図７は、式(66)〜(68)を図示するものである。斜線領域６１内は、重み関数w(a,b)が一定の値1/e以上を示す領域である。すなわち、グレイのずれ量を計算するときに、一定の彩度の低い画素を重みづけを大きくして計算し、さらに、領域６２を除外することにより肌色を計算に入れないようにする。これにより、最終的に求めた補正値で補正をするときに、肌色を白っぽくしないようにする効果がある。なお、σ=50としたのは、より良好な実験結果が得られたことに基づくものである。
w(a,b) = exp(-(a２+b２)２/σ４)・wｓ(a,b)                         ... (66)
wｓ(a,b) = 0, if      a＞0 & b＜1.5・a+5 & b＞tan(0.9π/4)・a   ... (67)
wｓ(a,b) = 1, if not (a＞0 & b＜1.5・a+5 & b＞tan(0.9π/4)・a)  ... (68)
【００６０】
彩度によって重み付けして計算されたグレイのずれ量は、以下の式(69)〜(71)になる。
dLＡ’ = 0     ... (69)
daＡ’ = -wa   ... (70)
dbＡ’ = -wb   ... (71)
【００６１】
肌色領域のずれ量の平均値およびグレイのずれ量を使用して、式(72)〜(74)より補正値dLＩ、daＩ、dbＩを求める。ここで、NＡは重み（ウェイト）の総和で、NＡ=Σw(a,b)で表され、各画素のw(a,b)の総和を取ったものである。NＳは肌色領域と判定された画素数である。なお、式(73)(74)で「NＡ」を「NＡ/2」としているのは、実験の結果このようにするのがより適切な結果を得たためである。
dLＩ = 0                           ... (72)
daＩ = (daＡ’・NＡ/2+daＳ・NＳ)/(NＡ/2+NＳ)   ... (73)
dbＩ = (dbＡ’・NＡ/2+dbＳ・NＳ)/(NＡ/2+NＳ)   ... (74)
【００６２】
上記で求めた補正値ですべての画素を補正する。具体的には、各画素(x,y)のＬ成分値、ａ成分値、ｂ成分値に、式(60)〜(62)で求めたdLＩ、daＩ、dbＩを加算して、補正後のＬ’成分値、ａ’成分値、ｂ’成分値を求める。
【００６３】
以上のようにして、肌色領域の肌色基準色との平均ずれ量およびグレイのずれ量を使用して補正値を求める。そして、この補正値で画像全体の補正を行う。これにより、人物が撮影されている画像において、肌色が必要以上に白っぽく補正されずに色かぶりなどが適切に補正できる。
【００６４】
−第５の実施形態−
第５の実施の形態では、緑色領域、青色領域、肌色領域を求め、さらに無彩色であるグレイ（灰色）も考慮に入れて補正値を求める場合について説明する。緑色領域および青色領域の判定結果を利用して、屋外か屋内かのシーンを判定し、判定したシーンを考慮に入れて重みづけをしながら、補正値を求めるものである。
【００６５】
非線形関数g(x)を使って、次式(75)(76)を得る。非線形関数g(x)として、例えば次式(77)を使用する。Nは画像全体の画素数、NＧは緑色領域と判定された画素数、NＢは青色領域と判定された画素数である。式(75)の意味するところは、緑色領域が全体の２，３割を占めることによりWＧの値は急激に１に近い値になることを意味する。同様に、式(76)の意味するところは、青色領域が全体の２，３割を占めることによりWＢの値は急激に１に近い値になることを意味する。
WＧ = g(NＧ/N)                           ... (75)
WＢ = g(NＢ/N)                           ... (76)
g(x) = 1/(1+e−１０（ｘ−ｄ）／ｓ)  (d=0.25, s=0.4)  ... (77)
【００６６】
次に、上記で求めたWＧ、WＢを使用して式(78)(79)を得る。WＳＣＥＮＥは、屋内シーンか屋外シーンかを示す指標である。１を最大値として、値が大きいほど屋外シーンであることを意味する。すなわち、緑色や青色が全体の３割程度以上占めると、WＳＣＥＮＥは１あるいは１に近い値を示し、屋外であることを意味する。逆に、WＳＣＥＮＥが小さい値の場合は、緑色や青色が少なく肌色などが多い屋内シーンであることを意味する。
WＳＣＥＮＥ = WＧ+WＢ, if(WＧ+WＢ)＜1   ... (78)
WＳＣＥＮＥ = 1,    if(WＧ+WＢ)≧1  ... (79)
【００６７】
緑色領域、青色領域、肌色領域のずれ量の平均値およびグレイのずれ量を使用して、式(80)〜(82)より補正値dLＨ、daＨ、dbＨを求める。式(80)〜(82)は、上記で求めた重み係数WＳＣＥＮＥが使用されている。式(81)(82)の、第１項部分は緑色領域と青色領域の平均を求めるものであり、第２項部分はグレイのずれ量を考慮した肌色領域の平均を求めるものである。WＳＣＥＮＥが１に近い場合は、緑色領域と青色領域に多く重みづけされ、WＳＣＥＮＥが小さい場合は、肌色領域とグレイのずれ量に多く重みづけされる。
dLＩ = 0                                                              ... (80)
daＩ = WＳＣＥＮＥ・((daＧ・NＧ+daＢ・NＢ)/(NＧ+NＢ))+(1-WＳＣＥＮＥ)・((daＡ’・NＡ/2+daＳ・NＳ)/(NＡ/2+NＳ)) ... (81)
dbＩ = WＳＣＥＮＥ・((dbＧ・NＧ+dbＢ・NＢ)/(NＧ+NＢ))+(1-WＳＣＥＮＥ)・((dbＡ’・NＡ/2+dbＳ・NＳ)/(NＡ/2+NＳ)) ... (82)
【００６８】
上記で求めた補正値ですべての画素を補正する。具体的には、各画素(x,y)のＬ成分値、ａ成分値、ｂ成分値に、式(60)〜(62)で求めたdLＩ、daＩ、dbＩを加算して、補正後のＬ’成分値、ａ’成分値、ｂ’成分値を求める。
【００６９】
以上のようにして、緑と青の多いシーンの場合は、緑色と青色の重みづけが大となって補正値が計算され、人が主体となるシーンの場合は、肌色とグレイの重みづけが大となって補正値が計算される。各々のシーンにあった補正値が計算され、各シーンごとに色かぶりなどが適切に補正できる。
【００７０】
なお、上記の実施の形態では、パソコン２が実行する制御プログラムは、ＣＤ−ＲＯＭ５の記録媒体で提供する例を説明をしたが、必ずしもこの内容に限定する必要はない。制御プログラムをインターネットなどに代表される通信回線などの伝送媒体を介して提供することも可能である。すなわち、制御プログラムを、伝送媒体を搬送する搬送波上の信号に変換して送信することも可能である。図８はその様子を示す図である。パソコン２は通信回線１０１との接続機能を有する。コンピュータ１０２は上記制御プログラムを提供するサーバーコンピュータであり、ハードディスク１０３などの記録媒体にプログラムを格納する。通信回線１０１は、インターネット、パソコン通信などの通信回線、あるいは専用通信回線などである。コンピュータ１０２はハードディスク１０３を使用して制御プログラムを読み出し、通信回線１０１を介してプログラムをパーソナルコンピュータ１００に送信する。このように、制御プログラムは、記録媒体や搬送波などの種々の形態のコンピュータ読み込み可能なコンピュータプログラム製品として供給できる。
【００７１】
また、上記の実施の形態では、色かぶりの補正処理をパソコン２の制御プログラムが実行する例を説明をしたが、必ずしもこの内容に限定する必要はない。デジタルカメラ１内部でその処理を行うようにしてもよい。すなわち、デジタルカメラ１の制御装置１１が上述の制御プログラムを実行するようにしてもよい。画像データがメモリカード４に格納されるときには、色かぶりが補正された状態で格納される。また、フィルムスキャナー、プロジェクター、カラープリンターなどの装置にも本発明を適用することができる、すなわち、カラー画像の画像データを処理するあらゆる装置に、本発明を適用することができる。
【００７２】
また、上記の実施の形態では、パソコン２が処理するカラー画像データはデジタルカメラで撮像したものの例を説明をしたが、必ずしもこの内容に限定する必要はない。上記のように、フィルムスキャナー、プロジェクター、カラープリンターなどが取得したカラー画像の画像データであってもよい。すなわち、カラー画像の画像データを生成する装置はどのようなものであってもよい。
【００７３】
また、上記の実施の形態では、画像データの各画素がいずれかの色領域に入るかについて、肌色、緑色、青色の記憶色の例を説明をしたが、必ずしもこの内容に限定する必要はない。その他の記憶色であってもよい。また、その他の有彩色であってもよい。
【００７４】
また、上記の実施の形態では、肌色、緑色、青色の単独の場合、あるいはそれらの組み合わせ、さらにはグレイとの組み合わせ、さらにまた重みづけをする場合の組み合わせなど、各種の組み合わせの例を説明をした。しかし、組み合わせは必ずしもこれらの内容に限定する必要はない。その他の組み合わせであってもよい。すなわち、上記に説明した個々の要素のその他の組み合わせも本願発明の範囲である。
【００７５】
また、上記の実施の形態では、所定の色の範囲やその色の標準色について、具体例をあげて説明をしたが、必ずしもこの内容に限定する必要はない。他の数値や他の条件で示される値であってもよい。実験や経験則等で、適切であるとされる値であればよい。
【００７６】
また、上記の実施の形態では、Ｌａｂ表色系に変換して各種の演算をする例を説明をしたが、必ずしもこの内容に限定する必要はない。他の表色系で演算するようにしてもよい。すなわち、他の表色系で、所定の色の範囲やその色の標準値が求めることができれば、それらを使用すればよい。
【００７７】
また、上記の実施の形態では、肌色領域を式(1)〜(5)の条件で判定する例を説明をしたが、必ずしもこの内容に限定する必要はない。顔検出を単独で使用したり顔検出を併用したりしてもよい。すなわち、色だけでなく、顔や目や鼻などの形状を識別して顔を検出し、この顔の領域の色を肌色領域としてもよい。また、顔領域と判定された領域について肌色判定をするようにしてもよい。
【００７８】
また、上記の実施の形態では、緑色領域や青色領域の抽出例を説明をした。これらの抽出時にシーン判定を併用してもよい。つまり、撮影データよりシーン輝度を求めて、屋外/屋内シーンの判定を行う。輝度が高い場合は屋外シーンと判定し、輝度が低い場合は屋内シーンと判定する。屋内シーンならば緑色判定や青色判定を行わないようにしてもよい。また、撮影画像の上方に一様に広がる青い領域を空と判定したりしてもよい。上方かどうかは撮影時のカメラの撮影方向のデータを用いる。空と判定できる領域がある場合は、屋外シーンと判定する。 さらに、撮影者が設定するシーンモードを見て屋外シーンか屋内シーンかを判定してもよい。屋内シーンのモードが設定されている場合は、緑色判定や青色判定を行わず肌色判定を行う。一方、屋外シーンのモードが設定されている場合は、緑色判定や青色判定を使用する。屋外でも人物が撮影される可能性が大きいと判定される場合は、第２の実施の形態のように緑色判定や青色判定および肌色判定を組み合わせて行うようにしてもよい。すなわち、撮影シーンを適宜判断し、撮影シーンに合った適切な色判定を使用するようにすればよい。
【００７９】
また、上記の実施の形態では、画像全体の画素について色領域の判定を行う例を説明をしたが、必ずしもこの内容に限定する必要はない。カラー画像の一部であってもよい。例えば、中心の面積１／４の領域を抜き出して行ってもよいし、多点合焦装置の合焦した座標を中心とする画像の一部で行っても良いし、分割測光装置で測光された測光レベルが所定測光レベルの範囲に入る画像の一部で行っても良い。また、画像を所定サイズ例えば２００×２００に変倍してから行っても良い。 
【００８０】
また、上記の実施の形態では、式(15)〜(17)より、各画素(x,y)のＬ成分値、ａ成分値、ｂ成分値に、補正値を加算して、補正後のＬ’成分値、ａ’成分値、ｂ’成分値を求める例を説明をしたが、必ずしもこの内容に限定する必要はない。次式(83)〜(85)に示すように、補正値にその画素の輝度Lに依存する関数f(L)をかけて補正しても良い。
L'(x,y) = L(x,y)+dL＊・f(L(x,y))    ... (83)
a'(x,y) = a(x,y)+da＊・f(L(x,y))    ... (84)
b'(x,y) = b(x,y)+db＊・f(L(x,y))    ... (85)
【００８１】
関数f(L)は、例えば式(86)に示すような関数である。この関数は、輝度Lが0〜100の値を取るとして、Lが0あるいは100の両端の場合はf(L)が0となり、真ん中の50の場合1となる関数である。これにより、画像が真っ暗な場合あるいは真っ白な場合は補正をしないようにしている。例えば、真っ白な画像で補正を加えると、元の例えばRGBの表色系などに戻したときに、色がついてしまう。すなわち、本実施の形態の補正が、元の表色系の色域を超えて補正をしてしまうことになる。関数f(L)を使用することにより、このような現象を防止することができる。なお、関数f(L)は式(86)以外の関数であってもよい。
f(L) = -L・(L-100)/2500            ... (86)
【００８２】
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【図面の簡単な説明】
【００８３】
【図１】第１の実施の形態のデジタルカメラとパーソナルコンピュータを示す図である。
【図２】第１の実施の形態画像処理プログラムのフローチャートを示す図である。
【図３】肌色領域をａｂ平面で表した図である。
【図４】点ａｂの肌色基準色とのずれ量を示す図である。
【図５】緑色領域をａｂ平面で表した図である。
【図６】青色領域をａｂ平面で表した図である。
【図７】重み関数w(a,b)を示す図である。
【図８】制御プログラムをインターネットなどに代表される通信回線などの伝送媒体を介して提供する様子を示す図である。
【符号の説明】
【００８４】
１  デジタルカメラ
２  パーソナルコンピュータ
３  通信インターフェースケーブル
４  メモリーカード
１１  制御装置
１２  撮影光学系
１３  撮像素子
１４  通信インターフェース
１５  メモリカードスロット
１６  メモリ
２１  制御装置
２２  メモリ
２３  通信インターフェース
２４  メモリカードスロット
２５  ＣＤ−Ｒ／ＲＷドライブ
２６  ハードディスク
【図１】
2005176028.tif 000003
【図２】
2005176028.tif 000004
【図３】
2005176028.tif 000005
【図４】
2005176028.tif 000006
【図５】
2005176028.tif 000007
【図６】
2005176028.tif 000008
【図７】
2005176028.tif 000009
【図８】
2005176028.tif 000010