以下、本発明に係る画像処理装置の実施の形態について、図面を用いて説明する。
図1に示すように、本発明の実施の形態に係る画像処理装置1は、CPU2と、ハードディスク装置(HDD)3と、サブメモリ4と、ワークエリアRAM5と、プログラム格納ROM/RAM6と、を備えたコンピュータ装置によって構成されている。また、画像処理装置1は、このコンピュータ装置にバス11等を介して接続された、表示装置7、入力装置8、印字装置9、ネットワークストレージ10、等を備えている。
画像処理装置1は、本実施の形態に係る処理をマイクロプロセッサであるCPU2を用いてデジタル処理により実行し得るために構築したものである。
CPU2は、プログラム格納ROM/RAM6及びHDD3から画像処理プログラムを読み出してワークエリアRAM5の一部に読み込ませ、その画像処理プログラムをワークエリアRAM5の他の一部を作業領域として実行する。CPU2は、図示しないデジタルカメラで撮影した画像、スキャナ等で読み取った画像、他のパーソナルコンピュータ等で取得した画像、等の画像データを受け取り、その画像データを入力画像としてHDD3に格納する。CPU2は、本発明に係る画像処理プログラムを用いてHDD3に格納した画像データに後述する処理を施し、その処理後の画像データを出力画像としてサブメモリ4に格納し、必要により表示装置7に画面表示したり、印字装置9に出力する。
HDD3及びワークエリアRAM5には、コンピュータ装置を画像処理装置1として機能させるための画像処理プログラムが記憶されている。すなわち、画像処理プログラムを実行するCPU2により、コンピュータ装置が画像処理装置1として機能する。HDD3は、上述した入力画像の他、サブメモリ4に換えて出力画像を格納してもよい。HDD3は、その入力画像や出力画像をCPU2の指令によってプログラムに供給する。なお、後述する参照画像DBは、このHDD3に格納してもよいし、プログラム格納ROM/RAM6に格納してもよいし、ネットワークストレージ10に格納(公開)されるケースなど様々な形態を取り得る。
表示装置7には、液晶ディスプレイが用いられ、特に、タッチパネル方式の液晶ディスプレイを用いるのが好ましい。
入力装置8は、コンピュータ装置本体に接続されたキーボドやマウス、或いは、タッチパネル方式のディスプレイにおけるタッチ画面等が用いられている。また、入力装置8には、所謂、ポインティングデバイスを用いてタッチ画面やXYプロッタ等による対象物の領域、参照画像、目標画像等の選択を可能とするのが好ましい。
一方、CPU2は、例えば、HDD3に格納された画像のうち、入力装置8によって選択された入力画像を対象として、入力画像の中で入力装置8によって選択された対象領域の色調(トーン)を補整する機能を実現するようになっている。なお、本実施の形態において、「色調」とは、一般的な意味として「明度」と「彩度」との二つの属性をまとめて表現したものに限らず、色の三属性の全て、すなわち、「色相」、「明度」、「彩度」のバランスのことをいうものとする。また、本実施の形態において、CPU2は、図2に示すように、HDD3等の記憶装置(以下、記憶装置3と称する)に格納された入力画像を画像入力部として用いている。CPU2は、入力装置8としてのポインティングデバイス(以下、「ポインティングデバイス8」とも称する)を用いている。CPU2は、データベースとしての記憶装置3から、所定の色調を有する参照対象領域及びその参照周囲領域が予め設定済みの複数の参照画像を読み出して表示装置7に画面表示させる機能を有する。そして、CPU2は、周囲領域決定部21、代表周囲色抽出部22、表示用画像生成部23、参照画像表示部24、目標画像選択受付部25、色調変更部26、としての機能を有する。
以下、CPU2におけるこれら各部の具体例を示す。
周囲領域決定部21は、入力画像の周囲領域を決定する機能を有する。すなわち、周囲領域決定部21は、図3に示すように、入力画像P1として人物の画像を表示装置7の表示画面7aに表示させる。この際、ユーザは、所定の操作によって入力画像P1を適宜拡大・縮小表示させることができる。
そして、周囲領域決定部21は、その入力画像P1からポインティングデバイス8を用いてユーザーによって唇の周囲が選択されると、その唇を対象領域P2とするとともに、唇を除く周囲を周囲領域P3として決定する。
さらに、周囲領域決定部21は、ユーザの所定の操作として、例えば、周辺色除去表示操作により、図4に示すように、表示画面7aの表示から対象領域P2のみを表示し、周囲領域P3を除去して格子等の疑似背景を表示する。
代表周囲色抽出部22は、周囲領域決定部21で決定した周囲領域の代表となる色を周囲色として抽出する機能を有する。すなわち、代表周囲色抽出部22は、周囲領域決定部21で決定した周囲領域P3の代表となる色として、唇の周囲の肌色を周囲色として抽出する。
ここで、CPU2は、図5に示すように、記憶装置3から、所定の色調を有する参照対象領域P4及び参照周囲領域P5が予め設定済みの複数の参照画像PS1,PS2,PS3,PS4を読み出して表示装置7の表示画面7aに画面表示させる。この際、各参照画像PS1〜PS4の参照周囲領域P5は、図5の周囲領域P3と同様に格子等の疑似背景を表示する。なお、以下の説明においては、特に限定のない限り、参照画像PS1〜PS4を「参照画像PS」と省略して説明する。
データベースに格納する参照画像PSを画像データの対象オブジェクトから作成する際には、対象オブジェクトに対して参照対象領域P4の範囲だけを設定すれば足りる。例えば、唇を参照画像PSとする場合には、対象オブジェクトの唇以外の周囲等を全て代表色に変換する等の処理は必要ない。
参照画像PSの作成方法には、対象オブジェクトを含む範囲を参照対象領域P4として切り出し、参照対象領域P4を除く参照周囲領域P5を代表色に変換する手法でもよい。また、その他には、対象オブジェクトを含む範囲(Wr、Hr)として、Wr,Hrを縦横とした画像を新規に作成することも可能である。
表示用画像生成部23は、記憶装置3から読み出した参照画像の参照周囲領域を代表周囲色抽出部22で抽出した周囲色に変換する機能を有する。すなわち、表示用画像生成部23は、記憶装置3から読み出した参照画像PS1〜PS4の各参照周囲領域P5を代表周囲色抽出部22で抽出した周囲色である肌色に変換して表示用参照画像PP1,PP2,PP3,PP4を生成する。なお、以下の説明においては、特に限定のない限り、表示用参照画像PP1〜PP4を「表示用参照画像PP」と省略して説明する。
なお、この代表色を周囲色に変換した表示用参照画像PPを画像をNとすると、画像Nと参照画像PSの参照対象領域P4である対象オブジェクト画像、そして対象オブジェクト画像の選択範囲(マスク情報)を合成するという方法もある。
例えば、マスク情報が256階調であり、0=未選択、255=100%の選択という状態であれば、対象オブジェクトの任意位置の画素をR(x,y)としたときに、マスク値をM(x,y)、周囲色をSとしたときに、表示する画像の画素値D(x,y)は、
D(x,y)=(R(x,y)*M(x,y)+S*(255−M(x,y)))/255
という合成方法を用いれば、多値マスクの情報でも問題なく表示用参照画像PPを作成することができる。
参照画像表示部24は、表示用画像生成部23で処理した後の表示用参照画像PPを表示装置7に画面表示させる機能を有する。すなわち、参照画像表示部24は、図6に示すように、表示用画像生成部23で生成した表示用参照画像PPを表示装置7の表示画面7aに画面表示させる。
目標画像選択受付部25は、参照画像表示部24によって表示装置7に表示した表示用参照画像から目標とすべき色調の参照対象領域を有する参照画像を目標画像としてポインティングデバイス8によりユーザ選択指示を受け付ける機能を有する。すなわち、目標画像選択受付部25は、表示画面7aに画面表示した表示用参照画像PPの中から、目標とすべき色調の唇を参照対象領域P4として有する表示用参照画像PPを目標画像としてポインティングデバイス8によりユーザ選択指示を受け付ける機能を有する。
色調変更部26は、目標画像選択受付部25で受け付けた目標画像を用いて入力画像の対象領域における色調を目標画像の参照対象領域における色調に色成分毎に変更する機能を有する。すなわち、色調変更部26は、表示用参照画像PPのユーザ選択により、目標画像選択受付部25で受け付けた目標画像を用いて入力画像P1の対象領域P2における色調を目標画像の参照対象領域P4における色調に色成分毎に変更する。
このように、本実施の形態においては、表示用参照画像PPの参照対象領域P4を表示画面7aに表示する際に、参照対象領域P4の周囲の参照周囲領域P5を、対象領域P2の周囲領域P3の周囲色で埋めて表示する。
このようにすることで、参照対象領域P4の色調を入力画像P1の対象領域P2に反映させたときの色の「見え」を表現することができる。例えば、灰色(黒/白)を背景としたときに見える対象領域P2の色の「見え」は対比効果の影響で違っている場合がある。
そこで、入力画像P1の条件に合わせて見たときの「見え」を使って、表示用参照画像PPを選択するようにしたものである。
すなわち、対象領域P2の周囲領域P3に含まれる背景色(周囲色)を参照対象領域P4の参照周囲領域P5における背景色として表示して参照対象領域P4を浮かび上がらせた絵をユーザに提示する。
これにより、ユーザは、入力画像P1の対象領域P2に表示用参照画像PPの参照対象領域P4の色を転写することによって対比効果を含めて、補正後の対象領域P2の「見え」を想像し易くすることができる。
ユーザーは、その表示用参照画像PPの何れかを選択して、その表示用参照画像PPの参照対象領域P4の色調を真似した色調に入力画像P1の対象領域P2の色調を補正することになるので、色の対比効果による見え方のズレを小さくする効果を期待することができる。
ここで、色の対比効果とは、色相の異なった色が配されたとき、それぞれの色相が色相環の反対方向に移ったように感じられる対比効果を示す。これにより、色相の異なる二つ背景色上に同一色の図色を配すると、各背景色の心理補色が誘発されて図柄に混色されて知覚される。この際、背景と図柄(対象領域P2)との面積比が大きいほどその効果は大きく、背景と図柄の色の明度が近いほど、また高彩度同士の組み合わせほど大きく効果が発揮される。
本実施の形態は、この色の対比効果によって、現実の色を再現しているにも関わらず、対象領域P2の色の「見え」が所望の色となっていないような場合において、対象となる部分等の色調を色成分毎に変更する際に用いることができる。
ユーザーは提示された表示用参照画像PPの参照対象領域P4と参照周囲領域P5との対比効果を考慮した色を見て、表示用参照画像PPから最も自分の所望する色と近い表示用参照画像PPを選択する。
参照画像表示部24は、この選択された表示用参照画像PPを目標画像とし、その目標画像の参照対象領域P4の色調を参照して(真似して)入力画像P1の対象領域P2の色調を補整する。
なお、表示画面7aに表示される表示用参照画像PPは、予めデータベースとしての記憶装置3に格納された画像データから、ユーザのカテゴリ選択操作によって、格納順で複数表示されるようになっている。
すなわち、データベースは、複数の参照画像を参照対象領域P4に応じて所定の振り分け条件、例えば、物カテゴリと色彩カテゴリとに基づいて対応付けして記憶装置3に格納されている。
具体的には、ユーザが選択するデータベースとして、例えば、補整対象と類似する人物等の物カテゴリ又は補整対象と類似する色彩カテゴリとで選択可能となっている。
この際、物カテゴリの場合、例えば、人物、顔、唇のように階層順でカテゴリ選択を行う。これにより、記憶装置3に格納済みの唇を参照画像PSとして読み出して表示画面7aに表示することができる。
一方、色彩カテゴリの場合、カラーパレット等から所望する色系統のカテゴリ選択を行う。これにより、記憶装置3に格納済みの色系統の物、例えば、リンゴ,サクランボ等の果物や唇等の人物等を、参照画像PSとして読み出して表示画面7aに表示することができる。
表示用画像生成部23は、データベースに格納した複数の参照画像から所定の振り分け条件で該当した参照画像PSから生成した表示用参照画像PPを1つ以上で表示画面7aに画面表示する。
目標画像選択受付部25は、表示用画像生成部23で振り分けされた表示状態の表示用参照画像PPの中から目標画像としてユーザ選択指示を受け付けるようになっている。
なお、ユーザは、任意の表示用参照画像PPを選択すると、表示画面7aの右にある参照画像エリア7bに拡大表示され、対象領域P2と選択した表示用参照画像PPの参照対象領域P4との色調を確認することができる。
また、ユーザは、選択した表示用参照画像PPの参照対象領域P4の色調又は補整後の対象領域P2の色調が所望の色調でない場合には、パラメータ設置領域7cで調整したうえで補整することが可能となっている。
さらに、補整前及び補整後の対象領域P2の画像は、ユーザの設定操作により新たにデータベース化することができる。
次に、図7に基づいて本発明の実施の形態に係る画像処理装置1におけるCPU2が実行するメイン動作ルーチンを説明する。なお、以下の各ルーチンは、ユーザの所定操作を受け付けることにより実行するが、その一部の操作は省略して説明する。
先ず、ユーザは、入力装置8を用いてコンピュータ装置から本実施の形態に係るプログラムを立ち上げ、例えば、デジタルカメラ等の外部装置やHDD3に格納したJPGデータ等の画像データから入力画像P1を選択する。
ステップS1において、CPU2は、この選択操作を受け付けて、図3に示すように、入力画像P1を表示画面7aに表示させる。
ステップS2において、周囲領域決定部21は、ユーザがポインティングデバイス8を用いて唇の周囲を囲む操作がなされると、ユーザによる所定の決定操作がなされたことを契機として、その唇を対象領域P2として決定する。これにより、ユーザは、入力画像P1に対して、どの範囲の色を変更したいかという要望を決定することができる。なお、このステップS2の対象領域P2の決定方法は後述する。
ステップS3において、周囲領域決定部21は、決定した対象領域P2の周囲を周囲領域P3として決定する周囲領域決定ステップを実行する。この際、周囲領域決定部21は、ユーザによって唇の中を別途周囲領域P3として指定した場合には、その唇の中も周囲領域P3として決定する。また、周囲領域決定部21は、対象領域P2及び周囲領域P3が正しく選択されているかをユーザが容易に表示画面7aで確認することができるよう、図4に示すように、対象領域P2の唇のみを表示した画面表示に切り替える。
ステップS4において、代表周囲色抽出部22は、ステップS3の周囲領域決定ステップで決定した周囲領域P3の代表となる色を周囲色として抽出する代表周囲色抽出ステップを実行する。すなわち、代表周囲色抽出部22は、周囲領域P3の画素(色)情報を使用して周囲領域P3の代表となる色を決定する。なお、このステップS4の代表周囲色抽出ステップにおける詳細な処理ルーチンは後述する。
ステップS5において、表示用画像生成部23は、ユーザのカテゴリ選択操作等により、記憶装置3に格納した所定の色調を有する参照対象領域P4及び参照周囲領域P5を予め設定した複数の参照画像PS1〜PS4を記憶装置3のデータベースから読み出す。また、表示用画像生成部23は、参照画像PS1〜PS4の選択結果を含め、ユーザが容易に表示画面7aで確認することができるよう、図5に示すように、対象領域P2の唇のみを表示した画面表示に切り替える。そして、表示用画像生成部23は、各参照画像PS1〜PS4の参照周囲領域P5をステップS4の代表色抽出ステップで抽出した周囲色に変換して表示用参照画像PP1〜PP4を生成する表示用画像生成ステップを実行する。
ステップS6において、参照画像表示部24は、ステップS5の表示用画像生成ステップで処理した後の表示用参照画像PPを画面表示させる参照画像表示ステップを実行する。これにより、図6に示すように、周囲領域P3及び各参照周囲領域P5を周囲色に変換した画像が表示画面7aに表示される。
ステップS7において、目標画像選択受付部25は、ステップS6の参照画像表示ステップで表示した参照画像PSから目標とすべき色調の参照対象領域P4を有する表示用参照画像PPを目標画像としてユーザ選択指示を受け付ける目標画像選択受付ステップを実行する。これにより、例えば、選択された目標画像としての表示用参照画像PPが参照画像エリア7bに拡大表示される。
ステップS8において、色調変更部は、ステップS7の目標画像選択受付ステップで受け付けた目標画像を用いて入力画像P1の対象領域P2における色調を目標画像の参照対象領域P4における色調に色成分毎に変更する色調変更ステップを実行する。なお、このステップS5の色調変更ステップにおける詳細な処理ルーチンは後述する。
なお、上記ステップS2において、公知のフォトレタッチソフトを用いたレイヤーマスク画像のように、対象領域P2が予め作成されており、入力画像P1と同時に対象領域P2情報も格納されているフォーマットを使用しても良い。また、各種画像処理ソフトのように、入力画像P1と対象領域P2の個別情報を受け取る方式でも良い。
また、ステップS5において、表示用画像生成部23は、参照画像PSの抽出に当たり、データベースの全ての画像データを処理することはせずに、同時に表示される枚数分の画像に対してだけ処理をすればよい。この際、ユーザにおいても、カテゴリ選択操作の他、例えば、シーン識別や対象領域P2の画像認識処理によって物や色の対象を限定することで表示画面7aに表示する表示用参照画像PPの作成枚数を減らすこともできる。
次に、ステップS2において周囲領域決定部21が処理する入力画像P1に対する対象領域P2の決定方法を説明する。
(対象領域P2の決定手法1)
周囲領域決定部21は、対象領域P2と周囲領域P3とが二値で表される場合には、そのまま境界として使用し、対象領域P2と周囲領域P3との確率を濃度で示している場合には、0〜255の中間の128を閾値として用いて境界を確立する。
例えば、周囲領域決定部21は、対象領域P2の境界領域の法線方向に一定の距離D1だけ離れているところを周囲領域P3の境界とし、対象領域P2を1周することで、対象領域P2の境界の範囲を決定する。
また、対象領域P2の内部にも周囲領域P3が穴のように含まれている口を開けた唇のような場合、ユーザによってその領域も周囲領域P3として選択される可能性がある。したがって、周囲領域決定部21は、そのような領域に対しても同様の処理を実行する。
周囲領域決定部21は、周囲領域P3として計算された座標値が入力画像P1の外側にある場合には、画像からはみ出した部分は周囲領域P3には含めない。
周囲領域決定部21は、一定の距離D1に対して入力画像サイズの1/Xという値を用いるものとする。なお、値Xは実験から決めた定数である。なお、一定の距離D1としては、上記の他に、対象領域P2の面積の平方根、対象領域P2を囲む最小矩形サイズ(縦横)のうち大きい方の1/4の値、という決め方をすることもできる。
この決め方では、入力画像P1に対する対象領域P2の大きさに応じてパラメータを切り替える方法となるため、対象領域P2が小さければ小さい範囲を、対象領域P2が大きければ周囲の領域を広く取ることで、対比効果の影響範囲を考慮することができる。
色の対比効果は、対象領域P2としての図柄と周囲領域P3としての背景との面積比が大きい(P2<P3)ほど対比効果は大きくなるため、対象領域P2の大きさによらない一定値を使用するよりも、対比効果を小さくするための効果が期待できる。
(対象領域P2の決定手法2)
また、周囲領域決定部21は、ユーザによる選択範囲の外接矩形との距離D2とを用いて対象領域P2を決定してもよい。
例えば、周囲領域決定部21は、対象領域P2の境界を定め、多値で表されている場合には、0と1以上のところを境界とする。
ここで、周囲領域決定部21は、0,1と画素が並んでいた場合には1の画素を境界とし、0,128と画素が並んでいた場合には128の画素を境界とする。
次に、周囲領域決定部21は、対象領域P2の外接矩形Rを作成した後、その外接矩形Rの上下左右に距離D2だけ離れた矩形R'を作成する。なお、周囲領域決定部21は、距離D2だけ離れた距離が画像範囲内に収まらない場合は、画像範囲内までとする。
そして、周囲領域決定部21は、矩形R'の範囲内の画素から、対象領域P2を引いた画素を周囲領域P3として決定する。なお、周囲領域決定部21は、距離D2のパラメーターを上記の手法の距離D1と同様の考え方で対象領域P2を決定する。
(対象領域P2の決定手法3)
さらに、周囲領域決定部21は、選択範囲の境界からの水平・垂直方向の距離D3を用いて対象領域P2を決定してもよい。
例えば、周囲領域決定部21は、対象領域P2の境界を定め、多値で表されている場合には、0と1以上のところを境界とする。
ここで、周囲領域決定部21は、境界の全画素から水平、垂直それぞれの方向に距離D3だけ離れている点までの画素で、領域の内部以外の点を周囲領域P3とする。
次に、周囲領域決定部21は、この領域の内部以外の点を周囲領域P3の中で、対象領域P2に囲まれている領域、すなわち、対象領域P2の中の穴に相当する領域を対象領域P2から除外する。
この場合においても、周囲領域決定部21は、距離D3のパラメーターを上記距離D1と同様の考え方で対象領域P2を決定する。
次に、本実施の形態における代表周囲色抽出部22の機能を図8のフロー図を参照しつつ説明する。
ステップS41において、代表周囲色抽出部22は、周囲領域P3の範囲の中にある画素から色ヒストグラムを計測する。
ここで、代表周囲色抽出部22は、使用する色成分を求めるのに、画像データをRGBのまま使用したり、LABやHSVなどのRGB以外の色空間に変更することも可能である。また、代表周囲色抽出部22は、色調を変更する対象物の内容(空や肌等)によって色空間を変えたり、色調を変更する対象物自体の色によって色空間を変えたりすることも可能である。
そして、代表周囲色抽出部22は、適切な色空間に変更した後に、色ヒストグラムを作成する。
ステップS42において、代表周囲色抽出部22は、ステップS41で作成した色ヒストグラムを用いて色クラスタリングを行う。ここで、代表周囲色抽出部22は、色クラスタリングの手法として、例えば、K−meansを使うことで分類する。この方式では、代表周囲色抽出部22は、2つのクラスタに分けるものとし、その結果を得る。
ステップS43において、代表周囲色抽出部22は、色クラスタリングを2つのクラスタに分類したことにより、結果的に色は2つのカテゴリに分けられる。その中で最もカテゴリに属する画素が多い方の平均色を代表色として決定し、その代表色を周囲領域P3の周囲色とする。
なお、代表周囲色抽出部22は、対象領域P2として人物の唇の色とした場合、正面に向いた状態での唇画像の周囲に髪の毛や景色が介入せず、肌が主体となることが多い。このような場合、代表周囲色抽出部22は、クラスタリングを行わずに周囲領域P3の範囲の肌色の平均値を使用することで代表色と決定してもよい。
この際、対象領域P2には、口の中の色や歯の色は除外したいため、周囲領域P3を決める際に、対象領域P2と周囲領域P3とを明確にユーザ選択するのが望ましい。
また、代表周囲色抽出部22は、上記に換えて、周囲色の範囲の色を明度のヒストグラムを用い、最も頻度の高い明度であった画素の色の平均値を代表色として算出し、周囲色として決定してもよい。
次に、本実施の形態における色調変更部26の機能を図9のフロー図を参照しつつ説明する。
ステップS81において、色調変更部26は、対象領域P2の各階調に属する画素の数を集計してヒストグラムHiを作成する。このとき、必要に応じて各階調に属する画素の数を全画素数で除算して割合に直してもよい。
ステップS82において、色調変更部26は、ステップS81と同様にして参照対象領域P4の各階調に属する画素の数を集計してヒストグラムHgを作成する。このとき、必要に応じて各階調に属する画素の数を全画素数で除算して割合に直してもよい。
ステップS83において、色調変更部26は、ヒストグラムHiを単一モデル又は混合モデルを用いてモデル化する。ここでは、ガウス分布を用いてモデル化するものとする。単一ガウスでモデル化する場合、色調変更部26は、ステップS81で作成したヒストグラムHiの統計データを用いてヒストグラムHiの平均と分散とを求める。
なお、混合ガウス分布でモデル化する場合、色調変更部26は、例えば、EMアルゴリズムなどを用いて、最尤推定によりパラメータを更新すればよい。EMアルゴリズムなどを用いて反復計算によりモデルパラメータを更新する際の初期値は、予め決定された固定値を用いてもよいし、ランダムな値を用いてもよい。また、色調変更部26は、データ群のクラスタリングに際して、既にクラスタリングされて記録されているデータ群の中から類似するデータ群を検索する。そして、色調変更部26は、この類似するデータ群をクラスタリングする際に用いられたモデルパラメータに基づいて、反復計算によりモデルパラメータを更新する際の初期値を決定するようにしてもよい。そして、色調変更部26は、最終的に得られたパラメータをモデルパラメータとする。
また、色調変更部26は、モデル化にガウス分布を用いた場合には平均と分散との組を混合数、すなわち、モデル化に用いたガウス分布の数分だけ取得する。したがって、混合数3の混合ガウス分布でモデル化した場合に、3つのクラスをハイライト、中間調、シャドーとラベル付けすれぱ、ハイライト用の値、中間調用の値、シャドー用の値の3つの値からなるモデルパラメータを取得する。
ステップS84において、色調変更部26は、ステップS83と同様に、ヒストグラムHgを単一モデル又は混合モデルを用いてモデル化する。ここでは、ガウス分布を用いてモデル化するものとする。単一ガウスでモデル化する場合、色調変更部26は、ステップS82で作成したヒストグラムHgの統計データを用いてヒストグラムHgの平均と分散とを求め、上記度同様の処理にて目標パラメータを取得する。
ステップ85において、色調変更部26は、ステップS83のモデル化により得られたモデルパラメータと、ステップS84のモデル化により得られた目標パラメータとを対応付けて、各パラメータが同一となるように変換式を作成する。なお、このステップS85の処理は、対象領域P2のデータ分布を分類したクラスごとに行われる。すなわち、色調変更部26は、1つのクラスに対応する変換式を全てのクラスに対応して反感式の作成を繰り返す。具体的には、色調変更部26は、モデルパラメータ及び目標パラメータにおいて同じラベルのクラスに割り当てられた値同士を対応付けて各クラスに対応する変換式を生成する処理を、全てのクラスに対して繰り返す。例えば、対象領域P2のデータ分布がハイライト、中間調、シャドーの3つのクラスに分類されている場合には、3つの変換式を作成する。
そして、この変換式は、対象領域P2を補正するための卜−ンカーブとなる。例えば、色調変更部26は、所定の関数を用いた補間処理を行うことにより、対象領域P2を補正するためのトーンカーブを生成する。
この際、補間処理に用いる所定の関数としては、例えば、直線、Bスプライン関数、キュービック・スプライン関数などが挙げられる。直線を用いると計算コストが低く抑えられるが、制御点を挟んで傾きが急激に変化し階調が不連続となりやすい。一方、キュービック・スプライン関数は制御点を3次関数により結ぶ方法であり、滑らかな曲線が得られる。また、Bスプライン関数は制御点を通らないため、キュービック・スプライン関数よりも緩やかな勾配を持った曲線が得られる。なお、補間処理の制御点として用いる制御情報に階調の端部が含まれない場合には、階調の端部に相当する制御点を適宜追加することが望ましい。例えば、256階調の卜一ンカーブを設計するのであれば、制御点として(0,0)や(255,255)を追加することで階調全休をカバーするトーンカーブを生成することができる。一方、ダイナミックレンジが制限されているようであれば、例えば(0,10)や(255,245)のように、出力階調側(目標パラメータ側)の値を適宜設定すればよい。
ステップS86において、色調変更部26は、ステップS85で生成したトーンカーブを用いて、対象領域P2の画素値を変換する。具体的には、色調変更部26は、トーンカーブを用いた対象領域P2の階調変換を行う。この際、トーンカーブにより定まる入力階調と出力階調との対応関係を記述したルック・アップ・テーブルを事前に作成しておき、このルック・アップ・テーブルを用いて階調変換を行うようにすれば、処理時間の短縮を図ることができる。
このように、表示用参照画像PPの参照周囲領域P5を入力画像P1の周囲色に近似させた形態でユーザに提示することで、対象領域P2の色を入力画像P1に反映させたときに色の対比効果が軽減された状態とすることができる。
ユーザは、その状態を確認したうえで、「この参照画像の領域の色にしたい」という表示用参照画像PPを選択し、その色を入力画像P1に対して反映させることができる。
その結果として、ユーザにとっての対比効果が軽減され、「入力画像の背景と合わせると思っていた色ではない」、「入力画像の背景の色と合わない」といったやりなおしの手間を抑制した色補整を実現することができる。
ところで、上記実施の形態では、色そのものの「見え」について説明したが、色そのもの以外の印象として、例えば、ざらつき感のようなテキスチャの強度情報や光沢感の度合いなどがり、これらを考慮した補整をすることも可能である。
このように、本発明の画像処理装置は、入力画像P1の色調を補整する画像処理装置1であって、対象領域P2の周囲領域P3を決定する周囲領域決定部21と、周囲領域決定部21で決定した周囲領域P3の代表となる色を周囲色として抽出する代表周囲色抽出部22と、所定の色調を有する参照対象領域P4を含む画像を参照画像PSとして格納したデータベースと、データベースから読み出した参照画像PSの参照対象領域P4を除く画像を周囲色に変換して表示用参照画像PPを生成する表示用画像生成部23と、表示用画像生成部23で生成した表示用参照画像PPを画面表示させる参照画像表示部24と、ユーザ選択を受け付けて前記表示用参照画像PPから目標画像を決定する目標画像選択受付部25と、入力画像P1の対象領域P2における色調を目標画像の参照対象領域P4における色調に変更する色調変更部26と、を備えることにより、画像全体としての色のバランスを向上させるとともに、色の対比効果の悪影響を抑制することができる。
本発明の画像処理装置は、画像全体としての色のバランスを向上させるとともに、色の対比効果の悪影響を抑制することができるという効果を有し、入力画像の色調を補整する画像処理装置全般に適用可能である。