(57)【要約】【課題】人物の画像で跳ねた髪などを目立たなくすること。【解決手段】画像処理装置は、画像から人物の顔を検出する顔検出処理を行う顔検出処理部１３と、顔検出処理の結果に基づいて、画像内における、顔部分を含む所定のエリアを顔エリアとして決定する顔エリア決定部１３と、顔エリアの外周を含む所定のエリアを髪エリアとして決定する髪エリア決定部１３と、髪エリア内の画像に基づいて、頭部の輪郭を示す頭部ラインを決定する頭部ライン決定部１３と、髪エリア内の画像において、頭部ラインに対して顔エリアの反対側に存在する髪の毛部を補正する補正処理を行う補正処理部１２、１３と、を備えることを特徴とする。【選択図】図１
2013025470.tif 000002
【特許請求の範囲】
【請求項１】
画像から人物の顔を検出する顔検出処理を行う顔検出処理部と、
前記顔検出処理の結果に基づいて、前記画像内における、前記顔部分を含む所定のエリアを顔エリアとして決定する顔エリア決定部と、
前記顔エリアの外周を含む所定のエリアを髪エリアとして決定する髪エリア決定部と、
前記髪エリア内の画像に基づいて、頭部の輪郭を示す頭部ラインを決定する頭部ライン決定部と、
前記髪エリア内の画像において、前記頭部ラインに対して前記顔エリアの反対側に存在する髪の毛部を補正する補正処理を行う補正処理部と、
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記髪エリア決定部は、前記顔エリアを所定の比率で拡大したエリアから前記顔エリアを除外したエリアを前記髪エリアとして決定することを特徴とする画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置において、
前記頭部ライン決定部は、前記髪エリア内の画像に対して、前記髪の毛部に対するエッジ検出処理と前記髪の毛部に関する２値化処理とを施し、該エッジ検出処理および該２値化処理の結果に基づいて、前記頭部ラインを決定することを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記頭部ライン決定部は、前記顔エリアの略中心から外周部へ向かう方向において前記髪の毛部の色から他の色へ変化する境界のラインであって、前記エッジ検出処理により抽出されたラインと一致するラインを、前記頭部ラインとして決定することを特徴とする画像処理装置。
【請求項５】
請求項１〜４のいずれか一項に記載の画像処理装置において、
前記補正処理部は、前記髪の毛部を構成する各画素を注目画素とし、該注目画素を中心とする所定の画素領域に含まれる前記髪の毛部の色と異なる色を示す画素のデータの平均値で該注目画素のデータを置換することを特徴とする画像処理装置。
【請求項６】
請求項１〜５のいずれか一項に記載の画像処理装置において、
前記顔エリア内から上方向に向かって前記顔の色から異なる他の色へ変化した箇所の色を前記髪の毛部の色として取得する髪の毛色取得部をさらに備えることを特徴とする画像処理装置。
【請求項７】
請求項１〜６のいずれか一項に記載の画像処理装置において、
前記補正処理部は、前記画像全体に対する前記顔エリアの比率が所定値未満の場合は前記補正処理を禁止することを特徴とする画像処理装置。
【請求項８】
請求項１〜６のいずれか一項に記載の画像処理装置において、
前記頭部ラインにおいて、あらかじめ登録されたパターンと合致する範囲を検出する第１検出部をさらに備え、
前記補正処理部は、前記第１検出部によって検出された範囲に対して前記顔エリアの反対側に存在する髪の毛部に対しては、前記補正処理を禁止することを特徴とする画像処理装置。
【請求項９】
請求項１〜６のいずれか一項に記載の画像処理装置において、
前記顔検出処理により検出された顔が、あらかじめ登録された人物の顔であるかを認識する顔認識部と、
前記頭部ラインにおいて、前記顔認識部により認識された顔にあらかじめ対応付けられているパターンと合致する範囲を検出する第２検出部と、
をさらに備え、
前記補正処理部は、前記第２検出部によって検出された範囲に対して前記顔エリアの反対側に存在する髪の毛部に対しては、前記補正処理を禁止することを特徴とする画像処理装置。
【請求項１０】
請求項１〜６のいずれか一項に記載の画像処理装置において、
前記補正処理部は、前記画像のデータに前記画像の撮影時に動きがあったことを示す情報が対応付けられている場合は、前記補正処理を禁止することを特徴とする画像処理装置。
【請求項１１】
画像から人物の顔を検出する顔検出処理と、
前記顔検出処理の結果に基づいて、前記画像内における、前記顔部分を含む所定のエリアを顔エリアとして決定する顔エリア決定処理と、
前記顔エリアの外周を含む所定のエリアを髪エリアとして決定する髪エリア決定処理と、
前記髪エリア内の画像に基づいて、頭部の輪郭を示す頭部ラインを決定する頭部ライン決定処理と、
前記髪エリア内の画像において、前記頭部ラインに対して前記顔エリアの反対側に存在する髪の毛部を補正する補正処理と、
をコンピュータに実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
人物画像の髪領域を検出する技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３３９５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ポートレート写真のように人物をアップで撮影した場合に、まとめた髪から跳ねて目立つ短い髪が気になる場合がある。上述した技術では、まとめた髪から跳ねた髪を目立たなくすることへの適用が困難であった。
【課題を解決するための手段】
【０００５】
（１）請求項１に記載の発明による画像処理装置は、画像から人物の顔を検出する顔検出処理を行う顔検出処理部と、顔検出処理の結果に基づいて、画像内における、顔部分を含む所定のエリアを顔エリアとして決定する顔エリア決定部と、顔エリアの外周を含む所定のエリアを髪エリアとして決定する髪エリア決定部と、髪エリア内の画像に基づいて、頭部の輪郭を示す頭部ラインを決定する頭部ライン決定部と、髪エリア内の画像において、頭部ラインに対して顔エリアの反対側に存在する髪の毛部を補正する補正処理を行う補正処理部と、を備えることを特徴とする。
（２）請求項１１に記載の発明による画像処理プログラムは、画像から人物の顔を検出する顔検出処理と、顔検出処理の結果に基づいて、画像内における、顔部分を含む所定のエリアを顔エリアとして決定する顔エリア決定処理と、顔エリアの外周を含む所定のエリアを髪エリアとして決定する髪エリア決定処理と、髪エリア内の画像に基づいて、頭部の輪郭を示す頭部ラインを決定する頭部ライン決定処理と、髪エリア内の画像において、頭部ラインに対して顔エリアの反対側に存在する髪の毛部を補正する補正処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、人物の画像で跳ねた髪などを目立たなくすることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施の形態による撮像装置の構成例を説明するブロック図である。
【図２】ＣＰＵが実行する処理の流れを説明するフローチャートである。
【図３】人物の画像を例示する図である。
【図４】顔エリアを説明する図である。
【図５】髪エリアを説明する図である。
【図６】ブロック群を説明する図である。
【図７】髪の毛色の取得に関して説明する図である。
【図８】髪の毛補正エリアを説明する図である。
【図９】頭部ラインの決定に関して説明する図である。
【図１０】補正対象画素の決定に関して説明する図である。
【図１１】補正対象画素の置換処理に関して説明する図である。
【図１２】髪の毛補正処理の結果を例示する図である。
【図１３】コンピュータを例示する図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明を実施するための形態について説明する。図１は、本発明の一実施の形態による撮像装置１の構成例を説明するブロック図である。図１において、撮像装置１は、撮像部１１と、画像処理部１２と、ＣＰＵ部１３と、モニタ部１４と、操作部１５と、アクセス部１６と、ＲＯＭ１７と、内蔵メモリ１８とを備える。
【０００９】
撮像部１１は、撮影光学系１１Ａと、撮像素子１１Ｂとを含む。撮影光学系１１Ａは、ズームレンズやフォーカシングレンズを含む複数のレンズ群で構成され、被写体像を撮像素子１１Ｂの受光面に結像させる。なお、図１を簡単にするため、撮影光学系１１Ａを単レンズとして図示している。
【００１０】
撮像素子１１Ｂは、画素を構成する受光素子のフォトダイオードが受光面に二次元配列されたＣＭＯＳイメージセンサなどによって構成される。撮像素子１１Ｂは、撮影光学系１１Ａを通過した光束による像を光電変換し、デジタル画像データを生成する。なお、撮像素子１１Ｂで取得される画像から色情報が得られるように、撮像素子１１Ｂの受光面には画素位置に対応させてＲ色、Ｇ色およびＢ色のカラーフィルタ（不図示）が設けられている。
【００１１】
撮像素子１１Ｂにより生成されたデジタル画像データは、画像処理部１２に入力される。画像処理部１２は、デジタル画像データに対して各種の画像処理（色補間処理、階調変換処理、輪郭強調処理、ホワイトバランス調整処理など）を施す。
【００１２】
モニタ部１４は液晶パネルなどによって構成される。モニタ部１４は、ＣＰＵ部１３からの指示に応じて画像や操作アイコン、メニュー画面などを表示する。内蔵メモリ１８は、画像処理部１２による画像処理の前工程や後工程でのデジタル画像データを一時的に記憶する他、ＣＰＵ部１３によるプログラム実行時に用いられる。ＲＯＭ１７は、ＣＰＵ部１３が実行するプログラムなどを記憶する。
【００１３】
ＣＰＵ部１３は、ＲＯＭ１７が記憶するプログラムを実行することにより、撮像装置１が行う動作を制御する。アクセス部１６はコネクタ（不図示）を有し、該コネクタに外部メモリ３０が接続される。アクセス部１６は、接続された外部メモリ３０に対するデータの書き込みや、外部メモリ３０からのデータの読み込みを行う。外部メモリ３０は、半導体メモリを内蔵したメモリカードなどで構成される。
【００１４】
操作部１５は、レリーズボタンやメニュースイッチなどを含む。操作部１５は、撮影操作、モード切替え操作やアイコン選択操作など、各操作に応じた操作信号をＣＰＵ部１３へ送出する。
【００１５】
ＣＰＵ部１３は、顔検出処理を実行する顔検出部１３Ａと、髪の毛補正処理を実行する髪の毛補正部１３Ｂとを有する。顔検出とは、画像に含まれる人物の顔領域を検出することをいう。髪の毛補正とは、たとえば、まとめた髪から跳ねている毛を目立たなくすることをいう。本発明は髪の毛補正部１３Ｂが行う髪の毛補正処理に特徴を有するので、以降は髪の毛補正処理を中心に説明する。
【００１６】
図２は、ＣＰＵ部１３が実行する髪の毛補正処理の流れを説明するフローチャートである。ＣＰＵ部１３は、たとえば、髪の毛補正処理を行う旨の設定がなされている状態で、撮影操作が行われると、図２の処理を行うプログラムを起動する。図２による髪の毛補正処理の概要は以下の通りである。なお、各ステップの詳細については後述する。
【００１７】
ステップＳ１において、ＣＰＵ部１３は、撮像部１１により撮像された画像を取得して、ステップＳ２へ進む。ステップＳ２において、ＣＰＵ部１３は、撮像された画像に対して顔検出処理を実行して、ステップＳ３へ進む。
【００１８】
ステップＳ３において、ＣＰＵ部１３は、顔検出処理の結果に基づいて、画像に含まれる人物の顔部分を含む所定の領域（顔エリア）を取得し、ステップＳ４へ進む。ステップＳ４において、ＣＰＵ部１３は、取得した顔エリアのサイズに基づいて、人物の髪の毛およびその背景を含む領域（髪エリア）のサイズを決定し、ステップＳ５へ進む。
【００１９】
ステップＳ５において、ＣＰＵ部１３は、決定した髪エリアのサイズに基づいて髪エリアを決定し、ステップＳ６へ進む。ステップＳ６において、ＣＰＵ部１３は、ステップＳ３で取得した顔エリアから髪の毛色を取得して、ステップＳ７へ進む。
【００２０】
ステップＳ７において、ＣＰＵ部１３は、ステップＳ５で決定した髪エリア内において、髪の毛色と背景色（髪の毛色および肌色以外の色）とを含むエリアを髪の毛補正エリアとして決定して、ステップＳ８へ進む。
【００２１】
ステップＳ８において、ＣＰＵ部１３は、決定した髪の毛補正エリアに対し、髪の毛色に対するエッジ検出処理を施してステップＳ９へ進む。ステップＳ９において、ＣＰＵ部１３は、髪の毛補正エリアに対し、髪の毛色と他の色とで２値化処理を施して、ステップＳ１０へ進む。
【００２２】
ステップＳ１０において、ＣＰＵ部１３は、エッジ検出処理および２値化処理の結果に基づいて、人物の頭部の輪郭を示すライン（頭部ライン）を決定し、ステップＳ１１へ進む。ステップＳ１１において、ＣＰＵ部１３は、髪の毛補正エリア内において、頭部ラインの外側に位置し、且つ色相が髪の毛色である画素を補正対象画素として検出して、ステップＳ１２へ進む。
【００２３】
ステップＳ１２において、ＣＰＵ部１３は画像処理部１２に指示を送り、補正対象画素を背景色に置換する画像処理を行わせ、髪の毛補正処理を終了する。
【００２４】
次に上述した髪の毛補正処理の詳細について具体的に説明する。ここでは一例として、図３に示す画像に対して髪の毛補正処理を行う場合を説明する。ＣＰＵ部１３の顔検出部１３Ａは、髪の毛補正処理の開始後の上記ステップＳ２において、画像に対して顔検出処理を実行する。なお、顔検出処理は公知の技術を用いるため、詳細な説明は省略する。
【００２５】
上記顔エリアの取得（Ｓ３）の詳細について、図４を参照して説明する。ＣＰＵ部１３は、たとえば顔検出処理によって検出した顔部分と色相が共通する領域、すなわち肌色を構成する領域の横方向および縦方向の最大サイズのエリアを顔エリア５１とし、この顔エリア５１のサイズを顔エリアサイズとして取得する。なお、肌色は、ＲＧＢデータのＲ／Ｇ、Ｂ／Ｇの値に基づいて判定する。またＣＰＵ部１３は、顔エリア５１内における、目、鼻、口などの各パーツの位置情報を取得する。さらにＣＰＵ部１３は、人物の性別および年齢を判別して、性別情報および年齢情報を取得する。
【００２６】
ＣＰＵ部１３は、顔エリアサイズに基づいて、図５に示すように髪エリア５２を決定する。具体的にＣＰＵ部１３は、上記顔エリアサイズを所定の比率（たとえば横方向が１．５倍、縦方向が２倍）で拡大したサイズを髪エリアサイズとする（Ｓ４）。ＣＰＵ部１３は、顔エリア５１を中心とした髪エリアサイズの矩形により囲まれるエリアから顔エリア５１を除外したエリアを、髪エリア５２として決定する。なお、撮像した画像からはみだす範囲は、髪エリア５２から除かれる。
【００２７】
ＣＰＵ部１３は、図６に示すように、決定した髪エリア５２を複数のブロック群５３に分割する。具体的にＣＰＵ部１３は、顔エリアサイズを所定の比率（たとえば、横方向が４分の１倍、縦方向が６分の１倍）で縮小したサイズをブロックサイズとして、髪エリア５２を複数のブロック群５３に分割する。ＣＰＵ部１３は、このブロック群５３を構成する各ブロック単位で、上述したエッジ検出処理（Ｓ８）、２値化処理（Ｓ９）、頭部ライン決定処理（Ｓ１０）、補正対象画素の決定処理（Ｓ１１）などを行う。
【００２８】
ＣＰＵ部１３は、髪の毛色の取得（Ｓ６）を以下のように行う。すなわちＣＰＵ部１３は、顔検出処理の結果に基づいて、図７に示すように顔エリア５１内における左右の目の上部を結ぶ横方向のライン５４を検出する。ＣＰＵ部１３は、ライン５４から上方向に画素ごとの色相を検出し、色相が肌色から異なる色へ変化する画素を検出する。ＣＰＵ部１３は、検出した画素の色相を髪の毛色として取得する。
【００２９】
ＣＰＵ部１３は、髪の毛補正エリアの決定（Ｓ７）を以下のように行う。すなわちＣＰＵ部１３は、髪エリア５２において、１つのブロック内に色相が髪の毛色である画素と色相が背景色である画素とを有するエリアを髪の毛補正エリア５５として決定する。図８に、髪の毛補正エリア５５を例示する。
【００３０】
ＣＰＵ部１３は、画像に対し、髪の毛補正エリア５５内の各ブロック単位で、エッジ検出処理を行う（Ｓ８）。図９（ａ）は、あるブロックを拡大した画像を示す図であり、図９（ｂ）は、図９（ａ）のブロック画像に対してエッジ検出処理を行って得られた画像を示す図である。エッジ検出処理では、髪の毛色から他の色へ変化するエッジを検出する。これによりＣＰＵ部１３は、画像から、髪の毛色が連続するラインを抽出する。
【００３１】
またＣＰＵ部１３は、画像に対し、髪の毛補正エリア５５内の各ブロック単位で、２値化処理を行う（Ｓ９）。図９（ｃ）は、図９（ａ）のブロック画像に対して２値化処理を行って得られた画像を示す図である。２値化処理では、髪の毛色および他の色で２値化を行う。これによりＣＰＵ部１３は、画像から、髪の毛部分を抽出する。
【００３２】
ＣＰＵ部１３は、頭部ラインの決定（Ｓ１０）を以下のように行う。すなわち、ＣＰＵ部１３は、２値化処理（Ｓ９）の結果に基づいて、図９（ｄ）に示すように、顔エリア５１の中心５１ｏから補正エリア５５の外周部へ向かう方向５６において、色相が髪の毛色から他の色へ変化する画素を検出する。これにより、髪の毛部分のうち、髪の毛が頭部でまとまっている部分の境界が抽出される。
【００３３】
そしてＣＰＵ部１３は、ここで検出した画素が形成するラインであって、且つエッジ検出処理（Ｓ８）により抽出したラインと一致するラインを取得する。ＣＰＵ部１３は、この取得したラインを頭部ラインとして決定する。図９（ｅ）に、頭部ライン５７を例示する。なお、ＣＰＵ部１３は、各ブロック単位で頭部ライン５７の決定を行う。
【００３４】
ＣＰＵ部１３は、補正対象画素の決定（Ｓ１１）を以下のように行う。ＣＰＵ部１３は、図１０に示すように、髪の毛補正エリア５５内で顔エリア５１を内側とした際の頭部ライン５７よりも外側のエリアを外部エリア５８とする。ＣＰＵ部１３は、外部エリア５８内に位置し、且つ髪の毛色と色相が一致する画素を抽出する。これにより、まとめた髪から跳ねた髪を構成している画素が抽出される。ＣＰＵ部１３は、このように抽出した画素を、補正対象画素として決定する。なお、ＣＰＵ部１３は、各ブロック単位で補正対象画素の決定を行う。
【００３５】
ＣＰＵ部１３は、補正対象画素を決定すると、画像処理部１２に指示を送り、補正対象画素を背景色に置換する処理を以下のように行わせる（Ｓ１２）。図１１（ａ）は、補正対象画素を含むブロック画像を例示する図である。図１１（ｂ）は、図１１（ａ）に示すブロック画像を拡大した図である。
【００３６】
画像処理部１２は、図１１（ｃ）に示すように、補正対象画素（注目画素）ｇ０の周囲に位置する画素（たとえば８画素分）を取得する。画像処理部１２は、取得した画素のうち、髪の毛色と色相が異なる画素ｇ１〜ｇ４を検出する。画像処理部１２は、検出した画素ｇ１〜ｇ４の画素値の平均値を算出し、算出した平均値を補正色とする。画像処理部１２は、補正対象画素ｇ０の画素値を、算出した平均値に置換する。これにより、補正対象画素ｇ０が補正色により塗りつぶされる。
【００３７】
ＣＰＵ部１３は、画像処理部１２に、このように補正対象画素（注目画素）を補正色で置換する補正処理を、注目画素を順にずらしながら実行させ、ステップＳ１１で決定した全ての補正対象画素に対する該補正処理の実行が完了したら、髪の毛補正処理を終了する。
【００３８】
この結果、図１２に示すように、頭部ラインよりも外側にあった髪の毛が背景色に塗りつぶされ、図３と比較してまとめた髪から跳ねた髪が目立たなくなる。
【００３９】
以上説明した実施形態によれば、次の作用効果が得られる。
（１）撮像装置１は、画像から人物の顔を検出する顔検出処理を行うＣＰＵ部１３と、顔検出処理の結果に基づいて、画像内における、顔部分を含む所定のエリアを顔エリア５１として決定するＣＰＵ部１３と、顔エリア５１の外周を含む所定のエリアを髪エリア５２として決定するＣＰＵ部１３と、髪エリア５２内の画像に基づいて、頭部の輪郭を示す頭部ライン５７を決定するＣＰＵ部１３と、髪エリア５２内の画像において、頭部ライン５７に対して顔エリア５１の反対側に存在する髪の毛部（すなわち、顔エリア５１を内側とした際の頭部ライン５７の外側に存在する髪の毛部）を補正する補正処理を行うＣＰＵ部１３、画像処理部１２と、を備えるので、人物の画像で跳ねた髪などを目立たなくすることができる。
【００４０】
（２）上記（１）の撮像装置１において、ＣＰＵ部１３は、顔エリア５１を所定の比率で拡大したエリアから顔エリア５１を除外したエリアを髪エリア５２として決定するように構成したので、簡易な処理で、髪エリア５２を適切に決定できる。
【００４１】
（３）上記（１）または（２）の撮像装置１において、ＣＰＵ部１３は、髪エリア５２内の画像に対して、髪の毛部に対するエッジ検出処理と髪の毛部に関する２値化処理とを施し、該エッジ検出処理および該２値化処理の結果に基づいて、頭部ライン５７を決定するように構成したので、簡易な処理で、頭部ライン５７を適切に決定できる。
【００４２】
（４）上記（３）の撮像装置１において、ＣＰＵ部１３は、顔エリア５１の略中心５１ｏから外周部へ向かう方向において髪の毛部の色から他の色へ変化する境界のラインであって、エッジ検出処理により抽出されたラインと一致するラインを、頭部ライン５７として決定するように構成したので、頭部ライン５７を適切に決定できる。
【００４３】
（５）上記（１）〜（４）の撮像装置１において、ＣＰＵ部１３、画像処理部１２は、髪の毛部を構成する各画素を注目画素とし、該注目画素を中心とする所定の画素領域に含まれる髪の毛部の色と異なる色を示す画素のデータの平均値で該注目画素のデータを置換するように構成したので、適切に、人物の画像で跳ねた髪などを目立たなくすることができる。
【００４４】
（６）上記（１）〜（５）の撮像装置１において、顔エリア５１内から上方向に向かって顔の色から異なる他の色へ変化した箇所の色を髪の毛部の色として取得するＣＰＵ部１３をさらに備えるように構成したので、髪の毛部の色を適切に取得できる。
【００４５】
（変形例１）
画像全体のサイズに対する顔エリアサイズが、まとめた髪から跳ねた髪を識別するのが困難なほど小さい場合には、髪の毛の補正を行わないようにしてもよい。変形例１のＣＰＵ部１３は、ステップＳ３において顔エリアサイズを取得すると、画像全体のサイズに対する顔エリアサイズの比率を算出し、該比率が所定値（たとえば、８分の１）以上か否かを判別する。該比率が所定値未満の場合は、まとめた髪から跳ねた髪を識別するのが困難であることが多い。そのためＣＰＵ部１３は、該比率が所定値未満の場合は、その後の処理（Ｓ５〜Ｓ１２）をスキップし、髪の毛補正処理を終了する。
【００４６】
（変形例２）
頭部ライン５７が、あらかじめ登録された髪型パターンと合致するブロックについては、頭部ライン５７から外側に存在する髪の毛を補正しないようにしてもよい。この場合、たとえば意図して前髪を立てる髪型やいわゆるモヒカン刈りなどの髪型において、特徴的な部分の輪郭のラインを髪型パターンとしてあらかじめ登録し、登録した髪型パターンのデータを、たとえばＲＯＭ１７などに格納しておく。
【００４７】
変形例２のＣＰＵ部１３は、ステップＳ１０において各ブロック単位で頭部ライン５７を決定すると、ＲＯＭ１７から登録された髪型パターンのデータを読み出す。ＣＰＵ部１３は、該データに基づいて、公知のパターンマッチング技術を用いて、各ブロックの頭部ライン５７が、あらかじめ登録された髪型パターンと合致するか否かを判定する。ＣＰＵ部１３は、頭部ライン５７が、あらかじめ登録された髪型パターンと合致すると判定したブロックについては、ステップＳ１１およびＳ１２を行わないようにする。
【００４８】
変形例２によれば、たとえば、意図して立てた前髪やいわゆるモヒカン刈りなどのように、まとまった髪から一部分のみを飛び出させる髪型である場合に、その飛び出した一部分を補正してしまうことを防止することができる。
【００４９】
（変形例３）
顔認識処理で特定の人物であると認識した場合に、認識した人物に対応付られている髪型パターンと頭部ライン５７が合致するブロックについては、頭部ライン５７から外側に存在する髪の毛を補正しないようにしてもよい。
【００５０】
この場合、あらかじめ、特定の人物について該人物の顔の特徴量と髪型パターンとを対応付けて登録し、これらのデータをたとえばＲＯＭ１７などに格納しておく。変形例３のＣＰＵ部１３は、ステップＳ２において顔検出処理を実行すると、公知の顔認識処理技術を用いて検出した顔の特徴量データと、あらかじめ登録された顔の特徴量データとに基づいて、検出した顔が、あらかじめ登録された人物の顔であるか否かを認識する。
【００５１】
上記認識の結果、検出した顔があらかじめ登録された人物の顔であると認識すると、ＣＰＵ部１３は、ステップＳ１０において各ブロック単位で頭部ライン５７を決定したのち、該認識した顔に対応付けられている髪型パターンのデータを、ＲＯＭ１７から読み出す。ＣＰＵ部１３は、該データに基づいて、公知のパターンマッチング技術を用いて、各ブロックの頭部ライン５７が、該髪型パターンと合致するか否かを判定する。ＣＰＵ部１３は、頭部ライン５７が該髪型パターンと合致すると判定したブロックについては、ステップＳ１１およびＳ１２を行わないようにする。
【００５２】
変形例３によれば、特定の人物が、たとえば、意図して立てた前髪やモヒカン刈りなどのように、まとまった髪から一部分のみを飛び出させる髪型である場合に、その飛び出した一部分を補正してしまうことを防止することができる。
【００５３】
（変形例４）
撮影時の動き検出処理によって動きが検出された画像に対しては、髪の毛の補正を行わないようにしてもよい。一般に、撮影した画像にはＥｘｉｆ情報が付加され、動きが検出された画像には上記Ｅｘｉｆ情報に撮影時に動きがあったことを示す情報が書き込まれる。変形例４のＣＰＵ部１３は、ステップＳ２において画像を取得した際、該画像に付加されたＥｘｉｆ情報から、撮影時に動きがあったことを示すデータを取得した場合には、その後の処理（Ｓ３〜Ｓ１２）をスキップし、髪の毛補正処理を終了する。変形例４によれば、画像において、撮影時の動き方向に流れている髪の毛が補正されず、動きの自然さを残すことができる。
【００５４】
（変形例５）
上述した実施の形態では、１つの顔に対して髪の毛補正処理を行う場合について説明したが、ＣＰＵ部１３は、顔検出処理において複数の顔を検出した場合には、それぞれに対して髪の毛補正処理を行うようにしてもよい。
【００５５】
（変形例６）
また、上述した実施の形態では、髪の毛を背景色に補正するエリアを自動で決定する場合について説明したが、操作部１５を介してユーザに選択させるようにしてもよい。変形例５のＣＰＵ部１３は、ステップＳ１０において頭部ライン５７を決定すると、モニタ部１４に表示させた人物の画像上に頭部ライン５７を点滅表示させる。合わせてＣＰＵ部１３は、髪の毛補正エリア５５内のブロックを示すラインを、該画像上に表示させる。
【００５６】
ユーザは、操作部１５（ボタン、またはタッチパネルの場合にはタッチペンなど）を操作して、髪の毛を補正したくないブロックを選択する。するとＣＰＵ部１３は、ユーザにより選択操作されたブロック内については、ステップＳ１１およびＳ１２を行わないようにする。これにより、ユーザが所望するエリアの髪の毛のみを、簡易な操作で補正することができる。
【００５７】
また、このように髪の毛を補正するエリアをユーザが選択するか、または上述した実施の形態のように自動で決定するかの設定を、髪の毛補正処理を実行する前に、操作部１５を介してユーザに行わせるようにしてもよい。
【００５８】
（変形例７）
髪の毛補正処理を実行する前に、ユーザが操作部１５を介して、髪の毛補正処理における補正強度や補正パターンを設定し得るように構成してもよい。ここで補正強度とは、たとえば、エッジ検出処理（Ｓ８）や２値化処理（Ｓ９）の際の強度のことを意味し、具体的にはエッジを検出するレベルや２値化のレベルのことをいう。これらのレベルの大小、すなわち補正強度をユーザに指定させる。また、補正パターンとは、画像に対して髪の毛補正処理を実行する領域のことをいう。たとえば、画像全体に対して髪の毛補正処理を実行する「全パターン」と、画像の上半分の領域に対してのみ髪の毛補正処理を実行する「上パターン」とのいずれかをユーザに選択させる。
【００５９】
（変形例８）
髪の毛補正処理に適した画像が得られるように、撮影時の露出やホワイトバランスなどの画像処理方法を変化させるようにしてもよい。たとえば、撮影時の露出がオーバー気味の場合には、アンダー補正を行ってから髪の毛補正処理を行うとよい。
【００６０】
（変形例９）
顔検出処理によって取得した性別や年齢から、髪の毛補正処理における補正強度や補正範囲を変化させるようにしてもよい。たとえば、一般的に、男性は髪が短く女性は髪が長い場合が多いことが想定されるので、ＣＰＵ部１３は、性別が男性であると判別した場合には、顔エリア５１よりも上側部分のみを補正範囲とし、性別が女性であると判別した場合には、画像全体を補正範囲とするようにしてもよい。
【００６１】
また、一般的に、大人は子供よりも髪の毛を補正したいと考える場合が多いことが想定されるので、ＣＰＵ部１３は、年齢が大人であると判別した場合には補正強度を高くし、年齢が子供であると判別した場合には補正強度を低くするようにしてもよい。
【００６２】
（変形例１０）
上述したステップＳ６において髪の毛色を取得できなかった場合には、髪の毛がなかったり帽子を被っていたりするなどの可能性があるため、ＣＰＵ部１３は、その後の処理（Ｓ７〜Ｓ１２）をスキップし、髪の毛補正処理を終了するようにしてもよい。
【００６３】
（変形例１１）
髪の毛色を取得する際、ヘアアクセサリなどを装着している場合を考慮するようにしてもよい。変形例１１のＣＰＵ部１３は、ステップＳ６において、ライン５４から上方向に画素ごとの色相を検出し、色相が肌色から異なる色へ変化する画素を検出すると、検出した画素の色相が、顔エリア５１の上部まで連続するか否かを判定する。
【００６４】
ここで肯定判定した場合のＣＰＵ部１３は、検出した画素の色相が髪の毛色であると決定する。一方、否定判定した場合のＣＰＵ部１３は、検出した画素の色相が髪の毛色ではないと決定する。
【００６５】
このときＣＰＵ部１３は、検出した画素からさらに上方向に画素ごとの色相を検出していき、色相が再度変化する画素を検出する。そして、ここで検出した画素の色相が顔エリア５１の上部まで連続している場合には、この色相を髪の毛色として決定する。変形例１１によれば、たとえばヘアバンドなどのヘアアクセサリを装着している場合であっても、髪の毛色を正確に取得することができる。
【００６６】
（変形例１２）
髪の毛が、まとめた髪から跳ねる髪が発生しないほどの短さである場合（たとえば、丸刈りやスポーツカットなどの髪型である場合）には、髪の毛の補正を行わないようにしてもよい。
【００６７】
変形例１２のＣＰＵ部１３は、ステップＳ８において髪の毛補正エリア５５に対するエッジ検出処理を実行すると、該エッジ検出処理により抽出されたエッジごとに、エッジを構成するライン（エッジライン）の長さを検出し、エッジラインの長さの平均値を算出する。該平均値が所定値未満である場合は、短い髪の毛全体が立ち上がったような髪型（たとえば、丸刈りやスポーツカットなど）であることが多いので、このような短い髪の毛をまとめた髪から跳ねた髪であると認識するのは適切ではない。そのため、ＣＰＵ部１３は、該平均値が所定値未満である場合には、その後の処理（Ｓ９〜Ｓ１２）をスキップし、髪の毛補正処理を終了する。変形例１２によれば、長さが短い髪の毛を、まとめた髪から跳ねた髪であると誤認識して補正してしまうのを防止することができる。
【００６８】
（変形例１３）
顔検出処理によって年齢が高齢であると判別された場合、ステップＳ１１においてＣＰＵ部１３は、ステップＳ６において取得した髪の毛色に加え、白髪色（白またはグレー）である画素も、補正対象画素として検出して、背景色で補正するようにしてもよい。
【００６９】
（変形例１４）
画像の解像度が、跳ねた髪を識別するのが困難なほど小さい場合には、髪の毛の補正を行わないようにしてもよい。変形例１４のＣＰＵ部１３は、ステップＳ２において画像を取得した際、該画像に付加されたＥｘｉｆ情報に基づいて該画像の解像度を取得する。該解像度が所定値未満の場合、跳ねた髪を識別するのが困難であることが多い。そのためＣＰＵ部１３は、該解像度が所定値未満である場合には、その後の処理（Ｓ３〜Ｓ１２）をスキップし、髪の毛補正処理を終了する。
【００７０】
（変形例１５）
上述した実施の形態では、画像の撮影時に髪の毛補正処理を行うようにしたが、外部メモリ３０から画像を読み出して再生表示する際に、再生表示する画像に対して髪の毛補正処理を行うようにしてもよい。
【００７１】
（変形例１６）
上述した実施形態では、撮像装置１のＣＰＵ部１３が髪の毛補正処理を行う例を説明したが、髪の毛補正処理をコンピュータに行わせるように構成するようにしてもよい。図２に例示したフローチャートに基づく処理を行うプログラムを図１３に示すコンピュータ１００に実行させることにより、髪の毛補正処理を行う画像処理装置を構成する。プログラムをコンピュータ１００に取込んで使用する場合には、コンピュータ１００のデータストレージ装置にプログラムをローディングした上で、当該プログラムを実行させる。
【００７２】
コンピュータ１００に対するプログラムのローディングは、プログラムを格納したＣＤ−ＲＯＭなどの記憶媒体１０４をコンピュータ１００にセットして行ってもよいし、ネットワークなどの通信回線１０１を経由する方法でコンピュータ１００へローディングしてもよい。通信回線１０１を経由する場合は、通信回線１０１に接続されたサーバー（コンピュータ）１０２のストレージ装置１０３などにプログラムを格納しておく。プログラムは、記憶媒体や通信回線を介する提供など、種々の形態のコンピュータプログラム製品として供給することができる。
【００７３】
なお、コンピュータ１００で画像処理装置を構成する場合は、ステップＳ１に代えて、人物を撮影した画像が記録された記録媒体から、該画像を読みだす。そしてコンピュータ１００は、ステップＳ２以降の処理を行う。
【００７４】
以上説明した変形例１６によれば、上記実施形態と同様の作用効果が得られる。なお、パーソナルコンピュータによって構成する他にも、デジタルフォトフレームやプロジェクタ等にも上述した髪の毛補正処理をさせるように構成して構わない。
【００７５】
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。また、上記実施形態に各変形例の構成を適宜組み合わせてもかまわない。
【符号の説明】
【００７６】
１…撮像装置
１２…画像処理部
１３…ＣＰＵ部
１４…モニタ部
１５…操作部
１７…ＲＯＭ
１００…コンピュータ
【図１】
2013025470.tif 000003
【図２】
2013025470.tif 000004
【図３】
2013025470.tif 000005
【図４】
2013025470.tif 000006
【図５】
2013025470.tif 000007
【図６】
2013025470.tif 000008
【図７】
2013025470.tif 000009
【図８】
2013025470.tif 000010
【図９】
2013025470.tif 000011
【図１０】
2013025470.tif 000012
【図１１】
2013025470.tif 000013
【図１２】
2013025470.tif 000014
【図１３】
2013025470.tif 000015