説明

画像処理装置および画像処理プログラム

【課題】人物の画像で意図しない髪を目立たなくすること。
【解決手段】画像処理装置は、画像から人物の顔を検出する顔検出処理を行う顔検出処理部15と、顔検出処理の結果に基づいて、画像内で顔を含む所定の領域を顔領域として設定する顔領域設定部15と、顔領域内において、該顔領域の上側から該顔領域内へと連続する所定色の部分を、補正対象部分として検出する補正対象検出部15と、補正対象部分を補正する補正処理を行う補正処理部14、15と、を備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理プログラムに関する。
【背景技術】
【0002】
人物画像の髪領域を検出する技術が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−339522号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ポートレート写真のように人物をアップで撮影した場合に、意図しない髪が額や頬などにかかって気になる場合がある。上述した技術では、意図しない髪を目立たなくすることへの適用が困難であった。
【課題を解決するための手段】
【0005】
(1)請求項1に記載の発明による画像処理装置は、画像から人物の顔を検出する顔検出処理を行う顔検出処理部と、顔検出処理の結果に基づいて、画像内で顔を含む所定の領域を顔領域として設定する顔領域設定部と、顔領域内において、該顔領域の上側から該顔領域内へと連続する所定色の部分を、補正対象部分として検出する補正対象検出部と、補正対象部分を補正する補正処理を行う補正処理部と、を備えることを特徴とする。
(2)請求項12に記載の発明による画像処理プログラムは、画像から人物の顔を検出する顔検出処理と、顔検出処理の結果に基づいて、画像内で顔を含む所定の領域を顔領域として設定する顔領域設定処理と、顔領域内において、該顔領域の上側から該顔領域内へと連続する所定色の部分を、補正対象部分として検出する補正対象検出処理と、補正対象部分を補正する補正処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【0006】
本発明によれば、人物の画像で意図しない髪を目立たなくすることができる。
【図面の簡単な説明】
【0007】
【図1】本発明の一実施の形態による撮像装置の構成例を説明するブロック図である。
【図2】CPUが実行する処理の流れを説明するフローチャートである。
【図3】人物の画像を例示する図である。
【図4】顔領域を説明するための図である。
【図5】髪領域を説明するための図である。
【図6】不要髪の毛領域を説明するための図である。
【図7】補正の選択を説明するための図である。
【図8】髪の毛補正処理の結果を例示する図である。
【図9】変形例5を説明するための図である。
【図10】コンピュータを例示する図である。
【発明を実施するための形態】
【0008】
以下、図面を参照して本発明を実施するための形態について説明する。図1は、本発明の一実施の形態による撮像装置1の構成例を説明するブロック図である。図1において、撮像装置1は、撮影光学系11と、撮像素子12と、レンズ駆動制御回路13と、画像信号処理回路14と、CPU15と、LCDモニタ16と、操作部材17と、アクセス部18と、ROM19と、内蔵メモリ20とを備える。
【0009】
撮影光学系11は、ズームレンズやフォーカシングレンズを含む複数のレンズ群で構成され、被写体像を撮像素子12の受光面に結像させる。なお、図1を簡単にするため、撮影光学系11を単レンズとして図示している。レンズ駆動制御回路13は、撮影光学系11のズームレンズを駆動して焦点距離を調節するとともに、撮影光学系11のフォーカシングレンズを駆動して焦点調節を行う。
【0010】
撮像素子12は、画素を構成する受光素子のフォトダイオードが受光面に二次元配列されたCMOSイメージセンサなどによって構成される。撮像素子12は、撮影光学系11を通過した光束による像を光電変換し、デジタル画像データを生成する。なお、撮像素子12で取得される画像から色情報が得られるように、撮像素子12の受光面には画素位置に対応させてR色、G色およびB色のカラーフィルタ(不図示)が設けられている。
【0011】
撮像素子12により生成されたデジタル画像データは、画像信号処理回路14に入力される。画像信号処理回路14は、デジタル画像データに対して各種の画像処理(色補間処理、階調変換処理、輪郭強調処理、ホワイトバランス調整処理など)を施す。
【0012】
LCDモニタ16は液晶パネルなどによって構成される。LCDモニタ16は、CPU15からの指示に応じて画像や操作アイコン、メニュー画面などを表示する。内蔵メモリ20は、画像信号処理回路14による画像処理の前工程や後工程でのデジタル画像データを一時的に記憶する他、CPU15によるプログラム実行時に用いられる。ROM19はCPU15が実行するプログラムなどを記憶する。
【0013】
CPU15は、ROM19が記憶するプログラムを実行することにより、撮像装置1が行う動作を制御する。アクセス部18はコネクタ(不図示)を有し、該コネクタに外部メモリ30が接続される。アクセス部18は、接続された外部メモリ30に対するデータの書き込みや、外部メモリ30からのデータの読み込みを行う。外部メモリ30は、半導体メモリを内蔵したメモリカードなどで構成される。
【0014】
操作部材17は、電源ボタン17A、半押しスイッチ17B、レリーズスイッチ17C、メニュースイッチ17D、OKスイッチ17E、十字スイッチ17Fなどを含む。操作部材17は、撮影操作、モード切替え操作やアイコン選択操作など、各操作に応じた操作信号をCPU15へ送出する。
【0015】
本発明は、上記撮像装置1のCPU15が行う髪の毛補正処理に特徴を有するので、以降は髪の毛補正処理を中心に説明する。なお、髪の毛補正とは、たとえば、人物の画像で意図しない髪を目立たなくすることをいう。
【0016】
図2は、CPU15が実行する髪の毛補正処理の流れを説明するフローチャートである。CPU15は、たとえば、髪の毛補正処理を行う旨の設定がなされている状態で、操作部材17から動作モードを撮影モードに切り替える操作信号が入力されると、動作モードを撮影モードに切り替え、図2の処理を行うプログラムを起動する。図2による髪の毛補正処理の概要は以下の通りである。なお、各ステップの詳細については後述する。
【0017】
ステップS1において、CPU15は、スルー画像の取得を開始してステップS2へ進む。スルー画像は、レリーズ操作前に撮像素子12で撮像され、LCDモニタ16に逐次表示されるモニタ用画像である。ステップS2において、CPU15は、撮像装置1の露出状態を、通常の適正露出よりもアンダー露出(たとえば数%)に変更して、ステップS3へ進む。
【0018】
ステップS3において、CPU15は、シャッタボタン(不図示)が全押し操作されたか否かを判定する。レリーズスイッチ17Cは、シャッタボタンの押下操作に連動してオン/オフするスイッチであり、シャッタボタンが全押しされるとオンする。CPU15は、レリーズスイッチ17Cからオン信号が入力されると、ステップS3を肯定判定してステップS10へ進む。CPU15は、レリーズスイッチ17Cからオン信号が入力されない場合にはステップS3を否定判定してステップS4へ進む。
【0019】
ステップS4において、CPU15は、スルー画像に対して顔検出処理を実行して、ステップS5へ進む。なお、顔検出は、画像に含まれる人物の顔を検出することをいう。ステップS5において、CPU15は、スルー画像に顔が存在するか否かを判定する。CPU15は、ステップS4の顔検出処理により顔を検出した場合、ステップS5を肯定判定してステップS6へ進む。CPU15は、ステップS4の顔検出処理により顔を検出しなかった場合、ステップS5を否定判定してステップS3へ戻る。
【0020】
ステップS6において、CPU15は、ステップS4の顔検出処理により検出した顔を含む所定の領域(顔領域)に基づいて人物の髪の毛を含む所定の領域(髪領域)を設定して、ステップS7へ進む。ステップS7において、CPU15は、ステップS6で設定した髪領域から、意図しない髪の毛が写っている可能性が高い部分(不要髪の毛部)を検出する処理を実行して、ステップS8へ進む。
【0021】
ステップS8において、CPU15は、スルー画像に上記不要髪の毛部が存在するか否かを判定する。CPU15は、ステップS7の処理により不要髪の毛部を検出した場合、ステップS8を肯定判定してステップS9へ進む。CPU15は、ステップS7の処理により不要髪の毛部を検出しなかった場合、ステップS8を否定判定してステップS3へ戻る。
【0022】
ステップS9において、CPU15は、不要髪の毛部が存在することをユーザに通知し、ステップS3へ戻る。CPU15は、レリーズ操作が行われてステップS3を肯定判定するまで、ステップS4〜S9の処理を繰り返す。
【0023】
CPU15は、レリーズ操作が行われてステップS3を肯定判定すると、ステップS10へ進み、記録用画像(以下、撮影画像と呼ぶ)を取得して、ステップS11へ進む。これにより、レリーズ操作後に撮像素子12で撮像された画像に基づく再生画像がLCDモニタ16に表示される。ステップS11において、CPU15は、撮影画像に対して顔検出処理を実行して、ステップS12へ進む。
【0024】
ステップS12において、CPU15は、撮影画像に顔が存在するか否かを判定する。CPU15は、ステップS11の顔検出処理により顔を検出した場合、ステップS12を肯定判定してステップS13へ進む。CPU15は、ステップS11の顔検出処理により顔を検出しなかった場合、ステップS12を否定判定してステップS13〜ステップS18をスキップし、ステップS19へ進む。
【0025】
ステップS13において、CPU15は、ステップS11の顔検出処理により検出された顔領域に基づいて髪領域を設定して、ステップS14へ進む。ステップS14において、CPU15は、ステップS13で設定した髪領域から不要髪の毛部を検出する処理を実行して、ステップS15へ進む。
【0026】
ステップS15において、CPU15は、ステップS13で設定した髪領域に不要髪の毛部が存在するか否かを判定する。CPU15は、ステップS14の処理により不要髪の毛部を検出した場合、ステップS15を肯定判定してステップS16へ進む。CPU15は、ステップS14の処理により不要髪の毛部を検出しなかった場合、ステップS15を否定判定してステップS16〜18をスキップし、ステップS19へ進む。
【0027】
ステップS16において、CPU15は、不要髪の毛部が存在することをユーザに通知し、ステップS17へ進む。ステップS17において、CPU15は、ユーザにより、不要髪の毛部の補正が指示されたか否かを判定する。ユーザは、操作部材17を操作して、不要髪の毛部を補正するか否かを選択する。CPU15は、操作部材17から不要髪の毛部の補正を指示する操作信号が入力されると、ステップS17を肯定判定してステップS18へ進む。CPU15は、操作部材17から不要髪の毛部の補正を指示する操作信号が入力されなかった場合、ステップS17を否定判定してステップS18をスキップし、ステップS19へ進む。
【0028】
ステップS19において、CPU15は画像信号処理回路14に指示を送り、撮影画像に対して不要髪の毛部を補正する画像処理を行わせ、ステップS19へ進む。ステップS19において、CPU15は画像信号処理回路14に指示を送り、撮影画像に対して、ステップS2において変更した露出レベルを補正する画像処理を行わせ、ステップS20へ進む。ステップS20において、CPU15は記録処理を行って図2による処理を終了する。記録処理では、ステップS19における補正処理が完了した撮影画像のデータを、外部メモリ30へ記録する。
【0029】
次に上述した髪の毛補正処理の詳細について具体的に説明する。ここでは一例として、図3に示す画像に対して髪の毛補正処理を行う場合を説明する。CPU15は、上記ステップS4およびS11において、画像に対して顔検出処理を実行する。なお、顔検出処理は公知の技術を用いるため、詳細な説明は省略する。CPU15は、顔検出処理の結果を用いて人物の顔部分を検出し、該顔部分における目、鼻、口、耳などの各パーツの位置情報を取得する。
【0030】
上述した髪領域の設定(S6およびS13)の詳細について、図4および図5を参照して説明する。CPU15は、図4に示すように、画像を複数(たとえば縦5×横5)のブロック群51に等分割し、上記顔検出処理によって検出した顔部分を含むブロックを顔領域52として設定する。CPU15は、図5に示すように、顔領域52を構成するブロックのうち、上記顔検出処理によって検出した口の位置よりも上に位置し、色相が髪の毛色(略黒色または略茶色)の画素を含むブロックを髪領域53として設定する。なお、髪の毛色は、RGBデータのR/G、B/Gの値に基づいて判定する。
【0031】
CPU15は、上記不要髪の毛部の検出(S7およびS14)を以下のように行う。CPU15は、髪領域53内で、色相が髪の毛色である画素が連続する部分を、髪の毛部として検出する。そしてCPU15は、髪の毛部のうち、以下の条件1〜3の全てを満たすものを、不要髪の毛部として検出する。
(条件1)顔の輪郭の内側(顔部分)に位置すること。
(条件2)顔領域52の外側であって画面の上部から色相が髪の毛色である画素が連続していること。
(条件3)目の位置よりも下の位置まで連続していること。
【0032】
条件1は、顔にかかっている髪の毛を検出するためのものである。条件2は、顔領域52の上側、すなわち頭部から連続している部分を検出するためのものである。髪の毛色と同色であっても髪の毛ではない部分(たとえば眉毛や目など)を検出しないようにするために設ける。条件3は、たとえば前髪などを検出しないようにするためのものである。
【0033】
CPU15は、顔検出処理により取得された顔部分や目の位置に基づいて、上記不要髪の毛部の検出を行う。CPU15は、不要髪の毛部を検出すると、図6に例示するように、髪領域53を構成するブロックのうち、不要髪の毛部を含むブロックを不要髪の毛領域54として設定する。
【0034】
スルー画像表示時におけるユーザへの通知(S9)の詳細について説明する。CPU15は、LCDモニタ16に表示されたスルー画像上に、不要髪の毛領域54の各ブロックを示す枠と、不要髪の毛部が検出された旨を示すメッセージとを表示させる。なお、本実施形態の撮像装置1は、スルー画像表示時については不要髪の毛部を含むブロックをユーザに通知することにとどめ、不要髪の毛部を補正する処理は行わない。
【0035】
撮影画像表示時におけるユーザへの通知(S16)の詳細について、図7を参照して説明する。CPU15は、LCDモニタ16に表示された撮影画像上に、不要髪の毛領域54の各ブロックを示す不要髪の毛領域枠55を表示させる。
【0036】
またCPU15は、不要髪の毛部において、上記条件1〜3に加えて以下の条件4を満たすものを、意図しない髪の毛である可能性がより高い部分として検出する。
(条件4)水平方向において、目と耳との間に位置しないこと。
【0037】
条件4は、耳の周りの毛(たとえばモミアゲや後れ毛など)を検出しないようにするためのものである。
【0038】
CPU15は、上記条件4を満たす不要髪の毛部を含むブロックについては、枠(選択枠)56を強調表示させる。CPU15は、たとえば選択枠56を、他の不要髪の毛領域枠55と識別しやすくするために、不要髪の毛領域枠55よりも線を太くし異なる色で表示する。このように、CPU15は、意図しない髪の毛を含む可能性がより高いブロックを強調表示することにより、ユーザに、意図しない髪の毛が写っている可能性がより高い箇所を認識させることができる。
【0039】
またCPU15は、撮影画像上の、不要髪の毛領域枠55に重ならない位置(たとえば不要髪の毛領域枠55の上方)に、「選択部分の髪を削除しますか?」というメッセージ表示57Aと、「はい」ボタン57Bと、「いいえ」ボタン57Cとを表示させる。CPU15は、選択枠56を強調表示させているブロックを選択部分とする。
【0040】
CPU15は、撮影画像上にカーソル(不図示)を表示させ、十字スイッチ17Fからの操作信号に応じてカーソルを移動させる。CPU15は、選択されていないブロック上にカーソルがある状態で、OKスイッチ17Eからオン信号が入力されると、該ブロックを選択し、選択枠56を強調表示する。一方CPU15は、選択されているブロック上にカーソルがある状態で、OKスイッチ17Eからオン信号が入力されると、該ブロックの選択を解除し、選択枠56の強調表示をやめる。
【0041】
CPU15は、「はい」ボタン57B上にカーソルがある状態で、OKスイッチ17Eからオン信号が入力されると、その時点で選択されているブロックに対して不要髪の毛部の補正が指示されたと認識し、上記ステップS17で肯定判定する。CPU15は、「いいえ」ボタン57C上にカーソルがある状態で、OKスイッチ17Eからオン信号が入力されると、不要髪の毛部の補正が指示されなかったと認識し、上記ステップS17で否定判定する。
【0042】
CPU15は、不要髪の毛部の補正が指示されると、画像信号処理回路14に指示を送り、不要髪の毛部の補正(S18)を以下のように行わせる。CPU部15は、選択されたブロック内に存在する不要髪の毛部において、目の位置よりも下に位置する部分を補正部分とし、該補正部分を構成する画素を注目画素として設定する。画像信号処理回路14は、注目画素の周囲の画素であって色相が髪の毛色ではない画素を検出し、検出した画素の画素値の平均値を算出する。画像信号処理回路14は、注目画素の画素値を、該平均値に置換する。これにより、注目画素が周囲の色(肌色)に塗りつぶされる。
【0043】
CPU15は、画像信号処理回路14に、このように注目画素を周囲の色で塗りつぶす補正処理を、注目画素を順にずらしながら行わせ、上記補正部分を構成する全ての画素に対して、該補正処理を実行させる。
【0044】
図8は、右から1番目のブロックB1および右から2番目のブロックB2が選択された場合における上記補正処理の結果を示した図である。図3と図8とを比較すると、図8では、選択されたブロックB1およびB2において目の位置よりも下にある髪の毛が周囲の色(肌色)に塗りつぶされることにより、目にかかる髪が目立たなくなっている。
【0045】
以上説明した実施形態によれば、次の作用効果が得られる。
(1)撮像装置1は、画像から人物の顔を検出する顔検出処理を行うCPU15と、顔検出処理の結果に基づいて、画像内で顔を含む所定の領域を顔領域として設定するCPU15と、顔領域内において、該顔領域の上側から該顔領域内へと連続する所定色(髪の毛色)の部分を、補正対象部分として検出するCPU15と、補正対象部分を補正する補正処理を行うCPU15、画像信号処理回路14と、を備えるので、人物の画像で意図しない髪を目立たなくすることができる。
【0046】
(2)上記(1)の撮像装置1において、顔領域を所定のブロックに分割し、補正対象部分を含むブロックを示す情報をLCDモニタ16に表示させるCPU15をさらに備え、CPU15は、指示されたブロック内の画像に対して補正処理を行うように構成したので、ユーザは、意図しない髪が写っている箇所を認識することができ、たとえば操作部材17を操作して、所望の箇所を補正対象にすることができる。
【0047】
(3)上記(1)または(2)の撮像装置1において、CPU15、画像信号処理回路14は、補正対象部分の周囲の色(肌色)であって所定色(髪の毛色)と異なる色へ補正対象部分の色を変換するように構成したので、適切に、意図しない髪を目立たなくすることができる。
【0048】
(4)上記(3)の撮像装置1において、CPU15、画像信号処理回路14は、補正対象部分のうち、目の位置よりも下に位置する部分の色を変換するように構成したので、適切に、意図しない髪を目立たなくすることができる。
【0049】
(5)上記(2)の撮像装置1において、画像はスルー画像であり、CPU15がスルー画像から補正対象部分を検出した場合、CPU15は、該補正対象部分を含むブロックを示す情報をLCDモニタ16に表示させ、CPU15は、該補正対象部分に対する補正処理を禁止するように構成したので、ユーザは、スルー画像において意図しない髪が写っている箇所を認識することができ、たとえば被写体となっている人物に注意を促すことができる。
【0050】
(6)上記(2)または(5)の撮像装置1において、画像は撮影画像であり、CPU15が撮影画像から補正対象部分を検出した場合、CPU15は、該補正対象部分を含むブロックを示す情報をLCDモニタ16に表示させ、CPU15は、指示されたブロック内の画像に対して補正処理を行うように構成したので、ユーザは、撮影画像において意図しない髪が写っている箇所を認識することができ、たとえば操作部材17を操作して、所望の箇所を補正対象にすることができる。
【0051】
(7)上記(1)〜(6)の撮像装置1において、撮影光学系11による被写体像を撮像して画像信号を生成し、CPU15に出力する撮像素子12と、撮像素子12により被写体像を撮像するときの露出を、適正露出よりもアンダー露出に制御するCPU15と、をさらに備えるので、意図しない髪を補正対象部分として適切に検出することができる。
【0052】
(変形例1)
上記不要髪の毛部の検出において、以下の条件5を用いるようにしてもよい。
(条件5)鼻近傍(たとえば鼻から所定距離内)の位置まで連続していること。
【0053】
変形例1のCPU15は、たとえば上記条件1および2に加え、条件5を満たすものを不要髪の毛部として検出する。条件5を満たすか否かの判定には、顔検出処理により取得した鼻の位置情報を用いる。変形例1によれば、鼻にかかる髪の毛を不要髪の毛部として検出することができる。
【0054】
(変形例2)
上記不要髪の毛部の検出に際し、さらに以下の条件6を用いるようにしてもよい。
(条件6)画像の水平方向に対する角度が所定値(たとえば30度)以上であること。
【0055】
変形例2のCPU15は、たとえば上記条件1〜3に加え、条件6を満たすものを不要髪の毛部として検出する。すなわちCPU15は、髪の毛部のうち、画像の水平方向に対する角度が所定値未満であるものについては、不要髪の毛部から除外する。変形例2によれば、髪の毛ではない部分が不要髪の毛部として検出されてしまうのを防止することができる。
【0056】
(変形例3)
また、上記不要髪の毛部の検出に以下の条件7を用いるようにしてもよい。
(条件7)鼻と口との間に位置しないこと。
【0057】
変形例3のCPU15は、たとえば上記条件1〜3に加え、条件7を満たすものを不要髪の毛部として検出する。すなわちCPU15は、鼻と口との間に位置する部分については、不要髪の毛部から除外する。変形例3によれば、髭が不要髪の毛部として検出されてしまうのを防止することができる。
【0058】
(変形例4)
上述した実施の形態では、上記条件4を、選択枠56を強調表示する際に用いるようにしたが、不要髪の毛部の検出に用いるようにしてもよい。変形例4のCPU15は、たとえば上記条件1〜3に加え、条件4を満たすものを不要髪の毛部として検出する。すなわちCPU15は、目と耳との間に位置する部分については、不要髪の毛部から除外する。変形例4によれば、モミアゲや後れ毛が不要髪の毛部として検出されてしまうのを防止することができる。
【0059】
(変形例5)
髪の毛部の形状が、あらかじめ登録された髪型パターンと合致する場合は、不要髪の毛部を検出しないようにしてもよい。この場合、たとえば図9に例示するように、鼻近傍までおろした前髪の目にかかる部分を山型に切り抜いたような髪型(いわゆるM字バング)の情報、すなわち、前髪の輪郭の形状を髪型パターンとしてあらかじめ登録し、登録した髪型パターンのデータをROM17などに格納しておく。
【0060】
変形例5のCPU15は、ステップS7またはS14において髪の毛部を検出すると、たとえば該髪の毛部と肌色部(色相が肌色の部分)との境界を検出する処理を行い、該髪の毛部の形状を検出する。CPU15は、ROM17から登録された髪型パターンの情報を読み出し、該情報に基づいた公知のパターンマッチング技術を用いることにより、該髪の毛部の形状があらかじめ登録された髪型パターンと合致するか否かを判定する。CPU15は、該髪の毛部の形状が、あらかじめ登録された髪型パターンと合致すると判定すると、不要髪の毛部を検出する処理を行わず、ステップS8またはS15を否定判定する。
【0061】
変形例5によれば、たとえば意図して目近傍や鼻近傍におろした前髪などを誤って不要髪の毛部として検出してユーザに通知したり、誤って検出した不要髪の毛部を補正してしまったりすることを防止することができる。
【0062】
(変形例6)
上記髪領域53または髪の毛部の検出において、色相が髪の毛色(略黒色または略茶色)の画素を検出する際に、フラッシュの有無、ホワイトバランス(WB)の調整、シーンモードの設定などによる色相に対する影響を考慮してもよい。
【0063】
フラッシュを発光させて撮影した場合、非発光時と比較して黄色が強く写ることがあるため、髪の毛色を適切に判定できないおそれがある。そこでCPU15は、フラッシュを発光させた撮影画像と非発光の撮影画像との差分に基づいて髪の毛色の検出レベルを補正したのち、撮影画像から色相が髪の毛色の画素を検出する。または、フラッシュを発光させた撮影画像に対して、あらかじめ用意した所定の黄色抑制処理を行ってから、色相が髪の毛色に該当するか否かを検出する。
【0064】
また、WB調整によって撮影画像の色合いが変化するため、髪の毛色を適切に判定できないおそれがある。そこでCPU15は、撮影画像に対してWB調整を行った際のWBゲインの情報(たとえばRゲインおよびBゲインを通常時に比べてどう変化させたかを示す情報)を加味して、撮影画像から色相が髪の毛色の画素を検出する。
【0065】
さらにシーンモードの設定によってフラッシュが発光されたりWBが調整されたりすることで撮影画像の色合いが変化するため、髪の毛色を適切に判定できないおそれがある。そこでCPU15は、シーンモードの設定によりフラッシュが発光されたりWBが調整されたりした場合は、それぞれ上述したように撮影画像から色相が髪の毛色の画素を検出する。
【0066】
(変形例7)
髪の毛補正処理を実行する前に、ユーザが操作部材17を介して、不要髪の毛部に対する補正レベルを設定し得るように構成してもよい。たとえば、不要髪の毛部が1つでも検出されれば補正処理を実行する「高レベル」と、検出した不要髪の毛部が2〜3個(すなわち髪の毛2〜3本)以内であれば補正処理を実行しない「中レベル」と、検出した不要髪の毛部が5個(すなわち髪の毛5本)以内であれば補正処理を実行しない「低レベル」とのいずれかをユーザに選択させる。
【0067】
(変形例8)
1つのブロック内に複数の不要髪の毛部が含まれる場合は、該ブロックをさらに複数に分割するようにしてもよい。変形例9のCPU15は、不要髪の毛部を検出すると、2以上の不要髪の毛部が含まれるブロックを検出する。CPU15は、たとえば1ブロックに対し不要髪の毛部が1つ含まれるように、検出したブロックを分割する。CPU15は、ステップS9またはS16において、該分割後のブロックを示す枠をLCDモニタ16に表示させる。変形例9によれば、不要髪の毛部を1つずつユーザに認識させることができ、補正したい不要髪の毛部を1つずつ選択させることができる。
【0068】
(変形例9)
顔検出処理によって性別を判定し、判定した性別に応じて補正処理の方法を変更するようにしてもよい。変形例10のCPU15は、たとえば顔検出処理によって取得された顔の骨格の形状に基づいて性別を判定する。女性であると判定した場合のCPU15は、たとえば上記条件1〜3を満たすものを不要髪の毛部として検出する。一方、男性であると判定した場合のCPU15は、たとえば上記条件1〜3に加え、条件7を満たすものを不要髪の毛部として検出する。変形例10によれば、男性である場合に髭を不要髪の毛部として検出しないようにできる。
【0069】
また変形例5で上述した髪型パターンを男女別で登録しておいてもよい。この場合のCPU15は、性別の判定結果に応じてパターンマッチング処理に用いる髪型パターンを変更する。
【0070】
(変形例10)
上述した実施の形態では、画像の撮影時に髪の毛補正処理を行うようにしたが、外部メモリ30から画像を読み出して再生表示する際に、再生表示する画像に対して髪の毛補正処理を行うようにしてもよい。
【0071】
(変形例11)
上述した実施の形態では、ユーザにより選択されたブロック内に存在する不要髪の毛部に対して補正を行うようにした。このかわりに、ステップS14において検出した不要髪の毛部全てに対して自動的に補正を行うようにしてもよいし、特定の条件(たとえば条件4など)を満たす不要髪の毛部に対して自動的に補正を行うようにしてもよい。
【0072】
(変形例12)
上述した実施の形態では、略黒色または略茶色を髪の毛色として、色相が髪の毛色である画素を髪の毛部として検出するようにしたが、画像から髪の毛色を取得するようにしてもよい。変形例12のCPU15は、たとえば、顔領域52の上側に位置し且つ顔領域52の近傍に位置する画素の色相を、髪の毛色として取得する。
【0073】
(変形例13)
スルー画像表示時に不要髪の毛部をユーザへ通知する際(S9)に、不要髪の毛領域54の各ブロックを示す枠を表示させることに加え、特定の条件(たとえば条件4など)を満たす不要髪の毛部を含むブロックについては、ブロックを示す枠を強調表示させるようにしてもよい。
【0074】
(変形例14)
上述した実施形態では、撮像装置1のCPU15が髪の毛補正処理を行う例を説明したが、髪の毛補正処理をコンピュータに行わせるように構成するようにしてもよい。図2に例示したフローチャートに基づく処理を行うプログラムを図10に示すコンピュータ100に実行させることにより、髪の毛補正処理を行う画像処理装置を構成する。プログラムをコンピュータ100に取込んで使用する場合には、コンピュータ100のデータストレージ装置にプログラムをローディングした上で、当該プログラムを実行させる。
【0075】
コンピュータ100に対するプログラムのローディングは、プログラムを格納したCD−ROMなどの記憶媒体104をコンピュータ100にセットして行ってもよいし、ネットワークなどの通信回線101を経由する方法でコンピュータ100へローディングしてもよい。通信回線101を経由する場合は、通信回線101に接続されたサーバー(コンピュータ)102のストレージ装置103などにプログラムを格納しておく。プログラムは、記憶媒体や通信回線を介する提供など、種々の形態のコンピュータプログラム製品として供給することができる。
【0076】
なお、コンピュータ100で画像処理装置を構成する場合は、ステップS1〜S10に代えて、人物を撮影した画像が記録された記録媒体から、該画像を読みだす。そしてコンピュータ100は、ステップS11以降の処理を行う。
【0077】
またコンピュータ100で髪の毛補正処理を行う場合は、フル画素数分の画像に対して上記髪の毛補正処理を行うとよい。一般に、上述した撮像装置1では、撮像素子12で取得された画素データの一部に基づいてスルー画像が表示される。そのため、上述した撮像装置1でスルー画像に対して上記髪の毛補正処理を行う場合と比べ、コンピュータ100で行う処理の精度を高くすることができる。
【0078】
以上説明した変形例14によれば、上記実施形態と同様の作用効果が得られる。なお、パーソナルコンピュータによって構成する他にも、デジタルフォトフレームやプロジェクタ等にも上記髪の毛補正処理をさせるように構成して構わない。
【0079】
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。また、上記実施形態に各変形例の構成を適宜組み合わせてもかまわない。
【符号の説明】
【0080】
1…撮像装置
11…撮影光学系
12…撮像素子
14…画像信号処理回路
15…CPU
16…LCDモニタ
17…操作部材
19…ROM
100…コンピュータ

【特許請求の範囲】
【請求項1】
画像から人物の顔を検出する顔検出処理を行う顔検出処理部と、
前記顔検出処理の結果に基づいて、前記画像内で前記顔を含む所定の領域を顔領域として設定する顔領域設定部と、
前記顔領域内において、該顔領域の上側から該顔領域内へと連続する所定色の部分を、補正対象部分として検出する補正対象検出部と、
前記補正対象部分を補正する補正処理を行う補正処理部と、
を備えることを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記顔領域を所定のブロックに分割し、前記補正対象部分を含むブロックを示す情報を表示部に表示させる表示制御部をさらに備え、
前記補正処理部は、指示されたブロック内の画像に対して前記補正処理を行うことを特徴とする画像処理装置。
【請求項3】
請求項1または2に記載の画像処理装置において、
前記補正処理部は、前記補正対象部分の周囲の色であって前記所定色と異なる色へ前記補正対象部分の色を変換することを特徴とする画像処理装置。
【請求項4】
請求項3に記載の画像処理装置において、
前記補正処理部は、前記補正対象部分のうち、目の位置よりも下に位置する部分の色を前記変換することを特徴とする画像処理装置。
【請求項5】
請求項1〜4のいずれか一項に記載の画像処理装置において、
前記補正対象検出部は、前記補正対象部分のうち前記画像の水平方向に対する角度が所定値未満である部分を、補正対象から除外することを特徴とする画像処理装置。
【請求項6】
請求項1〜5のいずれか一項に記載の画像処理装置において、
前記補正対象検出部は、前記顔検出処理により取得される鼻および口の位置情報に基づいて、該鼻および口の間に位置する部分を補正対象から除外することを特徴とする画像処理装置。
【請求項7】
請求項1〜6のいずれか一項に記載の画像処理装置において、
前記補正対象検出部は、前記顔検出処理により取得される目および耳の位置情報に基づいて、該目および耳の間に位置する部分を補正対象から除外することを特徴とする画像処理装置。
【請求項8】
請求項2に記載の画像処理装置において、
前記画像はスルー画像であり、前記補正対象検出部が前記スルー画像から前記補正対象部分を検出した場合、前記表示制御部は、該補正対象部分を含むブロックを示す情報を表示部に表示させ、前記補正処理部は、該補正対象部分に対する前記補正処理を禁止することを特徴とする画像処理装置。
【請求項9】
請求項2または8に記載の画像処理装置において、
前記画像は撮影画像であり、前記補正対象検出部が前記撮影画像から前記補正対象部分を検出した場合、前記表示制御部は、該補正対象部分を含むブロックを示す情報を表示部に表示させ、前記補正処理部は、指示されたブロック内の画像に対して前記補正処理を行うことを特徴とする画像処理装置。
【請求項10】
請求項1〜9のいずれか一項に記載の画像処理装置において、
撮影光学系による被写体像を撮像して画像信号を生成し、前記顔検出処理部に出力する撮像部と、
前記撮像部により前記被写体像を撮像するときの露出を、適正露出よりもアンダー露出に制御する露出制御部と、
をさらに備えることを特徴とする画像処理装置。
【請求項11】
請求項1〜10のいずれか一項に記載の画像処理装置において、
前記顔領域内の画像から、前記所定色の部分の形状を検出する形状検出部をさらに備え、
前記補正処理部は、前記所定色の部分の形状があらかじめ登録された情報と合致する場合は、前記補正処理を禁止することを特徴とする画像処理装置。
【請求項12】
画像から人物の顔を検出する顔検出処理と、
前記顔検出処理の結果に基づいて、前記画像内で前記顔を含む所定の領域を顔領域として設定する顔領域設定処理と、
前記顔領域内において、該顔領域の上側から該顔領域内へと連続する所定色の部分を、補正対象部分として検出する補正対象検出処理と、
前記補正対象部分を補正する補正処理と、
をコンピュータに実行させるための画像処理プログラム。

【図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


【公開番号】特開2013−25469(P2013−25469A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−158018(P2011−158018)
【出願日】平成23年7月19日(2011.7.19)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】