JP2007164283A - 画像処理装置及び方法、コンピュータプログラム及び記憶媒体 - Google Patents

画像処理装置及び方法、コンピュータプログラム及び記憶媒体 Download PDF

Info

Publication number
JP2007164283A
JP2007164283A JP2005356695A JP2005356695A JP2007164283A JP 2007164283 A JP2007164283 A JP 2007164283A JP 2005356695 A JP2005356695 A JP 2005356695A JP 2005356695 A JP2005356695 A JP 2005356695A JP 2007164283 A JP2007164283 A JP 2007164283A
Authority
JP
Japan
Prior art keywords
red
region
eye
reduction
iris
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005356695A
Other languages
English (en)
Inventor
Hiroyasu Kunieda
寛康 國枝
Shinjiro Hori
信二郎 堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005356695A priority Critical patent/JP2007164283A/ja
Publication of JP2007164283A publication Critical patent/JP2007164283A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Image Analysis (AREA)

Abstract

【課題】より自然な赤目補正結果を得ることを可能とする。
【解決手段】顔画像データにおいて、赤目領域と虹彩領域を含む目の領域を抽出する抽出手段と、前記目の領域において前記赤目領域と前記虹彩領域とを検出する検出手段と、検出された前記赤目領域の縮小率を設定する設定手段と、前記縮小率に基づき前記赤目領域を縮小する縮小手段と、前記縮小手段により縮小された赤目領域分だけ前記虹彩領域を拡大する拡大手段と、縮小された前記赤目領域内の画像値を補正する補正手段と、補正された前記赤目領域及び前記拡大された虹彩領域の画像データを、前記顔画像データと合成する合成手段とを備える。
【選択図】図2

Description

本発明は、画像処理装置及び方法、コンピュータプログラム及び記憶媒体に関する。
「赤目」とはディジタルカメラなどを用いて、暗い場所で瞳孔が開いているときにフラッシュ撮影を行うと、被写体の目が赤く写ってしまう現象のことである。
最近ではディジタルカメラで撮影したディジタル画像データまたは銀塩カメラで撮影したフィルムをスキャナで取り込んだディジタル画像データに赤目領域が含まれている場合に、赤目領域を補正することが行われている。赤目補正を行う場合、使用者がマウスのようなポインティングディバイスなどを用いて赤目領域をクリックして指定したり、赤目領域を囲うようにしてドラックなどで領域を指定したりして、指定した赤目領域の各画素を補正する方法がある。
赤目領域が使用者により指定、あるいは自動で検出された後に、赤目領域が補正されるが、その補正方法としては次のような手法が提案されている。
例えば、まず、RGBで表現された画像データをHSIデータに変換する。そして、色調に注目して不良領域と判別された瞳の色調不良領域の周辺部から中央部にかけて少なくとも明度及び彩度のいずれかが徐々に低下するようにグラデーションをかける手法が提案されている(特許文献1を参照)。しかし、この手法では、瞳孔が開いたままの広い領域にグラデーションがかかってしまうことがある。よって、補正結果が不自然なものとなってしまう虞がある。
次に、色調不良領域と判別された瞳領域のサイズに合うように正常な瞳領域から切り出した色調が正常な瞳を拡大縮小後、前記色調不良領域と判別された瞳領域に貼り込むことによって補正する手法が提案されている(特許文献2を参照)。しかし、この手法では、正常な瞳画像がない場合は補正することができない場合がある。また、正常な瞳を拡大縮小するのは手間がかかり、うまく貼り込むことは困難な場合がある。
更に、該画像データ中から不良領域を含む瞳画像を特定して、補正領域の中央から補正領域の境界に向けて元の画像データを混合する混合度合を変化させつつ、色補正を行うことによって補正する手法が提案されている(特許文献3を参照)。しかし、この手法では、元の画像データと不良画像データの撮影状況や瞳の大きさなどが異なる場合、元データと混合させることで必ずしも自然な補正が行えるとは限らない。
特開平10-91761号公報 特開2000-76427号公報 特開2001-69333号公報
以上のように、従来の赤目補正手法では、自然な補正結果が得られる赤目補正を行えない場合が存在することが多く、より自然な赤目補正を行う困難であった。そこで本発明は、より自然な赤目補正結果を得ることを可能とする。
上記課題を解決するための本発明は、顔画像データにおいて、赤目領域と虹彩領域を含む目の領域を抽出する抽出手段と、前記目の領域において前記赤目領域と前記虹彩領域とを検出する検出手段と、検出された前記赤目領域の縮小率を設定する設定手段と、前記縮小率に基づき前記赤目領域を縮小する縮小手段と、前記縮小手段により縮小された赤目領域分だけ前記虹彩領域を拡大する拡大手段と、縮小された前記赤目領域内の画像値を補正する補正手段と、補正された前記赤目領域及び前記拡大された虹彩領域の画像データを、前記顔画像データと合成する合成手段とを備えることを特徴とする。
本発明によれば、より自然な赤目補正結果を得ることが可能となる。
以下、添付する図面を参照して、本発明の実施形態を詳細に説明する。
[第1の実施形態]
本発明の実施形態として図1のような画像処理装置を用いて説明する。図1は本発明を実施形態に対応する画像処理装置の構成の一例を示すブロック図であり、例えば、パーソナルコンピュータとして実現される。
画像処理装置100は、少なくとも以下の構成要素を備える。CPU10は、処理演算を行う演算手段である。ROM11は、処理プログラムを格納するメモリである。RAM12は、処理結果を一時的に格納するための一時記憶領域である。ハードディスク(HD)13は、画像データや赤目補正のためのプログラムを格納する記憶領域である。キーボード14は、使用者からの指示入力を受け付けるためのユーザインターフェイスである。ポインティングディバイス15は、キーボード14による入力を補助するマウスなどの入力補助手段である。ディスプレイ16は、処理画像を表示するための表示手段である。I/Oインターフェイス17は、外部入出力を行うための入出力手段である。バス18は、上記のブロック接続してブロック間での通信を可能とする。
ここでI/Oインターフェイス17を入力インターフェイスとして利用すれば、例えば、ディジタルカメラで撮影した画像データを読み込んだり、銀塩カメラにより撮影されたフィルムからスキャンした画像データとして読み込んだりすることができる。また、画像処理装置100がインターネットに接続される場合には、所定のWebサイト上にある写真画像などの画像データを通信回線を介して取得することもできる。
また、I/Oインターフェイス17を出力インターフェイスとして利用すれば、例えば、赤目補正結果を接続された外部のプリンタによりプリントアウトしたり、補正結果を外部メモリにコピーしたりすることができる。
次に、図2を参照して、本実施形態における赤目領域の補正処理について説明する。図2は、赤目領域の補正処理の一例を示すフローチャートである。係る補正処理は、例えば、RAM12に読み出された、ROM11やハードディスク13に記憶された対応するプログラムを、CPU10が実行することにより実現することができる。
図2において、ステップS101で、処理対象となる画像データの読み込みが行われる。具体的には、RGBで表現される画像データが、I/Oインターフェイス17を介して外部のディジタルカメラやスキャナ等から入力され、RAM12に格納される。ここで入力されたRGBの画像データは、通常256階調であるので、R、G、Bそれぞれが0から1の値に正規化される。
次に、ステップS102では、入力画像データをディスプレイ16に表示して、ユーザからポインティングディバイス15を介して、赤目領域を含む目付近の領域の選択を受け付ける。
続くステップS103及びステップS104では、選択領域において瞳孔領域と虹彩領域とが抽出され、各領域に分割される。ここで、分割された領域のうち、瞳孔領域が補正すべき赤目領域に決定される。瞳孔領域及び虹彩領域の抽出は、例えば以下の方法により行うことができる。
まず、ステップS103において、選択領域内の画像データが、正規化されたRGBデータから色相(Hue)、彩度(Saturation)、明度(Intensity)を表示するHSIデータに変換される。ここで、HSIデータに変換するのは、RGB形式よりもHSI形式のデータの方が、特徴量の設定基準等を定めることが容易であり、赤目領域等の判断基準を設定しやすいためである。
RGBからHSIへの変換は、以下に示す関係式を用いて行うことができる。この変換は、画像データのユーザから選択を受け付けた領域全体について行われる。
H=tan-1{(G-B)/(2R-G-B)} (1)
S={(B-R)2+(R-G)2+(G-B)2}/3 (2)
I=(R+G+B) (3)
ただし、0≦H≦2π、0≦S≦(2/3)、0≦I≦3に規格化される。
次に、ステップS104において、選択領域内のHSI変換後の画像データから、瞳孔領域と虹彩領域とが順に抽出される。まず、瞳孔領域に関しては、例えば以下のような関係を満たす場合に、注目画素の画像データを瞳孔領域、即ち赤目領域の候補画素として判断することができる。
0<H<π/6 (4)
S>0.6 (5)
0.9<I<1.2 (6)
次に、虹彩領域を抽出する場合を説明する。虹彩領域に関しては、例えば以下のような関係を満たす場合に、注目画素の画像データを虹彩領域の候補画素として判断することができる。
0<H<π/6 (7)
0.3<S<0.6 (8)
0.45<I<0.9 (9)
なお、上記の瞳孔領域及び虹彩領域の抽出方法は一例として説明したものであって、他の領域検出アルゴリズムを適用を妨げるものではなく、これらの領域を検出可能な方法であれば本発明に適用可能である。
次にステップS105において、赤目領域の縮小率が設定される。この縮小率設定方法について以下に詳細に説明する。
まず、ステップS102においてユーザがポインティングディバイス15などにより指定した領域は、図3に示されるように、ディスプレイ16上で拡大表示される。図3において、301は、縮小設定画面全体を示している。縮小設定画面301において、302は入力された赤目領域を含む画像から、ポインティングディバイス15等でユーザにより選択された補正領域を拡大して表示する拡大表示領域である。
次に、303は、画像中の瞳孔領域、即ち赤目領域を示す。また、304は虹彩領域を示し、更に305は白目領域を示している。ここで示される赤目領域303及び虹彩領域304は、ステップS104における領域抽出の結果に基づくものである。また、306、307は赤目領域の縮小方法を設定するための入力領域である。ここで、306は、赤目領域の縮小処理を自動又は手動のいずれにて行うかを設定するための入力領域である。図3では、「自動」が選択されている。307は、入力領域306において「手動」が選択された場合に入力可能となる領域であって、縮小率を1〜100までの数値にて入力することができる。また、縮小率は縦方向(Y軸方向)及び横方向(X軸方向)を独立に入力可能としても良い。
次に、308、309は、306及び307における設定内容に基づいて、赤目領域の縮小処理を実行するか否かの指示を、ユーザが行うためのボタンである。308は、設定内容にて赤目縮小処理を実行する場合にユーザにより操作される実行ボタンであり、309は、設定内容における赤目縮小処理を実行せずに、縮小方法設定画面301を閉じるためのキャンセルボタンである。
ステップS105では、このような縮小方法設定画面301において、ユーザから入力領域306における「自動」又は「手動」のいずれかの選択を受け付けることとなる。ここで「手動」が選択された場合には、更に入力領域307に縮小率の入力がなされることとなり、307に入力された縮小率がステップS105における縮小率として設定される。一方、「自動」が選択された場合には、縮小率は予め定められた値に設定される。この予め定められた縮小率は、例えば、「50%」とすることができる。縮小率の設定は、実行ボタン308の操作に応じて行われ、実行ボタン308が操作されると、ステップS106以降の処理が行われる。
まず、ステップS106では、赤目領域303の縮小、虹彩領域304の拡大のために、処理対象画像について座標軸が設定される。赤目領域303は瞳孔領域であり、通常は目の中心部分に存在することが多いので、この座標軸の設定は、抽出された赤目領域303に注目して行われる。
ここで図4を参照して座標軸の設定について、より詳細に説明する。図4において、斜線で示される領域が赤目領域303に相当する。それ以外の部分は虹彩領域304である。座標軸の設定方法としては、まず検出された赤目領域303に対し、縦方向及び横方向の画像数を算出する。算出された画素数から、縦の長さY及び横の長さXに基づき、赤目領域303が含まれる矩形領域401を設定することができる。この矩形領域401の頂点から、各長さの半分にあたるX/2、Y/2だけ移動した位置402が、赤目領域303の中心として決定される。この赤目領域303の中心402を原点と設定し、2次元の座標軸が設定される。
座標軸の設定例は、例えば図5に示されるようになる。ここで示されるように、ステップS106において決定された中心402を原点とし、画像の水平方向をX軸、垂直方向をY軸として、座標軸が設定される。なお、図5では、説明を簡単にするために、赤目領域303及び虹彩領域304の形状をそれぞれ簡略化して、楕円として考える。
図5において、原点402を含む領域が赤目領域303、赤目領域303の外側を囲うような領域が虹彩領域304となる。赤目領域303及び虹彩領域304のX軸方向の最大値は、それぞれXR、XIとなる。また、Y軸方向の最大値は、それぞれYR、YIとなる。更に、赤目領域303及び虹彩領域304のX軸方向の最小値は、それぞれ−XR、−XIとなる。また、Y軸方向の最小値は、それぞれ−YR、−YIとなる。
このように設定された座標軸に基づき、ステップS107及びステップS108では、赤目領域303の縮小処理及び虹彩領域304の拡大処理が行われる。図6は、赤目領域303の縮小及び虹彩領域304の拡大処理が行われた後の、処理結果の一例を示す図である。
図6において、303’は縮小後の赤目領域を示し、304’は拡大後の虹彩領域を示している。この縮小後の赤目領域303’及び拡大後の虹彩領域304’のX軸方向の最大値は、XR’及びXIとなる。また、縮小後の赤目領域303’及び拡大後の虹彩領域304’のY軸方向の最大値はYR’及びYIとなる。更に、縮小後の赤目領域303’及び拡大後の虹彩領域304’のX軸方向の最小値は、−XR’と−XIとなる。更に、縮小後の赤目領域303’及び拡大後の虹彩領域304’のY軸方向最小値は、−YR’及び−YIとなる。
なお、縮小後の赤目領域303’の最大値XR’とYR’、及び、最小値−XR’と−YR’は縮小率によって変化する。
次に、図5の処理前の画像から、図6の処理後の画像を生成するための、ステップS107及びS108における処理の詳細を説明する。
赤目領域303の縮小及び虹彩領域304の拡大処理では、図7に示すように、まず拡大縮小後の座標((xr', yr')、(xi', yi'))から、拡大縮小前のどの座標((xr,yr), (xi, yi))を参照するかを算出する。次に、算出した座標((xr,yr), (xi, yi))の画素値(R(xr, yr), I(xi, yi),)を、縮小・拡大後の座標((xr',yr'), (xi', yi'))の画素値(R'(xr', yr'), I'(xi', yi'))として用いる。なお、拡大・縮小に際し、座標を演算により求める場合、小数部分は四捨五入して整数値として採用する。
以下では、まず、赤目領域303の縮小処理について説明する。ここで、縮小後の赤目領域303’における注目画素(xr',yr')の画素値をR'(xr',yr')とする。このとき、注目画素と縮小率とにより縮小前の座標(xr",yr")は、以下のようにして算出することができる。
xr"=1/α1×xr' (10)
yr"=1/α2×yr' (11)
なお各座標値は、X軸方向縮小率をα1(0<α1<1)、Y軸方向縮小率をα2(0<α2<1)として、以下の範囲に定められる。
XR'=XR×α1(12)
YR'=YR×α2(13)
縮小前の瞳孔領域303 :-XR≦xr"≦XR
-YR≦yr"≦YR
縮小後の瞳孔領域303’:-XR'≦xr'≦XR'
-YR'≦yr'≦YR'
なお、最小値(-XR',-YR')に関しても、(12)、(13)の式と同様に求めることができる。
ここで、α1及びα2は、ステップS105において設定された縮小率により求めることができる。なお、X軸方向及びY軸方向の縮小率が独立に設定された場合には異なる値として設定され、同一の値の場合にはα1=α2として同一の値が設定される。
上記により求められた座標(xr",yr")は、必ずしも整数値とはならず、小数を含む実数となる可能性が高い。即ち、例えば、数値xの整数部分を"int(x)"と表現すると仮定して、xr"及びyr"についてint(xr")≦xr"<int(xr")+1、int(yr")≦yr"<int(yr")+1が成立する。本実施形態では、このような実数を整数として扱うために、小数点以下の数値を四捨五入する。これを図8を参照して説明すると、求められた座標(xr"、yr")について4つの領域を想定し、いずれの領域に属するかに応じて、縮小前の座標(xr, yr)を決定する。
図8では、(int(xr"),int(yr"))、(int(xr")+1,int(yr"))、(int(xr"),int(yr")+1)及び(int(xr")+1,int(yr")+1)により、領域A乃至Dが設定される。図8では、座標(xr",yr")は領域Aに属していることが分かる。従って、求める座標(xr,yr)は、(int(xr"),int(yr")+1)となる。そして、このようにして求められた座標(xr,yr)の画素値R(xr,yr)を、座標(xr', yr')の画素値R'(xy',yr')に割り当てる。
このような処理を、縮小後の赤目領域303’内に属する画素の全てについて実行することで、縮小後の赤目領域303’の画素値を全て決定することができる。
次に、ステップS108における虹彩領域304の拡大処理について説明する。拡大後の赤目領域304’における注目画素(xi',yi')の画素値をR'(xi',yi')とする。
このとき、注目画素と拡大率とにより拡大前の座標(xi",yi")は、以下のようにして算出することができる。
xi"=β1×xi' (14)
yi"=β2×yi' (15)
なお各座標値は、
X軸方向拡大率:β1=(XI-XR')/(XI-XR)>1 (16)
Y軸方向拡大率:β2=(YI-YR')/(YI-YR)>1 (17)
として、以下の範囲に定められる。なお、XR’及びYR’は、縮小後の赤目領域303’の最大値と一致する。
拡大前の虹彩領域304 : XR≦xi"≦XI
-XI≦xi"≦-XR
YR≦yi"≦YI
-YI≦yi"≦-YR
拡大後の虹彩領域304’ : XR'≦xi'≦XI
-XI≦xi'≦-XR'
YR'≦yi'≦YI
-YI≦yi'≦-YR'
上記により求められた座標(xi",yi")は、赤目領域303の縮小処理の場合と同様、必ずしも整数値とはならず、小数を含む実数となる可能性が高い。そこで、本実施形態では、小数点以下の数値を四捨五入する。これを図9を参照して説明すると、求められた座標(xi"、yi")について4つの領域を想定し、いずれの領域に属するかに応じて、拡大前の座標(xi, yi)を決定する。
図9では、(int(xi"),int(yi"))、(int(xi")+1,int(yi"))、(int(xi"),int(yi")+1)及び(int(xi")+1,int(yi")+1)により、領域E乃至Hが設定される。図9で、座標(xi",yi")は領域Fに属していることが分かる。従って、求める座標(xi,yi)は、(int(xi")+1,int(yi")+1)となる。そして、このようにして求められた座標(xi,yi)の画素値R(xi,yi)を、座標(xi', yi')の画素値R'(xi',yi')に割り当てる。
なお、求められた座標(xi",yi")が、拡大前の虹彩領域304を超える場合は、予め虹彩領域内の画像データから平均値を計算しておき、その値で代用しても良い。或いは、座標(xi",yi")と原点とを結んだ線上に存在する画素のうち、最も座標(xi",yi")に近い画素を選択しても良い。
このような拡大処理を、拡大後の虹彩領域304’内に属する画素の全てについて実行することで、拡大後の虹彩領域304’の画素値を全て決定することができる。
続いて、ステップS109では縮小後の赤目領域内の彩度、明度の1つもしくはその両方のレベルを下げることにより赤目補正が行われる。該赤目補正は、以下の式に基づいて行うことができる。
(変更後の彩度) = (変更前の彩度) × Rs (18)
(変更後の明度) = (変更前の明度) × Ri (19)
経験的には、Rs=0.1, Ri=0.3と設定するとより自然な赤目補正を行うことができる。
最後にステップS110において、元画像データの色相と、補正後の彩度、明度で表される色空間からRGBに逆変換を行うことにより、赤目を補正した画像を得ることができる。なお、この補正結果は、図3の拡大表示領域302に赤目領域縮小後の画像として表示される。
更に、ステップS111では、補正後の目の画像を元の顔画像データに合成することで、赤目補正処理が完了する。
このように、本実施形態では赤目の原因となる瞳孔の開きに注目し、自動もしくは手動により設定された赤目領域の縮小率に基づき、赤目領域を縮小することで、開いたままの状態の瞳孔領域を閉じた状態にすることができる。また、縮小された赤目領域分だけ虹彩領域を拡大し、縮小した赤目領域内の画像データの彩度もしくは明度もしくはその両方のレベルを低くして赤目の補正を行うことにより、より自然な赤目補正を行うことができる。
[第2の実施形態]
第2の実施形態について説明する。本実施形態に対応する画像処理装置の構成は、図1と同様である。また、赤目補正処理の方法も、図2を参照して説明したものとほぼ同様である。但し、本実施形態では、ステップS107における赤目領域303の縮小処理及び、ステップS108における虹彩領域304の拡大処理の手法が、第1の実施形態とは異なる。
具体的に、第1の実施形態では赤目領域303の縮小、虹彩領域304の拡大を行う際に、座標計算の結果が少数を含むものとなった場合には小数部分を四捨五入して、参照する画像データの座標位置を決定した。これらは図8及び図9を参照して説明したとおりである。
しかし、小数部分を四捨五入してしまうと、拡大縮小後の赤目領域303’及び虹彩領域304’の画質が劣化してしまう場合がある。そこで、本実施形態では更なる画質向上のために線形補完法を用いて、赤目領域303の縮小及び虹彩領域304の拡大を行う。
以下では、まず、図10を参照して赤目領域303の縮小処理について説明する。ここで、縮小後の赤目領域303’における注目画素(xr',yr')の画素値をR'(xr',yr')とする。このとき、注目画素と縮小率とにより縮小前の座標(xr,yr)は、式(10)、(11)と同様にして、以下のようにして算出することができる。
xr=1/α1×xr'
yr=1/α2×yr'
X軸方向縮小率: α1(0<α1<1)
Y軸方向縮小率: α2(0<α2<1)
ここで求められる座標(xr,yr)は、必ずしも整数値とはならず、小数を含む実数となる可能性が高い。ここで、xr及びyrの整数部分を"int(xr)","int(yr)"と表わすこととする。図10では、座標(xr,yr)は、(int(xr),int(yr))、(int(xr)+1,int(yr))、(int(xr),int(yr)+1)及び(int(xr)+1,int(yr)+1)で設定される領域内に存在することとなる。このとき、座標値のX軸方向の差分値dxrとY軸方向の差分値dyrは以下のように表される。
dxr=xr-int(xr) (20)
dyr=yr-int(yr) (21)
ここで、座標(int(xr), int(yr))及び(int(xr),int(yr)+1)の画素値をそれぞれR(int(xr), int(yr))及びR(int(xr),int(yr)+1)とする。また、座標(int(xr), int(yr)+1)及び(int(xr)+1,int(yr)+1)の画素値をそれぞれR(int(xr), int(yr)+1)及びR(int(xr)+1,int(yr)+1)とする。このとき、座標(xr, int(yr))及び(xr,int(yr)+1)の画素値R1(xr, int(yr))及びR2(xr,int(yr)+1)は、それぞれ以下のように求められる。
R1(xr, int(yr))=(1-dxr)×R(int(xr),int(yr))+dxr×R(int(xr)+1,int(yr)) (22)
R2(xr, int(yr)+1)=(1-dxr)×R(int(xr),int(yr)+1)+dxr×R(int(xr)+1, int(yr)+1) (23)
これにより、縮小前の座標(xr,yr)の画素値R(xr,yr)は以下のように求められる。
R(xr,yr)=(1-dyr)×R1(xr,int(yr))+dyr×R2(xr,int(yr)+1) (24)
このとき縮小前の領域と縮小後の領域の最大値、最小値は、第1の実施形態の場合と同様に求められる。
次に、図11を参照して虹彩領域304の拡大処理について説明する。ここで、拡大後の虹彩領域304’における注目画素(xi',yi')の画素値をI'(xi',yi')とする。このとき、注目画素と拡大率とにより拡大前の座標(xr,yr)は、式(14)、(15)と同様にして、以下のようにして算出することができる。
xi=β1×xi'
yi=β2×yi'
X軸方向拡大率: β1(1<β1)
Y軸方向拡大率: β2(1<β2)
ここで求められる座標(xi,yi)は、必ずしも整数値とはならず、小数を含む実数となる可能性が高い。ここで、xi及びyiの整数部分を"int(xi)","int(yi)"と表わすこととする。図11では、座標(xi,yi)は、(int(xi),int(yi))、(int(xi)+1,int(yi))、(int(xi),int(yi)+1)及び(int(xi)+1,int(yi)+1)で設定される領域内に存在することとなる。このとき、座標値のX軸方向の差分値dxiとY軸方向の差分値dyiは以下のように表される。
dxi=xi-int(xi) (25)
dyi=yi-int(yi) (26)
ここで、座標(int(xi), int(yi))及び(int(xi),int(yi)+1)の画素値をそれぞれI(int(xi), int(yi))及びI(int(xi),int(yi)+1)とする。また、座標(int(xi), int(yi)+1)及び(int(xi)+1,int(yi)+1)の画素値をそれぞれI(int(xi), int(yi)+1)及びI(int(xi)+1,int(yi)+1)とする。このとき、座標(xi, int(yi))及び(xi,int(yi)+1)の画素値I1(xi, int(yi))及びI2(xi,int(yi)+1)は、それぞれ以下のように求められる。
I1(xi, int(yi))=(1-dxi)×I(int(xi),int(yi))+dxi×I(int(xi)+1, int(yi)) (27)
I2(xi, int(yi)+1)=(1-dxi)×I(int(xi),int(yi+1))+dxi×I(int(xi)+1, int(yi)+1) (28)
これにより、拡大前の座標(xi,yi)の画素値I(xi,yi)は以下のように求められる。
I(xi,yi)=(1-dyi)×I1(xi, int(yi))+dyi×I2(xi, int(yi)+1) (29)
以上の方法により、縮小された赤目領域に対して、赤目領域内の画像データの彩度及び明度の1つもしくはその両方のレベルを下げることにより、赤目の補正を行うことができる。また、本実施形態では、線形補完法を用いて処理に使用する画素値を決定するので、処理後の画質がより良いものとなり、第1の実施形態の場合と比べ、赤目領域の補正結果を更に自然なものとすることができる。
[第3の実施形態]
次に、第3の実施形態について説明する。本実施形態に対応する画像処理装置の構成は、図1と同様である。また、赤目補正処理の方法も、上記の第1及び第2の実施形態で説明したものとほぼ同様である。但し、本実施形態では、ステップS104における領域検出処理の方法が、第1及び第2の実施形態とは異なる。
通常、人物画像を撮影すると、図12に示すように赤目領域303の内部に1201のようなハイライト部分が含まれる。このハイライト部分1201は、人物画像の重要なポイントとして取り扱われる。仮に、このハイライト部分1201を考慮せずに、赤目領域303を縮小し、赤目領域303内の画像値のレベルを下げた場合、ハイライト部分の効果がなくなってしまう可能性がある。
そこで、本実施形態では、HSIに変換された画像データの赤目領域303の中からハイライト部分1201を更に検出し、補正領域から除外することで、ハイライトの効果を保持する。
ハイライト部分1201の検出方法として、例えばHSIに変換された赤目領域303内で彩度(S)が以下の条件を満たす場合に、赤目領域303におけるハイライト部分1201とみなし、赤目補正領域から除外することができる。
S > 2.7 (30)
このようにして、ハイライト部分1201を設定することができる。該ハイライト部分1201の範囲は、例えば、図4のXY座標軸に適用すると、以下のように表すことができる。
ハイライト部分1201 :-XH≦xh≦XH
-YH≦yh≦YH
ここで、(xh, yh)は、ハイライト部分1201内の画素の座標を示し、XH,YHは、X軸方向及びY軸方向の最大値を示す。このとき、縮小前後の赤目領域303の範囲は、以下のように表されることとなる。
縮小前の瞳孔領域303 : XH≦xr"≦XR
YH≦yr"≦YR
-XR≦xr"≦-XH
-YR≦yr"≦-YH
縮小後の瞳孔領域303’: XH≦xr'≦XR'
YH≦yr'≦YR'
-XR'≦xr'≦-XH
-YR'≦yr'≦-YH
なお、虹彩領域304の拡大処理についても、瞳孔領域303の縮小と同様にして、線形補完法を適用して画素値を決定することができる。
このようにして、本実施形態によれば、赤目の原因となる瞳孔領域の広がりを目の中心方向に縮小させ、縮小させた赤目領域に対して補正を行うことにより、より自然な赤目補正を行うことができる。その上で、人物画像の重要なポイントとして取り扱われるハイライト部分を考慮し、補正対象の領域から除外することができる。よって、ハイライト部分の効果を保持して、より一層自然な赤目補正を行うことが可能となる。
[第4の実施形態]
次に、第4の実施形態について説明する。本実施形態に対応する画像処理装置の構成は、図1と同様である。また、赤目補正処理の方法も、上述の実施形態で説明したものとほぼ同様である。但し、本実施形態では、赤目領域の縮小率の決定方法が異なる。
上記の実施形態では、図3の画面において入力領域306で、「自動」又は「手動」のいずれかの選択を受け付ける。「自動」が選択された場合には予め定められた値に縮小率が設定され、「手動」が選択された場合には入力領域307において縮小率の入力を受け付け、入力内容が縮小率として設定される。そして、設定された縮小率に基づいて赤目領域303の補正処理が行われた。しかし、このようにして行われた赤目領域303の縮小処理により得られる結果は、ユーザが想定していた補正結果とは異なる場合がある。
そこで、本実施形態では、赤目領域303を検出し、図3のような画面を表示した後に、ポインティングディバイス15などを用いてユーザが赤目領域303を縮小して、任意の大きさに調整することを可能とする。その上で、設定されたサイズに基づいて縮小率が設定され、赤目補正を行う。
具体的に、図3の画面において「手動」が設定された場合に、図13に示すような画面1300を表示して、ポインティングディバイス15によるサイズの設定を受け付ける。図13では、ステップS104で検出された赤目領域303に対し、ユーザに分かり易いように赤目領域303を、赤目領域303の輪郭を模した図形1301で囲うように表示する。ユーザはポインティングディバイス15により、カーソル1302を図形1301上に移動させ、図形1301の大きさを調整することができる。
任意の大きさに調整した後、実行ボタン1303にて確定することができる。実行ボタン1303が選択されると、図3の画面に戻る。また、図13の画面による縮小率の設定を行わない場合には、キャンセルボタン1304を操作することができる。キャンセルボタン1304が操作された場合も、図3の画面に戻る。
このようにしてポインティングディバイス15により設定された図形1301の大きさと、赤目領域303の大きさとに基づいて、赤目補正のための縮小率が計算される。例えば、図形1301におけるX軸方向の最大値と、縮小前の赤目領域303のX軸方向の最大値との割合に基づいて、該縮小率を計算することができる。なお、縮小率の計算には、X軸方向、Y軸方向、最大値及び最小値のいずれを用いてもよい。
また、図3の拡大表示領域302内で、図13の図形1301を表示させ、入力領域307に入力された数値に基づいて、図形1301の大きさを縮小・拡大させてもよい。その場合には、入力数値に基づき、カーソル1302による設定が困難となるような微妙な調整も可能となる。
このようにして算出された縮小率を用いて赤目領域303の縮小を行う方法は、上記の実施形態において説明したとおりである。
以上のように、本実施形態によればと、赤目の原因となる瞳孔領域の広がりを、ユーザがポインティングディバイスなどにより確認しながら縮小できる。よって、瞳孔領域をユーザの好みのサイズに縮小することが可能となり、ユーザの好みを反映させた赤目補正が可能となる。
[第5の実施形態]
次に、第5の実施形態について説明する。本実施形態に対応する画像処理装置の構成は、図1と同様である。また、赤目補正処理の方法も、上述の第1乃至第3実施形態で説明したものとほぼ同様である。但し、本実施形態では、赤目領域の縮小率の決定方法及びステップS107及びステップS108における縮小・拡大処理の方法が異なる。
まず、第1の実施形態等では、図3の画面に基づいて、予め定められた値と、ユーザから指定入力された値とのいずれかに縮小率が設定された。このようにして設定された縮小率は、縮小処理全体において一定であった。
これに対し本実施形態では、図14a及び図14bに示すような曲線1401及び1403に基づき、縮小率を変動させながら赤目領域303の縮小処理を行うこととする。また、虹彩領域304の拡大についても同様に図14a及び図14bの1402及び1404に示すような曲線に基づき、拡大率を変動させながら処理を行う。
図14a及び図14bは、縮小・拡大処理の前後における赤目領域及び虹彩領域内の各画素の座標値の対応関係を示すグラフである。図14aはX座標(横方向)、図14bはY座標(縦方向)の関係を示す。図14aにおいて、横軸は、サイズ変更前のX座標値を示し、原点からXRまでが縮小処理前の赤目領域303内の画素の座標xrを示す。また、XRからXIまでが拡大前の虹彩領域304内の画素の座標値xiを示す。一方、縦軸は、サイズ変更後のX座標値を示し、原点からXR’までが縮小処理後の赤目領域303’内の画素の座標値xr’を示す。また、XR’からXIまでが拡大後の虹彩領域304’内の画素の座標値xi’を示す。
同様に図14bにおいて、横軸は、サイズ変更前のY座標値を示し、原点からYRまでが縮小処理前の赤目領域303内の画素の座標yrを示す。また、YRからYIまでが拡大前の虹彩領域304内の画素の座標値yiを示す。一方、縦軸は、サイズ変更後のY座標値を示し、原点からYR’までが縮小処理後の赤目領域303’内の画素の座標値yr’を示す。また、YR’からYIまでが拡大後の虹彩領域304’内の画素の座標値yi’を示す。
図14a及び図14bにおける曲線1401及び1403は以下のように設定することができる。まず、ステップS105において設定された縮小率に基づいて、縮小後の赤目領域304’と拡大後の虹彩領域304’との境界領域の座標XR’及びYR’を特定することができる。これに基づいて、図14aでは、原点と(XR,XR’)とを結ぶ二次関数を設定して曲線1401を設定することができる。また、図14bでも、原点と(YR,YR’)とを結ぶ二次関数を設定して曲線1403を設定することができる。
次に、図14aにおいて、(XR,XR’)と、(XI、XI)とを結ぶ二次関数を設定して曲線1402を設定することができる。また、図14bにおいて(YR,YR’)と、(YI、YI)とを結ぶ二次関数を設定して曲線1404を設定することができる。
このようにして、拡大後の赤目領域303’及び虹彩領域304’内の任意の画素の座標(x’、y’)を特定することができる。また、係る座標について使用する画素値を、図14a及び図14bにおいて対応するサイズ変更前の座標値に基づいて特定することができる。
即ち、サイズ変更後の座標(x’、y’)の座標が決まれば、図14a及び図14bにおいて、x’及びy’に対応するx及びyを特定することができる。その上で、サイズ変更前の座標(x、y)における画素値R(x、y)を(x’、y’)の画素値R(x’、y’)に割り当てることができる。
以上のように、本実施形態では、図14a及び図14bに示すような領域毎の二次関数グラフを用いて赤目領域303の縮小及び虹彩領域304の拡大処理を行うことができる。なお、グラフを適用する領域は、両方であっても良いし、いずれか一方のみであっても良い。
[その他の実施形態]
本発明の目的は、前述した機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムに供給し、そのシステムがプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現し、そのプログラムコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
本発明の実施形態に対応する画像処理装置の構成の一例を示すブロック図である。 本発明の第1の実施形態に対応する赤目補正処理の一例を示すフローチャートである。 本発明の第1の実施形態に対応する赤目領域の縮小率の設定画面の一例を示す図である。 本発明の第1の実施形態に対応する赤目補正処理のための座標軸の設定方法を説明するための図である。 本発明の第1の実施形態に対応する、瞳孔領域303の縮小前、虹彩領域304の拡大前における領域設定の例を示した図である。 本発明の第1の実施形態に対応する瞳孔領域303の縮小後、虹彩領域304の拡大後における領域設定の例を示した図である。 本発明の第1の実施形態に対応する赤目補正処理を説明するための図である。 本発明の第1の実施形態に対応する瞳孔領域303の縮小方法を説明するための図である。 本発明の第1の実施形態に対応する虹彩領域304の拡大方法を説明するための図である。 本発明の第2の実施形態に対応する瞳孔領域303の縮小方法を説明するための図である。 本発明の第2の実施形態に対応する虹彩領域304の拡大方法を説明するための図である。 本発明の第3の実施形態に対応する、赤目領域303内にハイライト部分を含む場合を説明するための図である。 本発明の第4の実施形態に対応する表示画面の一例を示す図である。 本発明の第5の実施形態に対応する赤目補正処理における、縮小・拡大処理の前後における赤目領域及び虹彩領域内の各画素の座標値の対応関係を示すグラフである。 本発明の第5の実施形態に対応する赤目補正処理における、縮小・拡大処理の前後における赤目領域及び虹彩領域内の各画素の座標値の対応関係を示すグラフである。

Claims (22)

  1. 顔画像データにおいて、赤目領域と虹彩領域とを含む目の領域を抽出する抽出手段と、
    前記目の領域において前記赤目領域と前記虹彩領域とを検出する検出手段と、
    検出された前記赤目領域の縮小率を設定する設定手段と、
    前記縮小率に基づき前記赤目領域を縮小する縮小手段と、
    前記縮小手段により縮小された赤目領域分だけ前記虹彩領域を拡大する拡大手段と、
    縮小された前記赤目領域内の画像値を補正する補正手段と、
    補正された前記赤目領域及び前記拡大された虹彩領域の画像データを、前記顔画像データと合成する合成手段と
    を備えることを特徴とする画像処理装置。
  2. 前記縮小手段は、前記赤目領域の中心を決定し、前記縮小率に基づき前記赤目領域を前記中心の方向に向かって縮小することを特徴とする請求項1に記載の画像処理装置。
  3. 前記縮小手段は、前記縮小率に従って縮小後の赤目領域を設定し、該縮小後の赤目領域内に含まれる画素の画素値に、縮小前の赤目領域に含まれる画素の画素値を該縮小率に基づいて割り当てることにより、前記赤目領域を縮小することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記縮小手段は、前記縮小率に基づいて、前記縮小前の赤目領域内の画素と、前記縮小後の赤目領域内の画素とを対応づけ、
    該対応づけに基づいて、前記縮小後の赤目領域内に含まれる画素の画素値に、前記縮小前の赤目領域に含まれる画素の画素値を割り当てることを特徴とする請求項3に記載の画像処理装置。
  5. 前記拡大手段は、縮小された前記赤目領域分を利用して拡大後の虹彩領域を設定し、前記拡大後の虹彩領域と拡大前の虹彩領域とに基づいて該虹彩領域の拡大率を算出し、前記拡大後の虹彩領域内に含まれる画素の画素値に、前記拡大前の虹彩領域に含まれる画素の画素値を前記拡大率に基づいて割り当てることにより、前記虹彩領域を拡大することを特徴とする請求項1乃至4のいずれかに記載の画像処理装置。
  6. 前記拡大手段は、前記拡大前の虹彩領域内の画素と、前記拡大後の虹彩領域内の画素とを対応づけ、
    該対応づけに基づいて、前記拡大後の虹彩領域内に含まれる画素の画素値に、前記拡大前の虹彩領域に含まれる画素の画素値を割り当てることを特徴とする請求項5に記載の画像処理装置。
  7. 前記補正手段は、縮小された前記赤目領域内の各画素の画像値の少なくとも彩度及び明度のいずれかを低減することにより前記補正を行うことを特徴とする請求項1乃至6のいずれかに記載の画像処理装置。
  8. 前記検出手段は、検出した前記赤目領域において、画素値の彩度が予め定められた閾値を超える画素を該赤目領域から除外することを特徴とする請求項1乃至7のいずれかに記載の画像処理装置。
  9. 前記設定手段は、前記赤目領域及び前記虹彩領域の画像を表示部に表示させ、前記縮小率の設定を、ユーザーによる少なくとも数値入力及び該赤目領域の輪郭図形の大きさの調節のいずれかに基づいて行うことを特徴とする請求項1乃至8のいずれかに記載の画像処理装置。
  10. 前記縮小率は、予め定められた値であることを特徴とする請求項1乃至9のいずれかに記載の画像処理装置。
  11. 顔画像データにおいて、赤目領域と虹彩領域とを含む目の領域を抽出する抽出工程と、
    前記目の領域において前記赤目領域と前記虹彩領域とを検出する検出工程と、
    検出された前記赤目領域の縮小率を設定する設定工程と、
    前記縮小率に基づき前記赤目領域を縮小する縮小工程と、
    前記縮小工程において縮小された赤目領域分だけ前記虹彩領域を拡大する拡大工程と、
    縮小された前記赤目領域内の画像値を補正する補正工程と、
    補正された前記赤目領域及び前記拡大された虹彩領域の画像データを、前記顔画像データと合成する合成工程と
    を備えることを特徴とする画像処理方法。
  12. 前記縮小工程では、前記赤目領域の中心が決定され、前記縮小率に基づき前記赤目領域が前記中心の方向に向かって縮小されることを特徴とする請求項11に記載の画像処理方法。
  13. 前記縮小工程では、前記縮小率に従って縮小後の赤目領域が設定され、前記縮小後の赤目領域内に含まれる画素の画素値に、縮小前の赤目領域に含まれる画素の画素値が該縮小率に基づいて割り当てられることにより、前記赤目領域が縮小されることを特徴とする請求項11又は12に記載の画像処理方法。
  14. 前記縮小工程では、前記縮小率に基づいて、前記縮小前の赤目領域内の画素と、前記縮小後の赤目領域内の画素とが対応づけられ
    該対応づけに基づいて、前記縮小後の赤目領域内に含まれる画素の画素値に、前記縮小前の赤目領域に含まれる画素の画素値が割り当てられることを特徴とする請求項13に記載の画像処理方法。
  15. 前記拡大工程では、縮小された前記赤目領域分を利用して拡大後の虹彩領域が設定され、前記拡大後の虹彩領域と拡大前の虹彩領域とに基づいて該虹彩領域の拡大率が算出され、前記拡大後の虹彩領域内に含まれる画素の画素値に、前記拡大前の虹彩領域に含まれる画素の画素値が前記拡大率に基づいて割り当てられることにより、前記虹彩領域が拡大されることを特徴とする請求項11乃至14のいずれかに記載の画像処理方法。
  16. 前記拡大工程では、前記拡大前の虹彩領域内の画素と、前記拡大後の虹彩領域内の画素とが対応づけられ、
    該対応づけに基づいて、前記拡大後の虹彩領域内に含まれる画素の画素値に、前記拡大前の虹彩領域に含まれる画素の画素値が割り当てられることを特徴とする請求項15に記載の画像処理方法。
  17. 前記補正工程では、縮小された前記赤目領域内の各画素の画像値の少なくとも彩度及び明度のいずれかが低減されることにより前記補正が行われることを特徴とする請求項11乃至16のいずれかに記載の画像処理方法。
  18. 前記検出工程では、検出された前記赤目領域において、画素値の彩度が予め定められた閾値を超える画素が該赤目領域から除外されることを特徴とする請求項11乃至17のいずれかに記載の画像処理方法。
  19. 前記設定工程では、前記赤目領域及び前記虹彩領域の画像が表示部に表示され、前記縮小率の設定が、ユーザーによる少なくとも数値入力及び該赤目領域の輪郭図形の大きさの調節のいずれかに基づいて行われることを特徴とする請求項11乃至18のいずれかに記載の画像処理方法。
  20. 前記縮小率は、予め定められた値であることを特徴とする請求項11乃至19のいずれかに記載の画像処理方法。
  21. 請求項11乃至20のいずれかに記載の画像処理方法をコンピュータに実行させるためのコンピュータプログラム。
  22. 請求項21に記載のコンピュータプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
JP2005356695A 2005-12-09 2005-12-09 画像処理装置及び方法、コンピュータプログラム及び記憶媒体 Withdrawn JP2007164283A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005356695A JP2007164283A (ja) 2005-12-09 2005-12-09 画像処理装置及び方法、コンピュータプログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005356695A JP2007164283A (ja) 2005-12-09 2005-12-09 画像処理装置及び方法、コンピュータプログラム及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2007164283A true JP2007164283A (ja) 2007-06-28

Family

ID=38247132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005356695A Withdrawn JP2007164283A (ja) 2005-12-09 2005-12-09 画像処理装置及び方法、コンピュータプログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2007164283A (ja)

Similar Documents

Publication Publication Date Title
JP6864449B2 (ja) イメージの明るさを調整する方法及び装置
US7580566B2 (en) Image processing device, image processing method, storage medium, and program
US6735330B1 (en) Automatic digital radiographic bright light
WO2018176925A1 (zh) Hdr图像的生成方法及装置
US20070273686A1 (en) Image processing device, image processing method, program, storage medium and integrated circuit
JP2006338377A (ja) 画像補正方法および装置並びにプログラム
JP2000134486A (ja) 画像処理装置及び画像処理方法及び記憶媒体
KR20130020684A (ko) 화상 변형 장치, 전자 기기, 화상 변형 방법, 화상 변형 프로그램, 및 그 프로그램을 기록한 기록 매체
JP2004228994A (ja) 画像編集装置、画像のトリミング方法、及びプログラム
JP4767258B2 (ja) 合成画像を生成する方法
US7212674B1 (en) Method, apparatus and recording medium for face extraction
JP2006081151A (ja) キーヤ用グラフィカル・ユーザ・インターフェース
US9092889B2 (en) Image processing apparatus, image processing method, and program storage medium
JP2004362443A (ja) パラメータ決定方式
JP2007087123A (ja) 画像補正方法および装置並びにプログラム
JP2009237927A (ja) 画像合成方法及び装置
JP4372494B2 (ja) 画像処理装置、画像処理方法、プログラム、記録媒体
JP2007164283A (ja) 画像処理装置及び方法、コンピュータプログラム及び記憶媒体
JP4148165B2 (ja) 画像を重ね合わせて合成画像を生成する画像合成
JP3656570B2 (ja) 画像処理を行なうための装置、方法およびコンピュータプログラム
JP6985931B2 (ja) 画像処理装置、画像処理プログラム、画像処理方法および当該画像処理装置を備える画像形成装置
JP2005208760A (ja) 人物画像抽出装置、及びコンピュータプログラム
KR20020084321A (ko) 템플릿을 이용한 실시간 인물합성방법
JP2007088831A (ja) 画像補正方法および装置並びにプログラム
TW200416620A (en) Variable contrast mapping of digital images

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090303