(57)【特許請求の範囲】
【請求項１】
目標色を取得し、
入力画像から代表色を抽出し、
前記代表色の色相と前記目標色の色相の差に基づき色相を補正するための色相補正係数を設定し、前記代表色の彩度と前記目標色の彩度の差に基づき彩度を補正するための彩度補正係数を設定し、
前記色相補正係数および前記彩度補正係数を用いて前記入力画像に対して色相補正および彩度補正を行う各ステップを有し、
前記彩度補正係数は、前記目標色の彩度が前記代表色の彩度未満の場合は前記入力画像の彩度を上げるように設定され、前記目標色の彩度が前記代表色の彩度以上の場合は前記入力画像の彩度を下げるように設定され、かつ、前記目標色の彩度と前記代表色の彩度の差が等しい場合に、前記彩度を下げる彩度補正の補正量が、前記彩度を上げる彩度補正の補正量に比べて小さくなるように設定されることを特徴とする画像処理方法。
【請求項２】
さらに、注目画素の色と前記目標色から、色相および彩度の重みを求め、
前記色相補正係数、前記彩度補正係数、並びに、前記色相および前記彩度の重みを用いて、前記注目画素に対して前記色相補正および前記彩度補正を行うことを特徴とする請求項1に記載された画像処理方法。
【請求項３】
前記代表色の抽出は、前記入力画像から顔領域を抽出し、前記顔領域内の画素から前記代表色を抽出することを特徴とする請求項1または請求項2に記載された画像処理方法。
【請求項４】
前記色相補正は、前記代表色の色相が前記目標色の色相に近いほど前記代表色の色相を前記目標色の色相に近付けるように前記入力画像の色相を補正することを特徴とする請求項1から請求項3の何れか一項に記載された画像処理方法。
【請求項５】
目標色を取得する取得手段と、
入力画像から代表色を抽出する抽出手段と、
前記代表色の色相と前記目標色の色相の差に基づき色相を補正するための色相補正係数を設定し、前記代表色の彩度と前記目標色の彩度の差に基づき彩度を補正するための彩度補正係数を設定する設定手段と、
前記色相補正係数および前記彩度補正係数を用いて前記入力画像に対して色相補正および彩度補正を行う補正手段とを有し、
前記設定手段は、前記目標色の彩度が前記代表色の彩度未満の場合は前記入力画像の彩度を上げるように前記彩度補正係数を設定し、前記目標色の彩度が前記代表色の彩度以上の場合は前記入力画像の彩度を下げるように前記彩度補正係数を設定し、かつ、前記目標色の彩度と前記代表色の彩度の差が等しい場合に、前記彩度を下げる彩度補正の補正量が、前記彩度を上げる彩度補正の補正量に比べて小さくなるように前記彩度補正係数を設定することを特徴とする画像処理装置。
【請求項６】
コンピュータ装置を制御して、請求項1から請求項4の何れか一項に記載された画像処理を実行することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像の色領域の色補正に関する。
【背景技術】
【０００２】
カラー画像機器の色再現においては、元の色を忠実に再現することが要求される。一方、人間が好ましいと感じる色再現も重要で、特に、肌色、空の青、草木の緑などは、人間が好ましいと感じる色再現が要求される。そのため、例えばディジタルカメラで被写体を撮影し、ディジタル画像データとして記録する場合、適正な明るさの画像が得られうように、撮影時に露出を制御するとともに、イメージセンサから出力されるカラー画像データのカラーバランス、色相、彩度および階調を補正する。
【０００３】
しかし、これら色変換に関する処理は、画像全体の明るさや色を補正するものであり、補正したい色を個別に補正することはできない。このため、補正したい色を目標色に補正すると別の色に影響が及び、画像全体としては、必ずしも好ましい色に補正されるわけではない。例えば、日陰にいる人物を撮影する場合、その肌の明るさを目標の明るさまで明るくすれば、元々好ましい明るさである他の領域が過剰に明るくなる。また、部分的な照明の影響で肌色が青味を帯びたり、逆に黄色すぎる場合、肌色を好ましい色に補正すれば、元々好ましい色である他の領域の色が不自然になる。
【０００４】
このような問題を解決するため、例えば、小寺「ハードコピーのための画像信号処理」テレビジョン学会誌 Vol.43、No.11 (1989)、pp.1205-1212に、選択的色調整のモデルが紹介されている。これは、色補正を行う色領域を指定し、指定した色領域内の色相および彩度を好ましい方向へと補正するものである。
【０００５】
上記の文献によれば色相補正量、彩度倍率を用いて知覚的に色の調整を行うとしているが、色相補正量、彩度倍率をどのように定めるかは具体的に示されていない。仮に、色相補正量、彩度倍率を適当な値に設定して色の調整を行うと、補正量が強すぎて画像が不自然になったり、補正量が弱すぎて期待した効果が得られない。また、補正結果の画像をディスプレイに表示したり、プリンタで印刷して確認し、知覚的に調整しながら最適な色相補正量、彩度倍率を探索するという方法は、調整に専門的な経験が必要であったり、膨大な回数の試行が必要になる。
【０００６】
画像全体の明るさや色の変換では補正しきれない画像に対して、所望の色領域内の色相および彩度の補正を簡単かつ効果的に行うことが望まれる。
【０００７】
【非特許文献１】小寺「ハードコピーのための画像信号処理」テレビジョン学会誌 Vol.43、No.11 (1989)、pp.1205-1212
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、画像全体の明るさや色の変換では補正しきれない画像に対する色相および彩度補正を目的とする。
【課題を解決するための手段】
【００１０】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１１】
本発明にかかる画像処理は、目標色を取得し、入力画像から代表色を抽出し、前記代表色の色相と前記目標色の色相の差に基づき色相を補正するための色相補正係数を設定し、前記代表色の彩度と前記目標色の彩度の差に基づき彩度を補正するための彩度補正係数を設定し、前記色相補正係数および前記彩度補正係数を用いて前記入力画像に対して色相補正および彩度補正を行い、前記彩度補正係数は、前記目標色の彩度が前記代表色の彩度未満の場合は前記入力画像の彩度を上げるように設定され、前記目標色の彩度が前記代表色の彩度以上の場合は前記入力画像の彩度を下げるように設定され、かつ、前記目標色の彩度と前記代表色の彩度の差が等しい場合に、前記彩度を下げる彩度補正の補正量が、前記彩度を上げる彩度補正の補正量に比べて小さくなるように設定されることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、画像全体の明るさや色の変換では補正しきれない画像について、色相および彩度を適切に補正するとともに、彩度を効果的に補正することができる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照して、本発明の好適な実施例を詳細に説明する。
【実施例１】
【００１８】
実施例の画像処理装置はパーソナルコンピュータ(PC)やワークステーション(WS)などのコンピュータにより構成され、ディジタルカメラやスキャナからの入力、インターネットからのダウンロード、CD-ROMやDVD-ROMなどの記憶媒体からの読み込みなどにより入力される画像において、所定の色領域または被写体領域を検出し、適切な補正を行うものである。以下では、このような処理を行う実施例の画像処理装置について、より詳細に説明する。とくに、実施例では、ディジタルカメラで撮影した画像から所定の色領域（例えば人肌領域）や所定の被写体領域（人の顔領域）を検出し、適切な補正を行う例を説明する。
【００１９】
［構成］
図1は実施例の画像処理装置の基本構成を示すブロック図である。
【００２０】
CPU 201は、RAM 202やROM 203に格納されているプログラムやデータを用いて、装置全体の制御を行うとともに、後述する各種処理を実行する。
【００２１】
RAM 202は、ハードディスクなどの外部記憶装置207や記憶媒体ドライブ装置208に装着された記憶媒体から読み込んだプログラムやデータを一時的に記憶するためのエリアを備えるとともに、CPU 201が各種処理を実行するためのワークエリアも備える。また、ROM 203には、ブートプログラムや装置の設定データなどが格納されている。
【００２２】
キーボード204、マウス205はそれぞれ、ユーザがCPU 201に各種指示や情報を入力するための入力デバイスである。表示部206は、CRTや液晶画面などにより構成され、CPU 201により、グラフィックユーザインタフェイスや、処理結果を示す文字や画像などが表示される。
【００２３】
外部記憶装置207は、ハードディスクドライブ装置などの大容量記憶装置で、ここにはオペレーティングシステム(OS)や、後述する各種処理をCPU 201に実行させるためのプログラムやデータが格納されている。外部記憶装置207に格納されたプログラムやデータは、必要に応じて、CPU 201の制御により読み出されRAM 202に格納される。
【００２４】
記憶媒体ドライブ装置208に装着されたCD-ROMやDVD-ROMなどの記憶媒体に記録されたプログラムやデータは、必要に応じて、CPU 201の制御により読み出されRAM 202や外部記憶装置207に格納される。なお、外部記憶装置207に記憶されているプログラムやデータの一部を記憶媒体に記録しておいてもよい。それらプログラムやデータを使用する場合、CPU 201は、それらプログラムやデータを記憶媒体ドライブ装置208に読み出させ、RAM 202に格納する。
【００２５】
インタフェイス(I/F) 209は、ディジタルカメラやプリンタなどを接続するUSB (Universal Serial Bus)やIEEE1394などのシリアルバスインタフェイスや、インターネットやLANなどのネットワーク回線を接続するネットワークインタフェイスを備える。
【００２６】
上記の各構成は、システムバス210によって相互に接続されている。
【００２７】
［機能構成］
図2は画像処理装置の機能構成を示すブロック図である。
【００２８】
画像入力部10は、I/F 209に接続されたディジタルカメラなどから処理対象の画像データを入力する。勿論、処理対象の画像データ（以下「入力画像」と呼ぶ）は、外部記憶装置207、記憶媒体、あるいは、ネットワーク上のサーバ装置から入力してもよい。なお、入力画像の中には、被写体として人の顔が写っていることにする。
【００２９】
画像補正部20は、入力画像のコントラストやカラーバランスなどを調整するが、その調整の方法は限定されず、例えば、ヒストグラムやトーンカーブを利用した調整方法などが好適に例示される。画像補正部20による調整にも関わらず、肌色などの所定の色が好ましい色に再現されない画像は、後述する色補正により、所定の色領域の色補正を行うことになる。なお、以下では、所定の色領域として肌色を示す人肌領域を代表例に説明するが、人間が好ましいと感じる色再現に関係する、空の青、草木の緑、夕日の赤、海の青などの色領域にも適用することができる。
【００３０】
所定色領域抽出部30は、画像補正部20によって補正された画像から、補正を行う所定色領域を抽出するが、その抽出方法は限定されず、例えば、顔検出部により検出された顔の情報を利用する方法や、任意の色相や彩度を指定する方法などが例示される。
【００３１】
代表色抽出部40は、所定色領域抽出部30が抽出した所定色領域の色情報から、補正対象とする色を代表色として抽出する。補正対象の代表色は、例えば、所定色領域内の画素の色相および彩度の平均値や中央値、あるいは、最頻値などである。目標色メモリ50は、所定色領域の色に対応する補正目標色を、所定色領域ごとにに記憶する。
【００３２】
補正係数設定部60は、目標色メモリ50に記憶された補正目標色、並びに、代表色抽出部40が抽出した代表色から、色補正部90が用いる補正係数を設定する。色領域設定部70は、所定色領域抽出部30が抽出した所定色領域の色情報から、代表色を含む、色補正部90の補正対象の色領域を設定する。画像領域設定部80は、所定色領域抽出部30が抽出した所定色領域の、入力画像における位置の情報を用いて、色補正部90が補正を行う際の、画像領域の位置による重みを設定する。
【００３３】
色補正部90は、色領域設定部70が設定した補正対象の色領域を、画像領域設定部80が設定した画像領域の位置による重み、および、補正係数設定部60が設定した補正係数を用いて色補正する。色補正された画像は、画像出力部100により、例えばプリンタ、外部記憶装置207、または、ネットワーク上のサーバ装置へ出力される。あるいは、色補正した画像を、原画像を入力したディジタルカメラに戻し、その記憶媒体に新たに格納または上書きしてもよい。
【００３４】
［処理の手順］
図3はCPU 201が実行する画像補正処理を示すフローチャートである。
【００３５】
まず、入力画像をRAM 202にロードする(S1)。ロードの形態は限定されるものではないが、例えば、ユーザがキーボード204やマウス205を用いて、外部記憶装置207、記憶媒体またはサーバ装置に保存された処理対象の画像データのファイル名を指定することで、CPU 201にロードを指示してもよいし、あるいは、ユーザがI/F 209にディジタルカメラ（またはスキャナ）を接続し、キーボード204やマウス205を用いてディジタルカメラ（またはスキャナ、実際にはRAM 202にロードされている、それらデバイス用のドライバソフトウェア）に、ディジタルカメラの内部メモリに保存された（またはスキャナで読み取った）画像のデータをRAM 202に転送するよう指示することで、処理対象の画像データをRAM 202にロードしてもよい。
【００３６】
処理対象の画像データは一画素の各チャネルが8ビットで表現されるRGB画像で、かつ、その画像サイズはM×N画素（Mは横方向の画素数、Nは縦方向の画素数）である。また、処理対象の画像データは、R（赤）の画素値のみで構成されるプレーン、G（緑）の画素値のみで構成されるプレーン、および、B（青）の画素値のみで構成されるプレーンの合計三つのプレーンで構成されるが、これに限定されるものではなく、一つのプレーンで構成されるようなカラー画像であってもよい。さらに、処理対象の画像データがJPEG圧縮などされている場合、CPU 201は、画像データを伸長し、各画素がR、G、Bの色成分で表現される画像を生成する。
【００３７】
次に、RAM 202にロードした入力画像のコントラストを補正する(S2)。このコントラスト補正処理の補正方法は限定されないが、輝度ヒストグラムや入出力関係を表すトーンカーブを用いてコントラストを適切に補正する方法などが例示される。続いて、入力画像のカラーバランスを適切に補正する(S3)。このカラーバランス補正方法は限定されないが、例えばヒストグラムや入出力関係を表すトーンカーブを用いたカラーバランス方法などが挙げられる。
【００３８】
次に、補正後の画像を表示部206などのモニタに表示し(S4)、肌色などの所定色が好ましい色に再現されているか否かのユーザの判断を待つ(S5)。ユーザが好ましい色に再現されている旨を入力した場合、補正後の画像を、例えばプリンタ、外部記憶装置207、または、ネットワーク上のサーバ装置などへ出力する(S7)。また、ユーザが好ましい色に再現されていない旨を入力した場合は、前述した色補正部90による所定色領域の色補正処理(S6)を行った後、補正後の画像を出力する(S7)。
【００３９】
● 所定色領域の色補正処理(S6)
図4はCPU 201が実行する所定色領域の色補正処理(S6)を示すフローチャートである。
【００４０】
まず、所定色領域を抽出する(S11)。この抽出方法は限定されないが、人肌領域であれば顔検出処理により検出した顔の情報を利用する方法や、任意の色相や彩度を指定する方法などが例示される。
【００４１】
顔検出結果の顔の情報を利用する方法を一例として説明する。画像中の顔領域を検出する処理としては、Yang, et al.「Detecting Faces in Images: A Survey」 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL.24, No.1, January 2002に挙げられているような方式を用いて顔矩形領域を検出すればよい。そして、検出した両目の位置情報を取得し、両目を結ぶ線分とその線分に垂直な線分を辺とする所定の矩形領域を定め、その矩形領域内の画素のRGB値の平均値および共分散行列を求める。このRGB平均値および共分散行列、並びに、検出された顔矩形領域内の各画素のRGB値のマハラノビス距離を計算し、閾値以下の画素を肌色画素とし、その集合を人肌領域とする。
【００４２】
そして、抽出した所定色領域にはラベリングを施す。つまり、所定色領域に属す画素にはラベル番号（例えば、所定色領域外は「0」、j番目の所定色領域は「j」がラベル番号になる）を付与する。なお、ラベル番号は入力画像の画素位置に対応させてRAM 202に格納する。
【００４３】
次に、RGB色空間の各値で表現されている入力画像を、LCH色空間（明度L、彩度C、色相H）に変換し(S12)、所定色領域の代表色（所定色領域を代表する画素の色相および彩度）の抽出(S13)、代表色を含む補正対象の色領域の設定(S16)、入力画像における、所定色領域の位置情報の設定(S17)を行う。
【００４４】
図5は代表色の抽出を示すフローチャートである。
【００４５】
まず、入力画像から注目画素を取得し(S41)、注目画素に対するラベル番号を参照して、注目画素が所定色領域の画素か否かを判定し(S42)、注目画素が所定色領域の画素であれば、注目画素の明度Lが閾値Lth以上か否かを判定する(S43)。例えば、人肌領域の場合、抽出した領域に目、眉、髭または陰影が含まれると代表色が適切に得られない場合がある。そこでステップS42およびS43の判定により、補正対象の肌色よりも明度が低いと考えられる陰影、目、眉または髭といった領域を構成する画素を除外する。
【００４６】
次に、ステップS42およびS43の条件を満たす注目画素について、その画素の彩度Cおよび色相Hを集計する(S44)。この集計方法は、代表色として何を採用するかによって変わるが、例えば代表色を画素の平均値とする場合は、彩度Cおよび色相Hを単純に加算し、加算値を集計した画素数をカウントする。
【００４７】
次に、注目画素を移動し(S45)、入力画像の全画素を調べたか否かを判定し(S46)、全画素を調べるまでステップS41からS45の処理を繰り返す。そして、入力画像の全画素について調査が終了すると、代表色を設定する(S47)。代表色を所定色領域内の画素の彩度Cおよび色相Hの平均値とする場合、ステップS44の加算結果をカウント値で除算した値CrおよびHrを代表色に設定する。
【００４８】
次に、図4に示す処理に戻り、目標色メモリ50から目標色のデータを取得し(S14)、代表色と目標色の差から色補正における補正量を制御する補正係数を設定する(S15)。色補正における補正量は色相Hと彩度Cごとに定めるため、補正係数も色相Hと彩度Cごとに色相補性係数Phおよび彩度補正係数Pcとして設定する。
【００４９】
色相補正係数Phは、例えば式(1)に示すように、補正目標色の色相Htと代表色の色相Hrの差が大きくなると、減少するように設定する。
Ph(Hdist) = K1・exp(-Hdist2/t1)      …(1)
ここで、K1、t1は定数
Hdist = |Ht - Hr|
【００５０】
つまり、補正対象の色の代表色の色相Hrが目標色の色相Htに近いほど、代表色の色相Hrを目標色の色相Htにより近付けるような補正を行い、代表色の色相Hrが目標色の色相Htから大きく離れている場合は、あまり補正を行わないように補正係数Phを設定する。このように補正係数を設定する理由として、補正対象とする色の代表色の色相Hrが目標色の色相Htから大きく離れている場合、代表色を目標色により近付けるような補正を行うと、入力画像全体のカラーバランスが崩れてしまうからである。
【００５１】
同様に、彩度補正係数Pcは、目標色の彩度Ctと代表色の彩度Crの差が大きくなると、減少するように設定する。つまり、補正対象とする色の代表色の彩度Crが目標色の彩度Ctに近いほど代表色の彩度Crを目標色の彩度Ctにより近付けるような補正を行い、代表色の彩度Crが目標色の彩度Ctから大きく離れている場合は、あまり補正を行わないように補正係数Pcを設定する。ただし、彩度補正係数Pcは、彩度を下げるように補正する場合と、彩度を上げるように補正をする場合とで設定方法が異なる。これは、彩度を下げる場合、補正により画像の印象が地味になる現象を防ぐように補正係数を設定する方が望ましく、逆に、彩度を上げる場合は、補正対象とする色の代表色の彩度Crが、目標色の彩度Ctから離れていても、目標色の彩度Ctに近付けるような補正を行う方が画像の印象がよくなる効果が期待できるからである。このような彩度補正係数Pcの設定方法として、例えば、彩度を上げる場合は式(2)、彩度を下げる場合は式(3)を用いる。
Ct ＜ Crの場合  Pc(Cdist) = -a1・Cdist2 + b1      …(2)
Ct ≧ Crの場合  Pc(Cdist) = K2・exp(-Cdist2/t2)    …(3)
ここで、a1、b1、K2、t2は定数
Cdist = |Ct - Cr|
【００５２】
図6は式(2)(3)を示すグラフで、横軸は目標色の彩度Ctと代表色の彩度Crの差、縦軸は彩度補正係数Pcを示す。図6に示すように、彩度を下げる補正における彩度補正係数（実線）と、彩度を上げる補正における彩度補正係数（点線）の値は、彩度の差が等しくても、図にC1で示すように異なり、彩度を下げる補正における彩度補正係数（実線）がより小さいことがわかる。これは、彩度を下げるように補正する場合、彩度を上げるように補正する場合に比べて補正量が小さくなることを示す。
【００５３】
図7は補正対象の色領域の設定処理(S16)を示すフローチャートである。
【００５４】
色領域の設定では、所定色領域内の画素の色相に注目し、補正対象とする代表色を含む色領域を設定し、その領域を色補正の対象領域にする。これは、入力画像の全領域に対して、例えば人肌を好ましい肌色にする補正を行えば、元々好ましい色であった画像中の他の領域の色が不自然になってしまう問題を防ぐためである。
【００５５】
まず、入力画像から注目画素を取得し(S31)、注目画素が所定色領域の画素か否かを判定し(S32)、注目画素が所定色領域の画素であれば、注目画素の明度Ltが閾値Lth以上か否かを判定する(S33)。ステップS32およびS33の判定は、代表色の抽出と同様に、例えば、人肌領域の場合、抽出した領域に含まれる目、眉、髭または陰影といった領域を構成する画素を除外するためである。
【００５６】
次に、ステップS32およびS33の条件を満たす画素について、その画素の彩度Cが無彩色の彩度閾値Cth以上であるか否かを判定する(S34)。注目画素の彩度Cが閾値Cth未満であるということは、注目画素が無彩色に限りなく近いことを意味する。ここで無彩色画素を除く理由は、無彩色領域においてはRGB値の僅かな差で色相が大きく変わり、所定色領域に対応する色相領域を高精度に決めることができなくなる問題を防ぐためである。
【００５７】
次に、ステップS32からS34の条件を満たす注目画素について、その画素の色相Hを集計する(S35)。この集計方法は、所定色領域を示す特定色相として何を採用するかによって変わるが、例えば、ステップS32からS34の条件を満たす画素の色相分布を解析し、最大色相Hmaxおよび最小色相Hminによって補正対象の色領域を示す方法が例示される。
【００５８】
次に、注目画素を移動し(S36)、入力画像の全画素を調べたか否かを判定し(S37)、全画素を調べるまでステップS31からS36の処理を繰り返す。そして、入力画像の全画素について調査が終了すると、補正対象の色領域を設定する(S38)。前述した最大色相Hmaxおよび最小色相Hminによって補正対象の色領域を示す場合、例えば式(4)に示すように、集計結果である最大色相および最小色相を用いて、代表色相Hrとの差から補正対象とする色領域を設定する。
ΔH = max(|Hmax - Hr|, |Hmin - Hr|)      …(4)
ここで、関数max()は括弧の中で最大のものを選択する関数
【００５９】
つまり、補正対象の色領域は、図4に示すステップS11において抽出される所定色領域を包含するような色相範囲として設定される。
【００６０】
なお、ステップS32からS34の条件を満たす画素群の色相分布から、最大色相Hmaxおよび最小色相Hminを自動的に導出する例を示した。しかし、補正対象の色領域を示す特定色相の設定方法はこれに限定されるものではない。入力画像の状態によっては、例えば、ユーザが任意の色相領域をマニュアル設定する、あるいは、目標色メモリ50に予め登録された色相領域を選択するなどしたほうが好ましい場合もある。ただし、この場合でも補正対象の色領域は、ステップS11において抽出される所定色領域を包含するような、色相範囲として設定することが望ましく、ユーザの設定または選択に対して、所定色領域の包含が不充分の場合に警告を発するなどの処置をとることが望ましい。
【００６１】
次に、設定した色領域に対して、後述する色補正において使用する色領域の重みを色相範囲と彩度範囲ごとに設定する(S39)。
【００６２】
まず、色相の重みWhは代表色で「1」、補正対象の色領域外では「0」になるように、式(5)のように定める。これは、後述する色補間を行う場合に、補正対象の色相領域内外で色の連続性が破綻するのを防ぐためである。
HがHr±ΔHの範囲内  Wh = |H - Hr|/ΔH
Hが上記範囲外       Wh = 0                  …(5)
【００６３】
ただし、重みの設定方法は、式(5)に示す方法に限らず、例えば、補正対象の色領域を示す色相範囲、代表色、および、任意の定数を用いて非線形に変化する設定方法などが例示される。
【００６４】
また、彩度の重みWcは、目標色の彩度Crおよび無彩色の彩度閾値Cthから、式(6)のように定める。
C ＜ Cthの場合       Wc = 0
Cth ≦ C ≦ Crの場合  Wc = (C - Cth)/(Cr - Cth)      …(6)
C ＞ Crの場合        Wc = 1
【００６５】
ただし、重みの設定方法は、式(6)に示す方法に限らず、例えば、所定色領域を包含する彩度範囲ΔCを色相領域の設定方法と同様な方法で求め、彩度の重みWcを設定する方法なども挙げられる。
【００６６】
このように補正対象とする色領域を重み付ける理由は、後述する色補正を行う場合に、補正対象の色相領域内外で色の連続性が破綻することを防ぐためである。
【００６７】
次に、図4に示す処理に戻り、入力画像における所定色領域の位置情報から、色補正に用いる画像領域の重みを設定する(S17)。後述する色補正においては、ステップS16で設定した、所定色領域の重みを利用して所定色に対してのみ色補正を行うことで、元々好ましい色であった画像中の他の領域の色が不自然になる現象を回避する。しかし、補正対象の色領域のみを設定した場合、例えば入力画像において、ステップS16において設定した色相範囲ΔHに含まれる、所定色領域外の画素が存在すると、同画素も色補正の対象になる。そこで、このような問題を解決する方法として、ステップS17で設定する画像領域の重みを利用する。
【００６８】
画像領域の重みは、所定色領域内の画素が色補正の対象となり、所定色領域外の画素が色補正の非対象になるように0以上1以下の値Wp(x, y)を設定する。ただし、0≦x≦M-1、0≦y≦N-1である。また、色補正により所定色領域の境界付近で色の連続性が破綻するのを防ぐように、画像領域の重みを設定することが望ましい。
【００６９】
画像領域の重みの設定方法は、限定されないが、所定色領域の重心を求め、重心と各画素の距離に応じた重みを付ける方法などが例示される。この設定方法を用いると、後述する色補正において、所定色領域の境界付近の画素に対する補正量は、所定色領域の中心付近の画素に比べて小さくなり、所定色領域の境界付近で色の連続性が破綻するのを防ぐことができる。また、所定色領域にガウシアンフィルタなどによりローパス処理を施し、所定色領域の境界付近をぼかすことで、所定色領域内外の色の連続性の破綻を和らげる方法なども挙げられる。
【００７０】
次に、所定色領域の代表色、代表色を含む補正処理の対象の色領域、および、画像領域の重みを利用して、入力画像中の補正対象の画素の色相および彩度を補正し(S18およびS19）、補正後の画像をRGB色空間に変換し(S20)、その後、図3に示すステップS7で補正後の画像を出力する。
【００７１】
ステップS18の色相補正は、代表色における色相補正量Dhを算出する。色相補正量Dhは、目標色の色相Htと代表色の色相Hrの差、並びに、色相補正係数Phの積として表される（式(7)参照）。そして、色相補正量Dhに、色相領域の重みWh、彩度領域の重みWcおよび画像領域重みWpを掛けた分、入力画像の画素の色相Hを補正する（式(7)参照）。
H' = H + W・Dh
Dh = Ph(Ht - Hr)      …(7)
W = Wh・Wc・Wp
ここで、Hは色補正前の画素の色相
H'は色補正後の画素の色相
【００７２】
同様に、ステップS19の彩度補正は、彩度補正係数Pcから代表色における彩度補正率Kcを算出し、彩度補正率Kcに色相領域の重みWh、彩度領域の重みWc、並びに、画像領域の重みWpを色補正前の画素の彩度Cに掛けた分、入力画像内の画素の彩度Cを補正する（式(8)参照）。彩度補正率Kcは、式(8)に示すように、目標色の彩度Ct、代表色の彩度Crの差、および、補正彩度係数Pcによって表される。
C' = C(W・Kc + 1)
Kc = Pc(Ct - Cr)/Cr  (Ct ≠ 0)    …(8)
W = Wh・Wc・Wp
ここで、Cは色補正前の画素の彩度
C'は色補正後の画素の彩度
【００７３】
［変形例］
上記の実施例では、ディジタルカメラで撮影した画像をコンピュータで処理する場合を中心について説明したが、写真などをスキャナで読み取った画像の処理にも適用することができる。また、本実施例の機能は、コンピュータだけでなく、ディジタルカメラ、スキャナ、ディスプレイ、プリンタなどのカラー画像機器本体に組み込むこともできる。
【００７４】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００７５】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００７６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００７７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００７８】
【図１】実施例の画像処理装置の基本構成を示すブロック図、
【図２】画像処理装置の機能構成を示すブロック図、
【図３】CPUが実行する画像補正処理を示すフローチャート、
【図４】CPUが実行する所定色領域の色補正処理を示すフローチャート、
【図５】代表色の抽出を示すフローチャート、
【図６】彩度補正係数Pcの設定方法を説明する図、
【図７】補正対象の色領域の設定処理を示すフローチャートである。
【図１】
0004332474.tif 000002
【図２】
0004332474.tif 000003
【図３】
0004332474.tif 000004
【図４】
0004332474.tif 000005
【図５】
0004332474.tif 000006
【図６】
0004332474.tif 000007
【図７】
0004332474.tif 000008