説明

画像処理装置および画像処理方法

【課題】 補正対象画像において補正対象となる領域とそれ以外の領域の彩度バランスの崩れにより、補正画像が不自然なものになることを防ぐ。
【解決手段】 前記画像の補正対象とする色を代表色として抽出する代表色抽出手段と、前記画像の補正対象とする色の補正目標色を記憶する目標色記憶手段と、前記画像の補正対象とする代表色を含む色領域を設定する色領域設定手段と、前記画像の補正対象とする位置領域を設定する位置領域設定手段と、前記代表色抽出手段で抽出された代表色と前記目標色記憶手段に記憶された目標色との差に基づき、前記位置領域設定手段で設定された色領域内であり、かつ前記画像の前記色領域設定手段で設定された色領域内である色を補正すると共に、前記色領域内の色の彩度変換量に応じて、前記位置設定手段で設定された位置領域外近傍の彩度を変換する色補正手段を有することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カラー画像の色補正処理に関する。
【背景技術】
【0002】
カラー画像機器の色再現においては元の色を忠実に再現することが要求される。一方、人間が好ましいと感じる色再現も重要で、特に、肌色、空の青、草木の緑などにおいては好ましい色再現が要求される。そのため、例えばデジタルカメラで被写体を撮影、デジタル画像データとして記録する場合には、撮影時に画像が適正な明るさになるよう露出を制御するとともにイメージセンサーから出力されるカラー画像データに対してカラーバランス、色相、彩度、階調の補正を行っている。
【0003】
しかしながら、これらの色変換に関する処理は画像全体に対して明るさや色を補正するものであるため補正したい色を個別に補正することができず、補正したい色を目標とする色に補正を行った場合には別の色に影響が及び画像全体としては好ましい色に補正を行うことはできなかった。例えば、人物を撮影する場合に人物の肌が陰になってしまった場合には肌を目標とする明るさまで明るくすると元々好ましい明るさであった画像中の他の領域が過剰に明るくなってしまうといった問題があった。また、部分的な照明の影響で人物の肌の色が青味を帯びたり、逆に黄色すぎたりした場合には、肌の色を好ましい肌色に補正しようとすると元々好ましい色であった画像中の他の領域の色が不自然になってしまうことがあった。
【0004】
このような問題を解決するため、例えば、非特許文献1においては、選択的色調整のモデルが紹介されている。これは、色補正を行う色領域を指定し、指定した色領域内の色相および彩度を好ましい方向へと補正するものである。文献においては、補正を行う色領域の指定にメンバシップ関数を用いて、あいまいさ導入し色空間の連続性の崩れに対応している。
【0005】
しかしながら、上記従来例では、色領域重みに対応するメンバシップ関数についてどのように定めるかは具体的に示されていなかった。仮に色領域重みを適当な値に設定して色の調整を行うと、補正量が強すぎて画像が不自然になったり、補正量が弱すぎて期待した効果が得られない。また、補正結果の画像をディスプレイに表示したり、プリンタで印刷して確認し、知覚的に調整しながら最適な重みを探索するという方法では調整に専門的な経験が必要であったり、膨大な回数の試行を必要とする。
【非特許文献1】”ハードコピーのための画像信号処理”、小寺、テレビジョン学会誌Vol.43,No.11(1989),pp.1205-1212
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は以上の問題に鑑みて成されたものであり、画像全体の明るさや色の変換では補正しきれない画像に対して、所望の色領域内での色相および彩度の補正を簡単かつ効果的に行い、さらに補正対象画像において補正対象となる領域とそれ以外の領域の彩度バランスの崩れにより、補正画像が不自然なものになることを防ぐことができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の目的を達成するために、以下の構成を備える。即ち、
画像中の所定色領域の色補正を行う画像処理装置であって、前記画像の補正対象とする色を代表色として抽出する代表色抽出手段と、前記画像の補正対象とする色の補正目標色を記憶する目標色記憶手段と、前記画像の補正対象とする代表色を含む色領域を設定する色領域設定手段と、前記画像の補正対象とする位置領域を設定する位置領域設定手段と、前記代表色抽出手段で抽出された代表色と前記目標色記憶手段に記憶された目標色との差に基づき、前記位置領域設定手段で設定された色領域内であり、かつ前記画像の前記色領域設定手段で設定された色領域内である色を補正すると共に、前記色領域内の色の彩度変換量に応じて、前記位置設定手段で設定された位置領域外近傍の彩度を変換する色補正手段を有することを特徴とする。
【発明の効果】
【0008】
本発明の構成により、画像全体の明るさや色の変換では補正しきれない画像に対して、所望の色領域内での色相および彩度の補正を簡単かつ効果的に行うことができる。さらに、補正対象画像において補正対象となる領域とそれ以外の領域の彩度バランスの崩れにより、補正画像が不自然なものになることを防ぐことができる。
【発明を実施するための最良の形態】
【0009】
以下添付図面を参照して、好適な実施例を詳細に説明する。
【0010】
本実施形態に係る画像処理装置は、PC(パーソナルコンピュータ)やWS(ワークステーション)等のコンピュータにより構成されており、デジタルカメラからの入力、インターネットからのダウンロード、CD−ROMやDVD−ROMなどの記憶媒体からの読み出し等により入力された画像において、所定の被写体を判別し、その領域を検出することを目的とするものである。
【0011】
以下、このような処理を行う本実施形態に係る画像処理装置についてより詳細に説明する。特に、本実施例ではカメラで撮影した画像中から人物の顔領域を検出する例について適用し、その内容を説明する。
【0012】
図2は、本実施形態に係る画像処理装置の基本構成を示す図である。
【0013】
201はCPUで、RAM202やROM203に格納されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する各処理を行う。
【0014】
202はRAMで、外部記憶装置207や記憶媒体ドライブ装置208から読み出したプログラムやデータを一時的に記憶するためのエリアを備えると共に、CPU201が各種の処理を実行する為に用いるワークエリアも備える。
【0015】
203はROMで、ここにブートプログラムや本装置の設定データなどを格納する。
【0016】
204、205は夫々キーボード、マウスで、夫々CPU201に各種の指示を入力するためのものである。
【0017】
206は表示部で、CRTや液晶画面などにより構成されており、CPU201による処理結果を文字や画像などにより表示する。
【0018】
207は外部記憶装置で、例えばハードディスクドライブ装置等の大容量情報記憶装置であって、ここにOS(オペレーティングシステム)や、後述する各処理をCPU201に実行させるためのプログラムやデータが格納されており、これらは必要に応じて、CPU201の制御によりRAM202に読み出される。
【0019】
208は記憶媒体ドライブ装置で、CD−ROMやDVD−ROMなどの記憶媒体に記録されているプログラムやデータを読み出して、RAM202や外部記憶装置207に出力する。なお、上記外部記憶装置207に記憶されているプログラムやデータの一部を上記記憶媒体に記録しておいても良く、その場合には、これら記憶されているプログラムやデータを使用する際に、記憶媒体ドライブ装置208がこの記憶媒体に記録されているプログラムやデータを読み出して、RAM202に出力する。
【0020】
209はI/F(インターフェース)で、ここにデジタルカメラやインターネットやLANのネットワーク回線等を接続することができる。
【0021】
210は上述の各部を繋ぐバスである。
【0022】
図1は、本実施形態に係る画像処理装置として機能するコンピュータの機能構成を示すブロック図である。
【0023】
同図において10は画像入力手段で、この画像入力手段10を介して本装置に以下の処理対象の画像データが入力される。尚、この画像(入力画像)には、被写体として人の顔が写っている。20は画像補正手段で、入力画像のコントラストやカラーバランス等を調整する。調整の方法は特に限定されるものではなく、例えば、ヒストグラムやトーンカーブを利用した調整方法などが好適に例示される。20の画像補正手段により、入力画像を調整したにも関わらず、肌色などの所定色が好ましい色に再現されていない画像に対して、本実施例では後述する色補正手段により肌色などの所定色領域の色補正を行う。30は人肌領域抽出手段で、補正を行う人肌領域を画像から抽出する。抽出の方法は特に限定されるものではなく、例えば、顔検出手段により検出された顔の情報を利用する方法や、任意の色相や彩度を指定する方法などが例示される。40は代表色抽出手段で、30の人肌領域抽出手段で抽出した入力画像中の人肌領域の色情報から、補正対象とする色を代表色として抽出する。補正対象とする代表色として、例えば人肌領域内の画素の色相および彩度の平均値や中央値、あるいは最頻値などを抽出し設定する。また本実施例では、色補正を行う肌色などの所定色の補正目標色を補正対象の色毎に目標色記憶手段50により記憶しておく。目標色記憶手段50により記憶した補正目標色と前記代表色を用いて60の補正係数設定手段により、色補正手段90で用いる補正係数を設定する。さらに、人肌領域抽出手段30において抽出した人肌領域の色情報から、前記代表色を含む、補正処理の対象とする色領域を色領域設定手段70により設定する。また、前記人肌領域の入力画像における位置の情報を用いて、補正対象とする人肌領域の補正処理における位置による画像領域重みを80の画像領域設定手段により設定する。最後に色補正手段90では前記補正係数を用い、色領域設定手段70により設定された補正対象となる色領域および画像領域設定手段80により設定された画像領域について色補正を行い、画像出力手段100により補正画像を出力する。
【0024】
図3は、図1に示した各部により行われる処理のフローチャートである。なお、同図のフローチャートに従ったプログラムを外部記憶装置207や記憶媒体ドライブ装置208によってRAM202にロードし、これをCPU201が実行することにより、本実施形態に係る画像処理装置は、後述する各処理を行うことになる。
【0025】
先ず、RAM202に処理対象の画像(処理対象画像)のデータをロードする(S1)。このロードの形態は特に限定するものではないが、例えばこの処理対象画像のデータを外部記憶装置207に保存させておき、キーボード204やマウス205を用いてこの処理対象画像のデータのファイル名を入力して、CPU201にRAM202へのロードを指示しても良いし、I/F209に不図示のデジタルカメラを接続し、このデジタルカメラに対して(実際にはRAM202にロードされているこのデジタルカメラのドライバソフトに対して)、デジタルカメラで撮像し、自身の内部メモリに保存している画像のデータを画像処理装置のRAM202に転送する指示を送信することにより、RAM202にこの処理対象画像のデータを転送するようにしても良い。
【0026】
本実施形態では、この処理対象画像は1画素が8ビットで表現されるRGB画像であって、且つ処理対象画像のサイズはM画素×N画素(但し、Mは水平画素数、Nは垂直画素数)であるとする。また、この処理対象画像は、R(赤)の画素値のみで構成されるプレーンと、G(緑)の画素値のみで構成されるプレーンと、B(青)の画素値のみで構成されるプレーンの計3つのプレーンで構成されるものであるとするが、これに限定されるものではなく、1枚の画像であっても良い。
【0027】
また、この処理対象画像データがJPEGなどで圧縮されている場合には、CPU201はこれを伸張し、各画素がR、G、Bの各成分で表現される画像を生成する。
【0028】
次に、ステップS1でRAM202にロードされた処理対象画像のコントラストを補正する(S2)。ステップS2のコントラスト補正処理では、補正方法は特に限定されるものではないが、輝度ヒストグラムや入出力関係を表すトーンカーブを用いて前記処理対象画像のコントラストを適切に補正する方法などが例示される。
【0029】
さらに、ステップS3では画像のカラーバランスを適切に補正する。ステップS3でのカラーバランス補正処理方法は特に限定されるものではないが、例えばヒストグラムや入出力関係を表すトーンカーブを用いたカラーバランス方法などが挙げられる。
【0030】
ステップS2及びS3において、コントラストやカラーバランスが適切に補正されたにも関わらず、肌色などの所定色が好ましい色に再現されていない画像に対して、本実施例では、前記色補正手段により肌色などの所定色領域の色補正を行う。
【0031】
まず、ステップS4において肌色などの所定の色をもつ画素からなる人肌領域を抽出する。ステップS4の人肌領域抽出方法は特に限定されるものではないが、顔検出処理により検出された顔の情報を利用する方法や、任意の色相や彩度を指定する方法などが例示される。
【0032】
前記人肌領域抽出処理において、顔検出処理により検出された顔の情報を利用する方法を一例として説明する。なお、画像中の顔領域を検出する処理としては、IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLINGENCE, VOL.24, No.1, January 2002に" Detecting Faces in Images: A Survey "と題するYangらの報告に挙げられているような方式を用いて顔矩形領域が検出される。
【0033】
そして、顔検出処理により検出された両目の位置情報を取得し、両目を結ぶ線分とその線分に垂直な線分を辺とする所定の矩形領域を定める。前記矩形領域内画素のRGB値の平均値及び共分散行列を求める。このRGB平均値及び共分散行列と検出された顔矩形領域内の各画素のRGB値とのマハラノビス距離を計算し、閾値以下の画素を肌色画素とし、その集合を人肌領域とする。
【0034】
この後、前述の方法などを利用し取得した、入力画像中の人肌領域の色情報及び位置情報を利用し、肌色などの所望の色領域内での色相および彩度の補正を行う。本実施例では、肌色など所定色に対して色補正を行うために、肌色などの所定色領域の代表色、代表色を含む補正処理の対象とする色領域、前記人肌領域の入力画像における位置の情報を、後述する色補正処理において利用する。
【0035】
そのために、まず肌色などの所定色領域の代表色を求める。前記代表色は領域を代表する画素の色相および彩度で表される。よって、ステップS5ではRGB色空間の各値で表現されている前記入力画像を明度L彩度C色相Hの値に変換する。
【0036】
このように彩度C、色相Hで表された人肌領域内の画素について、領域内の代表色をステップS6の代表色抽出処理によって求める。
【0037】
ステップS6の代表色抽出処理について詳しく説明する(図4のフローチャート参照)。まず、ステップS21においてステップS4で抽出された人肌領域のデータを取得する。次に、ステップS22で画素の明度Lがある一定の値LTH以上であるかを判断する。もしステップS4で抽出された人肌領域内に目、眉、髭、あるいは陰影が含まれていると、人肌領域から抽出した補正対象とする色の代表色が適切に得られない場合がある。前記人肌領域内の陰影、あるいは目、眉、髭といった領域は補正対象とする肌色などの所定色よりも明度が低いと考えられるので、前記条件を用いることにより、前記人肌領域内の陰影、あるいは目、眉、髭といった領域の画素を除外することできる。
【0038】
ステップS22の条件を満たした画素について、ステップS23にて同画素の彩度C及び色相Hの色データを集計する。この集計方法は補正対象の代表色として何を用いるかによって変わってくるが、例えば、補正対象の代表色を人肌領域内の画素の平均値とする場合には、ステップS23の集計は、彩度C及び色相Hの単純な加算を意味する。また、同時に画素数もカウントする。この後、ステップS24で対象画素を移動させ、ステップS25で全画素について走査を終了したと判断されるまで前記集計処理を繰り返す。
【0039】
入力画像の全画素について走査が終了したと判断された場合、ステップS26で補正対象とする色の代表色を算出する。補正対象の代表色を人肌領域内画素の彩度及び色相の平均値で表す場合、ステップS26では前記集計処理での集計結果を集計画素数で除算した値(CR,HR)を代表色として設定する。このようにして求められた補正対象の色の代表色を利用して、ステップS8で色補正のための補正係数を設定する。
【0040】
次に、ステップS7において、補正対象の色毎に予め設定した補正目標色を取得する。ステップS6において抽出した補正対象とする代表色とステップS7において取得した補正目標色を用いて、ステップS8で色補正に使用する、色相と彩度の変換モデルを選択する。における補正量を制御する補正係数を求める。
【0041】
ステップS8の補正係数設定処理では、前記代表色と目標色の差に応じて補正係数を設定する。前記補正係数は後述する色補正処理において使用される、色補正量を制御する所定係数である。後述の色補正における補正量は色相と彩度毎に定めるため、補正係数も色相と彩度毎に設定する。本実施例では、色相補性係数及び彩度補正係数は前記目標色を代表色の差が大きくなるとともに減少するように設定する。さらに、彩度補正係数は、彩度を下げるように補正する場合は、彩度を上げるように補正する場合に比べ、補正量が小さくなるように設定する。
【0042】
ステップS8における補正係数設定処理について以下より詳しく説明する。
【0043】
色相補正係数PHは前記補正目標色の色相HTと前記代表色の色相HRの差Hdistが大きくなるとともに減少するように設定する。色相補正係数の設定方法の例として、式(1)ような式を用いる方法が示される。式(1)でK1およびt1は補正の強さを制御する係数とする。また、図6に式(1)を表したグラフを示す。図6において、横軸は前記補正目標色の色相HTと前記代表色の色相HRの差Hdist、縦軸は色相補正係数PHを示す。
【0044】
H(Hdist)=K1exp(−Hdist2/t1) (1)
ただし、Hdist=HT−HR
つまり、補正対象とする色の代表色相が補正目標色相に色空間での距離が近いほど代表色の色相を補正目標色の色相により近づけるような補正を行い、補正対象とする色の代表色相が補正目標色相から大きく離れている場合には、あまり補正を行わないように補正係数を設定する。このように補正係数の設定を行う理由として、補正対象とする色の代表色相が補正目標色相から大きく離れている場合に、代表色を補正目標色により近づけるような補正を行うと、入力画像全体のバランスが崩れてしまうということが挙げられる。
【0045】
同様に彩度補正係数PCは前記補正目標色の彩度値CTと前記代表色の彩度値CRの差Cdistが大きくなるとともに減少するように設定する。つまり、補正対象とする色の代表彩度が補正目標彩度に近いほど代表色の彩度を補正目標色の彩度により近づけるような補正を行い、補正対象とする色の代表彩度が補正目標彩度から大きく離れている場合には、あまり補正を行わないように補正係数を設定する。ただし、彩度補正係数は彩度を下げるように補正する場合と彩度を上げるように補正をする場合で設定方法を異なるものとする。
【0046】
彩度を下げる補正をする場合は、補正をすることで画像の印象が地味になってしまうという現象を防ぐように補正係数を設定する方が望ましく、逆に彩度を上げる補正をする場合は、補正対象とする色の代表彩度が補正目標彩度から離れていても、目標彩度に近づけるような補正を行う方が、画像の印象が良くなるという効果が期待できるからである。このような彩度補正係数の設定方法の例として、彩度を下げる補正の場合は、式(2)ような設定式を、彩度を上げる補正の場合は式(3)を用いる方法が示される。式(2)のa1,b1および式(3)のK2,t2は補正の強さを制御する係数とする。
【0047】
【数1】

また、図7に、式(2)、(3)を表したグラフを示す。図7において、横軸は前記補正目標色の彩度値CTと前記代表色の彩度値CRの差Cdist、縦軸は彩度補正係数Pcを示す。
【0048】
前記補正目標彩度と前記代表色の彩度の差が等しい場合でも、彩度を下げる補正における彩度補正係数と彩度を上げる補正における彩度補正係数の値は異なり、彩度を下げる補正における補正係数がより小さくなっていることが図7よりわかる。これは、彩度を下げるように補正する場合は彩度を上げるように補正をする場合に比べ、補正量が小さくなるようにすることを示している。
【0049】
以上のように、ステップS8において算出した色相と彩度の補正係数を、後述する色補正処理(ステップS12)において使用される色補正量を制御する係数として利用する。
【0050】
一方、ステップS10では代表色を含む補正処理の対象とする色領域を求めるために、色領域設定処理をおこなう。ここでは前記人肌領域内の画素の色相に注目する。本実施例では、補正対象とする代表色を含む色領域を設定し、その領域について色補正を行う。なぜなら、例えば入力画像の全領域に対して、肌の色を好ましい肌色にする補正を行うと、元々好ましい色であった画像中の他領域の色が不自然になってしまうといった問題があるからである。ステップS8の補正係数処理において設定される補正対象とする色領域は特定色相で示され、前記特定色相で示される補正範囲と補正対象とする色の代表色によって、色領域重みを設定し、後述する色補正処理に用いる。
【0051】
以下より、色領域設定処理(ステップS10)について、図5のフローチャートを参照し、詳しく説明する。
【0052】
まず、ステップS31においてステップS4で抽出された人肌領域のデータを取得する。次に、ステップS32で画素の明度Lが任意の明度を示すLTH以上であるかを判断する。もしステップS4で抽出された人肌領域内に目、眉、髭、あるいは陰影が含まれていると、人肌領域から抽出した補正対象とする色の代表色が適切に得られない場合がある。前記人肌領域内の陰影、あるいは目、眉、髭といった領域は補正対象とする肌色などの所定色よりも明度が低いと考えられるので、前記条件を用いることにより、前記人肌領域内の陰影、あるいは目、眉、髭といった領域の画素を除外することできる。
【0053】
ステップS32の条件を満たした画素について、さらにステップS33において、同画素の彩度Cが無彩色の彩度を示す所定の値CTH以上であるかを判断する。このとき同画素の彩度が前述の値CTH以下であるということは、同画素は無彩色に限りなく近いことを意味する。ここで無彩色領域の画素を除く理由は、無彩色領域においてはRGB値のわずかの差で色相が大きく変わり、人肌領域に対応する色相領域を高精度で求めることができなくなるためである。
【0054】
ステップS10における色領域設定処理では、色領域を特定色の色相と彩度によって設定する。
【0055】
ステップS33の条件を満たした画素について、ステップS34にて同画素の色相Hおよび彩度Cの値を集計する。この集計方法は色領域を示す特定色相および特定彩度として何を用いるかによって変わってくるが、例えば、特定色相については前記人肌領域内に存在し、ステップS32及びS33の条件を満たした画素の色相分布を解析し、最大色相Hmaxおよび最小色相Hminによって補正対象とする色領域を示す方法が例示される。この後、ステップS35で対象画素を移動させ、ステップS36で全画素について走査を終了したと判断されるまで前記集計処理を繰り返す。
【0056】
入力画像の全画素について走査が終了したと判断された場合、ステップS37で補正対象とする色領域を設定する。前記最大色相Hmaxおよび前記最小色相Hminによって補正対象とする色領域を示す場合、ステップS37では前記集計処理での集計結果である最大色相Hmaxおよび最小色相Hminを用い、式(4)に示すように色領域を設定する。ここで、式(4)のΔHは補正対象とする色領域の色相範囲を示したものである。
【0057】
ΔH=|Hmax−Hmin| (4)
同様に、彩度においてはステップS37で入力画像の全画素について走査が終了したと判断されたとき、補正対象とする色領域を最大彩度Cmaxおよび最小彩度Cminによって補正対象とする色領域を示す場合には、ステップS37で前記集計処理での集計結果である最大彩度Cmaxおよび最小彩度Cminを用いて式(5)に示すように色領域を設定する。ここで、式(5)ΔCは補正対象とする色領域の彩度範囲を示したものである。
【0058】
ΔC=|Cmax−Cmin| (5)
つまり、補正対象とする色領域はステップS4において抽出された人肌領域を包含するような、色相および彩度範囲として設定される。
【0059】
また、図5に示す前記色領域設定処理では、補正対象とする色領域を示す特定色の色相と彩度として前記人肌領域内に存在し、ステップS32及びS33の条件を満たした画素群の色相および彩度から自動的に最大色相Hmax、最小色相Hminおよび最大彩度Cmax、最小彩度Cminを導出したが、補正対象とする色領域を示す特定色相と特定彩度の設定方法はこれに限定されるものではなく、例えば任意の特定色相および彩度を手動で設定する方法なども挙げられる。この場合には、補正対象とする色領域はステップS4において抽出された人肌領域を包含するような、色相範囲および彩度範囲として設定することが望ましい。
【0060】
さらに、ステップS11の画像領域設定処理では、前記入力画像における前記人肌領域の位置情報から、後述の色補正処理に用いる画像領域重みを設定する。
【0061】
本実施例では、後述する色補正処理において、ステップS10により設定した特定色領域に対しての重みを利用して肌色などの所定の色に対してのみ色補正を行うことで、元々好ましい色であった画像中の他領域の色が不自然になる現象を回避している。しかしながら、補正対象として色領域のみを設定した場合、例えば補正入力画像において、前記人肌領域外にステップS10において設定される色領域に含まれる人肌以外の画素が存在すると、同画素は色補間の対象となってしまう。このような問題を解決する方法として、ステップS11で設定する画像領域重みを利用する。
【0062】
前記画像領域重みは、前記人肌領域内の画素を色補正対象とし、前記人肌領域に含まれない画素は色補正対象外となるように0以上1以下の値をWP(x,y)として設定する(ただし、
【0063】
【数2】

)。このとき後述の色補正処理により前記人肌領域の境界付近で色の連続性が破綻するのを防ぐように、前記画像領域重みを設定することが望ましい。
【0064】
前記画像領域重み設定方法は限定されるものではないが、前記人肌領域における重心を求め、重心からの各画素の距離に応じて重みをつける方法などが例示される。この設定方法を用いると、後述の色補正処理において、前記人肌領域の境界付近の画素は前記人肌領域の中心付近の画素に比べ補正量が小さくなり、前記人肌領域の境界付近で色の連続性が破綻するのを防ぐことができる。また、前記人肌領域にガウシアンフィルタなどによりローパス処理を行い、前記人肌領域の境界付近をぼかすことで、前記人肌領域内外での色の連続性の破綻を和らげる方法なども挙げられる。
【0065】
図8に前記画像領域重みの一例を示す。図9のように補正対象画像301内に肌色などの所定色からなる前記人肌領域302が存在したとき、人肌領域302に対してガウシアンフィルタ等によりローパス処理を行い、境界付近をぼかすと、人肌領域とそれ以外の領域の境界は点線303となり、補正対象となる前記画像領域は点線303で囲まれる領域となる。このとき、前記人肌領域内の画素を色補正対象とし、前記人肌領域に含まれない画素は色補正対象外となるように前記画像領域重みを0から1の値で設定する。図9のように画像上にx軸をとった場合、x軸での前記画像領域重みWP(x,y1)は図8のように示される。
【0066】
上述したステップS5からS11の処理で取得した、肌色などの所定色領域の代表色、代表色を含む補正処理の対象とする色領域および前記人肌領域の入力画像における位置の情報を利用し、補正対象とする画像中の各画素の色相および彩度に対して、ステップS12の色補正処理を実行し、肌色などの所定色を好ましい色に補正する。
【0067】
このとき、本実施例では補正処理後に補正画像において、補正対象となる肌色などの所定色領域とそれ以外の領域において彩度のバランスの崩れが発生し、補正画像が不自然になるのを防ぐために、前記補正範囲の彩度の変換量に準じて、前記補正対象とする領域以外の領域の彩度を変換するような彩度重みを設定する。ここで、彩度バランスの崩れにより生成される不自然な画像とは例えば、補正対象画像中の人物の肌色を補正対象領域とした場合、人肌領域内の画素の色相と彩度のみを変換すると、人物の顔領域内に含まれる唇領域などの色が褪せたように(あるいは鮮やかになったように)見える画像のことである。このように、補正処理後に補正対象画像において肌色などの所定色の領域とそれ以外の領域での色のバランスが崩れ不自然になってしまう理由の一つとして、補正処理を行う人肌領域と補正処理を行わない領域での彩度が逆転してしまうことが上げられる。そこで、本実施例では前記補正範囲の彩度の変換量に準じて、前記補正対象とする領域以外の領域の彩度を変換するような彩度重みを導入する。
【0068】
以下、本実施例として補正処理後の彩度バランスの崩れを防ぐために設定する彩度重みを利用した色補正処理について説明する。なお、本実施例ではステップS12の色補正処理において、前記補正対象の代表色の彩度が前記補正目標色の彩度より高いとき、つまり彩度を下げる補正処理を行う場合と、前記補正対象の代表色の彩度が前記補正目標色の彩度より低いとき、つまり彩度を上げる補正処理を行う場合とで、2種類の変換処理を使い分ける。
【0069】
ステップS11において、前記補正対象の代表色の彩度CRが前記補正目標色の彩度CTより高いと判定した場合には、ステップS12において行う彩度を下げる補正を行う。なお、後述では、この彩度を下げる場合に利用する処理を補正処理(1)とよぶこととする。
【0070】
まず、前記補正範囲内の画素の彩度を下げる場合に利用する処理である補正処理(1)とその場合の前記彩度重みの設定手段について説明する。
【0071】
補正処理(1)では、式(6)を使用して前記補正対象領域の画素の色相を補正する。まず、補正対象の代表色における色相補正量DHを算出する。補正対象とする色の代表色における色相補正量は補正対象目標色相HTと補正対象とする色の代表色相HRの差およびステップS8の補正係数設定処理において設定された前記色相補正係数PHの積で表される(式(7))。次に、前記色相補正量DHに色相領域の重みWH(色相重み)とステップS11の画像領域設定処理において設定した画像領域重みWPをかけた分だけ、入力画像内の画素の色相を補正する。ただし、式(6)においてHは前記色補正処理前の補正対象画素の色相、H′は前記色補正処理後の補正対象画素の色相を示す。
【0072】
H′=H+WP・WH・DH (6)
H=PH(HT−HR) (7)
ここで、式(6)における色相重みWHは、図10のように、ステップS10で求めた前記補正色相範囲ΔHおよび前記補正彩度範囲ΔCで指定される部分色領域401内の画素の色相のみを変換するために、図11のように設定する。つまり、補正対象とする画素の色相重みWHは、補正対象とする代表色および、前記補正範囲内では1、補正範囲外では0となる。
【0073】
また、前記補正処理(1)では、式(8)を使用して前記補正範囲内の画素の彩度を補正する。前記彩度補正処理ではステップS8の補正係数設定処理で得られた彩度補正係数PCから代表色における彩度補正率KCを算出し、前記彩度補正率KCにステップS10の色領域設定処理において設定した彩度領域の重みWCとステップS11の画像領域設定処理において設定した画像領域重みWPから式(10)により決定する重みWおよび前記色補正処理前の補正対象画素の彩度Cをかけた分だけ、入力画像内の画素の彩度を補正する。前記彩度補正率KCは式(9)のように、前記補正目標彩度CTおよび補正対象の代表彩度CRの差と前記補正代表彩度CRの比と前記補正彩度係数PCの積で表される。
【0074】
ただし、式(8)でC′は前記色補正処理後の補正対象画素の彩度を示す。
【0075】
【数3】

ここで、式(10)における彩度重みWCは、図12のように、ステップS10で求めた前記補正色相範囲ΔHおよび前記補正彩度範囲ΔCで指定される部分色領域501内の画素の彩度の変化量に準じて、部分色領域以外の領域502の画素の彩度をあげるために使用する。彩度重みWCは図13のように補正対象とする代表色および、前記補正範囲内では1、補正範囲外では
【0076】
【数4】

の値をとる。この彩度重みを利用することで、肌色などの所定色領域とそれ以外の領域の補正処理後の彩度バランスの崩れによる、補正画像の不自然さを軽減することが出来る。
【0077】
また、式(8)の彩度補正処理において使用する重みWは、上述の方法により指定した彩度重みWCおよびステップS11において設定した画像領域重みWPの大小関係により式(10)のように設定する。設定例を図14に示す。なお、図14で画像領域重みWPは図8で設定したものを使用している。図14のように重みWを設定するのは、前記画像領域の境界での彩度の逆転が生じることを防ぐためである。
【0078】
次に、前記補正範囲内の画素の彩度を上げる補正において利用する処理である補正処理(2)について説明する。
【0079】
前記補正処理(2)では、色相を補正するために、まず色相を回転するモデル使用する。さらに、補正範囲内の画素の色相を回転した後、CIELAB表現のa*b*色度値をa*b*平面において平行移動することで彩度補正を行う。
【0080】
まず、ステップS8の補正係数設定処理により得られた、前記色相補正係数PHおよび前記彩度補正係数PCから、前記補正対象の代表色における色相補正量DHおよび彩度補正率KCを式(11)、(12)より求める。前記色相補正量DHは補正対象目標色相HTと補正対象とする色の代表色相HRの差およびステップS8の補正係数設定処理において設定された前記色相補正係数PHの積で表される。また、補正対象とする色の代表色における彩度補正率KCは補正対象目標彩度CTと補正対象とする色の代表彩度CRの差およびステップS8の補正係数設定処理において設定された前記彩度補正係数PCの積に補正対象とする色の代表彩度CRを足し合わせたものとする。
【0081】
【数5】

式(11)より算出した前記色相補正量DHを使用して前記補正範囲の画素の色相を式(13)を用いて補正する。なお、式(13)において、Hは変換前の画素の色相、H′は変換後の色相を表す。この時、前記補正範囲の画素の彩度は変換せず、以後の平行移動によって変換する。
【0082】
H′=H+WP・WH・DH (13)
ここで、式(13)における色相重みWHは、図10のように、ステップS10で求めた前記補正色相範囲ΔHおよび前記補正彩度範囲ΔCで指定される部分色領域401内の画素の色相のみを変換するために、図11のように設定する。つまり、補正対象とする画素の色相重みWHは、補正対象とする代表色および、前記補正範囲内では1、補正範囲外では0となる。
【0083】
一方、前記補正対象領域以外の領域の画素の彩度は式(14)によって変換する。このため式(14)における重みW′を式(15)のように設定する。ここで、式(15)における彩度重みW′Cは、図15のように、ステップS10で求めた前記補正色相範囲ΔHおよび前記補正彩度範囲ΔCで指定される部分色領域601内の画素の彩度の変化量に準じて、部分色領域以外の領域602の画素の彩度をあげるために使用する。この補正処理(2)では前記補正対象とする所定の色領域において、まず色相のみを補正することが前提であるため、彩度重みW′Cは図16のように補正対象とする代表色および、前記補正範囲内では0、補正範囲外では
【0084】
【数6】

の値をとる。よって、前記補正対象領域以外の領域の画素の彩度を変換する式(14)におけ重みW′は、上述の方法により指定した彩度重みW′CおよびステップS11において設定した画像領域重みWPの大小関係により式(15)のように設定される。設定例を図17に示す。なお、図17で画像領域重みWPは図8で設定したものを使用している。図17のように重みW′を設定するのは、前記画像領域の境界での彩度の逆転が生じることを防ぎ、前記補正対象領域以外の領域の画素の彩度のみを変換することが出来る。
【0085】
【数7】

次に、色素回転後の補正対象の代表色の色相H′R、色度値(a′R*,b′R*)を式(16)(17)(18)により算出する。
【0086】
H′R=HR+DH (16)
a′R*=CR・cos(H′R) (17)
b′R*=CR・cos(H′R) (18)
さらに、a*−b*平面での平行移動における画素の移動量(Δa*,Δb*)を式(19)および式(20)より求める。
【0087】
【数8】

ここで、式(21)における重みW″は、上述の方法により指定した彩度重みW′CおよびステップS11において設定した画像領域重みWPの大小関係により設定する。設定例を図18に示す。なお、図18で画像領域重みWPは図8で設定したものを使用している。図18のように重みW″を設定することで、前記画像領域の境界での彩度の逆転が生じることを防ぎ、さらに、前記補正範囲とそれ以外の領域の彩度の逆転によって生じる画像の不自然さを軽減することが可能となる。
【0088】
最後に、式(22)(23)を前記補正範囲内の画素について適用し、移動量分だけ平行移動を行い補正を行い、式(24)および式(25)から補正処理後の前記補正範囲内の画素の色相と彩度を算出する。なお、式(22)(23)で(a1*,b1*)は変換前の画素の色度値、(a2*,b2*)は変換後の画素の色度値を、式(24)(25)においてH″,C″は補正処理後の画素の色相、彩度を表す。
【0089】
【数9】

なお、ステップS12において使用する色補正処理は前述した2つの処理に限らない。しかしながら、色補正処理後に肌色などの所定色領域とそれ以外の領域の彩度バランスの崩れによる、補正画像の不自然さが発生しないような彩度重みを設定する補正処理を行うことが望ましい。
【0090】
最後に、ステップS13、S14の処理が実行され、彩度および色相が補正された画像がRGB色空間のものに変換され出力される。
【0091】
(他の実施例)
本実施例では人物の肌色を好ましく補正する場合について説明したが、他の記憶色である空の青、草木の緑などを好ましく補正する場合についても適用できることは言うまでもない。
【0092】
また、本実施例ではデジタルカメラで撮影した画像をコンピュータで処理する場合について説明したが、写真などをスキャナで入力した画像について本実施例を適用してもよい。また、本実施例をデジタルカメラ、スキャナ、ディスプレイ、プリンタなどのカラー画像機器本体に適用してもよい。
【0093】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行してもよい。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになる。
【0094】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0095】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0096】
本実施例を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0097】
【図1】本実施例に係る画像処理装置として機能するコンピュータの機能構成を示すブロック図である。
【図2】本実施例に係る画像処理装置の基本構成を示す図である。
【図3】図1に示した画像処理装置により行われる処理のフローチャートである。
【図4】図3に示した代表色抽出処理のフローチャートである。
【図5】図3に示した色領域設定処理のフローチャートである。
【図6】本実施例に係る色相補正係数を説明する図である。
【図7】本実施例に係る彩度補正係数を説明する図である。
【図8】本実施例に係る画像領域重みの設定例である。
【図9】本実施例に係る補正対象画像における、人肌領域を説明する図である
【図10】本実施例に係る色相および彩度の補正範囲と、補正処理(1)における色相領域重みを説明する図である。
【図11】本実施例に係る補正処理(1)における色相領域重みの設定例である。
【図12】本実施例に係る色相および彩度の補正範囲と、補正処理(1)における彩度領域重みを説明する図である。
【図13】本実施例に係る補正処理(1)における彩度領域重みの設定例である。
【図14】本実施例に係る補正処理(1)において使用する補正重みWの設定例である。
【図15】本実施例に係る色相および彩度の補正範囲と、補正処理(2)における彩度領域重みを説明する図である。
【図16】本実施例に係る補正処理(2)における彩度領域重みの設定例である。
【図17】本実施例に係る補正処理(2)において使用する補正重みW′の設定例である。
【図18】本実施例に係る補正処理(2)において使用する補正重みW″の設定例である。

【特許請求の範囲】
【請求項1】
画像中の所定色領域の色補正を行う画像処理装置であって、
前記画像の補正対象とする色を代表色として抽出する代表色抽出手段と、
前記画像の補正対象とする色の補正目標色を記憶する目標色記憶手段と、
前記画像の補正対象とする代表色を含む色領域を設定する色領域設定手段と、
前記画像の補正対象とする位置領域を設定する位置領域設定手段と、
前記代表色抽出手段で抽出された代表色と前記目標色記憶手段に記憶された目標色との差に基づき、前記位置領域設定手段で設定された色領域内であり、かつ前記画像の前記色領域設定手段で設定された色領域内である色を補正すると共に、前記色領域内の色の彩度変換量に応じて、前記位置設定手段で設定された位置領域外近傍の彩度を変換する色補正手段を有することを特徴とする画像処理装置。
【請求項2】
前記色補正手段において、前記色領域によって決まる彩度補正量と、前記位置領域によって決まる彩度補正量のうち大きい補正量に基づいて、彩度を補正することを特徴とする請求項1の画像処理装置。
【請求項3】
前記色補正手段において、補正処理前後で補正対象領域とそれ以外の領域の彩度が逆転しないようにすることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
画像中の所定色領域の色補正を行う画像処理方法であって、
前記画像の補正対象とする色を代表色として抽出する代表色抽出ステップと、
前記画像の補正対象とする色の補正目標色を記憶する目標色記憶ステップと、
前記画像の補正対象とする代表色を含む色領域を設定する色領域設定ステップと、
前記画像の補正対象とする位置領域を設定する位置領域設定ステップと、
前記代表色抽出手段で抽出された代表色と前記目標色記憶手段に記憶された目標色との差に基づき、前記位置領域設定ステップで設定された色領域内であり、かつ前記画像の前記色領域設定ステップで設定された色領域内である色を補正すると共に、前記色領域内の色の彩度変換量に応じて、前記位置設定ステップで設定された位置領域外近傍の彩度を変換する色補正ステップを有することを特徴とする画像処理方法。
【請求項5】
前記色補正ステップにおいて、前記色領域によって決まる彩度補正量と、前記位置領域によって決まる彩度補正量のうち大きい補正量に基づいて、彩度を補正することを特徴とする請求項4の画像処理方法。
【請求項6】
前記色補正ステップにおいて、補正処理前後で補正対象領域とそれ以外の領域の彩度が逆転しないようにすることを特徴とする請求項4に記載の画像処理方法。
【請求項7】
請求項4から請求項6のいずれかに記載の画像処理方法を実行するプログラムを記録した記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2006−203431(P2006−203431A)
【公開日】平成18年8月3日(2006.8.3)
【国際特許分類】
【出願番号】特願2005−11553(P2005−11553)
【出願日】平成17年1月19日(2005.1.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】