(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-22
(45)【発行日】2024-01-05
(54)【発明の名称】画像処理装置、画像処理方法及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20231225BHJP
G06T 1/00 20060101ALI20231225BHJP
【FI】
G06T7/00 660A
G06T1/00 340A
(21)【出願番号】P 2019201585
(22)【出願日】2019-11-06
【審査請求日】2022-10-18
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】金子 千晶
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開2013-058164(JP,A)
【文献】特開2016-213718(JP,A)
【文献】特開2006-323512(JP,A)
【文献】十重田 大地,中村 友昭, 金子 正秀,コンピュータ似顔絵における髪の毛を考慮した描画,映像情報メディア学会技術報告,日本,映像情報メディア学会,2019年02月09日,第43巻,第4号,第67-70頁
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00 - 1/40
G06T 3/00 - 7/90
G06V 10/00 -20/90
H04N 5/222- 5/257
H04N 23/00 -23/956
(57)【特許請求の範囲】
【請求項1】
被写体の画像データを取得する取得手段と、
前記画像データが表す画像において前記被写体が有する髪の毛の流れ方向が整っている第1領域と、前記髪の毛の流れ方向が整っていない第2領域とで付与する光沢の強度が異なるように、光沢を前記被写体に付与する付与手段と、
を有することを特徴とする画像処理装置。
【請求項2】
撮像手段を制御する撮像制御手段をさらに有し、
前記取得手段は、前記撮像手段が前記被写体を撮像して得られる前記画像データを取得することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
発光手段をさらに有し、
前記取得手段は、前記発光手段により光が照射された前記被写体を撮像して得られる前記画像データを取得することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
ライブビューを表示することが可能な表示手段を制御する表示制御手段をさらに有することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記
髪の毛の流れの特徴量を算出する算出手段をさらに有し、
前記付与手段は、前記被写体に、前記算出された特徴量に応じて光沢を付与することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記算出手段は、前記画像データが表す画像における注目画素の画素値と前記注目画素の近傍の画素の画素値とに基づき、前記注目画素に対応する前記特徴量を算出することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記付与手段は、前記特徴量の代表値が所定の閾値以上である場合、前記被写体に光沢を付与することを特徴とする請求項5又は6に記載の画像処理装置。
【請求項8】
前記付与手段は、前記被写体ごとに前記特徴量の代表値を算出し、前記特徴量の代表値が前記所定の閾値以上である前記被写体のみに光沢を付与することを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記付与手段は、前記特徴量が高いほど強い光沢を前記被写体に付与することを特徴とする請求項5乃至8のいずれか1項に記載の画像処理装置。
【請求項10】
前記算出手段は、前記画像データにおける明るさの勾配に基づき所定の方向に対する前記
髪の毛の流れ方向の角度を算出し、前記角度を基に前記特徴量を算出することを特徴とする請求項5乃至9のいずれか1項に記載の画像処理装置。
【請求項11】
前記付与手段は、前記
髪の毛の流れ方向に応じた形状の領域について前記被写体の光沢が変化するように光沢を付与することを特徴とする請求項10に記載の画像処理装置。
【請求項12】
前記
髪の毛の流れ方向に応じた形状は、前記流れ方向に対して直交する曲線に対して所定の幅を有する形状であることを特徴とする請求項11に記載の画像処理装置。
【請求項13】
前記特徴量は、前記
髪の毛の流れ方向と前記画像データを基に推定した明るさの勾配強度とに基づく値であることを特徴とする請求項10又は11に記載の画像処理装置。
【請求項14】
前記代表値は、平均値、中央値、最大値および最小値のいずれか1つであることを特徴とする請求項7又は8に記載の画像処理装置。
【請求項15】
前記付与手段は、前記
髪の毛の流れ方向に応じて、前記被写体に曲線状の光沢を付与することを特徴とする請求項1乃至14のいずれか1項に記載の画像処理装置。
【請求項16】
被写体の画像データを取得するステップと、
前記画像データが表す画像において前記被写体が有する髪の毛の流れ方向が整っている第1領域と、前記髪の毛の流れ方向が整っていない第2領域とで付与する光沢の強度が異なるように、光沢を前記被写体に付与するステップと、
を有することを特徴とする画像処理方法。
【請求項17】
コンピュータを請求項1乃至
15のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の技術は、画像内の被写体の光沢を調整するための画像処理技術に関する。
【背景技術】
【0002】
従来、撮像画像中の人物の頭髪に対して画像処理により光沢付与処理を実行するものとして、頭髪が写っている領域(髪領域)内から明部を検出し、この検出結果に応じて画像補正を行う技術が知られている(特許文献1)。この技術は、髪領域から明部が検出されなかった場合に髪領域内の一部を明るくする画像補正を行うことで、髪領域に対して自動的に好ましい光沢付与処理を実行するものである。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、頭髪の光沢は一般に、髪の毛の流れ(毛流)が整っている場合は髪の毛一本一本における反射光の向きが揃うため、強くくっきりと現れ、毛流が不揃いである場合は髪の毛の反射光の向きがバラバラになるため、頭髪の光沢は弱くぼやけたものになる。つまり、頭髪の光沢は毛流の状態によって異なる現れ方をする。しかしながら、従来技術は毛流の状態を考慮せずに光沢を付与するため、毛流が不揃いで実際には光沢が生じ難い場合などでも不自然に光沢が付与されてしまうという課題があった。
【0005】
そこで本開示の技術では、画像データに対して、被写体の毛流に応じた光沢を実現することを目的とする。
【課題を解決するための手段】
【0006】
本開示の技術は、被写体の画像データを取得する取得手段と、前記画像データが表す画像において前記被写体が有する髪の毛の流れ方向が整っている第1領域と、前記髪の毛の流れ方向が整っていない第2領域とで付与する光沢の強度が異なるように、光沢を前記被写体に付与する付与手段と、を有することを特徴とする画像処理装置である。
【発明の効果】
【0007】
本開示の技術により、画像データに対して、被写体の毛流に応じた光沢を実現することができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態1に係る画像処理装置のハードウェア構成を示す図。
【
図2】実施形態1に係る画像処理部の機能ブロック図。
【
図3】実施形態1に係る画像処理装置における一連の処理の流れを示すフローチャート。
【
図4】実施形態1に係る特徴量算出処理の流れを示すフローチャート。
【
図5】実施形態1に係る毛流の角度の一例を示す図。
【
図6】実施形態1に係る各種画像および毛流の例を示す図。
【発明を実施するための形態】
【0009】
以下、本開示の実施形態について、図面を参照して説明する。なお、以下の実施形態は本開示の技術を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本開示の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【0010】
(実施形態1)
本実施形態では、撮影画像から毛流の特徴を表す特徴量を算出し、この特徴量に基づいて毛流が整っている状態か否かを推定する。そして、整っている場合にのみ、撮像画像に光沢を付与する補正を施す。
【0011】
図1は、本実施形態における画像処理装置のハードウェア構成例を示す図である。本実施形態の画像処理装置は、デジタルカメラなどの撮像装置100に搭載されたものである。撮像装置100は、光学部101、撮像素子部102、A/D変換部103、画像処理部104、エンコーダ部105、メディアI/F106を備えている。また撮像装置100は、CPU107、メモリ部108、システムバス109、撮像系制御部110、発光部111、操作部112、キャラクター生成部113、表示部114などを備えている。
【0012】
光学部101は、ズームレンズ、フォーカスレンズ、ブレ補正レンズ、絞り、およびシャッターによって構成される鏡筒であり、被写体の光情報を集光する。
【0013】
撮像素子部102は、ベイヤ配列などの所定の配列を有するカラーフィルタと撮像素子とを備える。撮像素子部102は、光学部101にて集光された光束を、カラーフィルタを介して撮像素子で受光することにより、被写体の色情報を含むアナログ電気信号へと変換する。
【0014】
A/D変換部103は、撮像素子部102から出力されたアナログ電気信号をデジタル信号に変換してRAW画像データを生成する。
【0015】
画像処理部104は、A/D変換部103で生成されたRAW画像データに対して現像処理を行い、カラー画像データを生成する。また、画像処理部104は、カラー画像データに対してホワイトバランス(WB)補正処理を含む様々な画像処理を行う。画像処理部104の内部構成は後に詳述する。なお、画像処理部104は画像処理を行う際に適宜画像データをメモリ部108に記憶し、また、適宜画像データの読み出しを行う。
【0016】
エンコーダ部105は、画像処理部104にて処理した各種画像データを圧縮してJpegなどのファイルフォーマットに変換する処理回路である。なお、本実施形態ではエンコーダ部105を有する構成を例としたが、エンコーダ部105はない場合もある。エンコーダ部105を有していない場合には、各種画像データは、非圧縮でTIFF形式などにより出力される。
【0017】
メディアI/F106は、PC/メディア115(例えば、ハードディスク、メモリカード、CFカード、SDカードなどの記憶装置や記憶媒体)に画像データを送受信するためのインタフェイスである。メディアI/F106としては、例えばUSB(Universal Serial Bus)などが用いられる。
【0018】
CPU107は、各構成の処理すべてに関わり、ROM116や、RAM117で構成されるメモリ部108に格納された命令を順に読み込み、解釈し、その結果に従って処理を実行する。
【0019】
システムバス109は、接続された各構成間でデータを送受信するためのバスである。
【0020】
撮像系制御部110は、光学部101に対して、フォーカスを合わせる、シャッターを開く、絞りを調整するなどの制御を行う制御回路である。
【0021】
発光部111は、撮像時の照明補助を行うための補助光を発光する補助光源である。補助光源は、カメラの内蔵ストロボでもよいし、外付けのストロボであってもよい。発光部111は、撮像系制御部110によりストロボ発光やストロボ非発光といった発光動作が制御される。
【0022】
操作部112は、シャッターボタン118や操作ボタン119からの信号を受け取り、撮像やカメラ設定の変更などのユーザ指示をCPU107へ伝える。
【0023】
キャラクター生成部113は、文字やグラフィックなどを生成する処理回路である。キャラクター生成部113により生成された文字やグラフィックは、各種画像データに重畳されて表示部114に表示される。
【0024】
表示部114は、各種の画像データやカメラ設定メニューを表示する液晶ディスプレイなどである。
【0025】
図2は、本実施形態における画像処理部104のソフトウェア構成を示すブロック図である。
【0026】
画像データ取得部201は、被写体を撮像して得られたRAW画像データをメモリ部108から読み出し、デモザイク処理、ノイズリダクション処理などを施してカラー画像データ(以後、入力画像データと呼ぶ)Iを生成する。生成された入力画像データIは、特徴量算出部202および補正部204へ送られる。
【0027】
なお、被写体を撮像して得られたRAW画像データとは、撮像素子102で撮像がなされてA/D変換部103からメモリ部108に出力された画像データである。このRAW画像データは、例えば以下のように撮像装置100で撮像されることにより得られる。本実施形態における撮像装置100は、シャッターボタン118による操作が行われていない状態では、撮像系制御部110が光学部101及び撮像素子部102を制御して、いわゆるライブビュー表示用の画像を所定のフレーム周期ごとに撮像する。シャッターボタン118が半押しされると、撮像系制御部110は、光学部101を制御してオートフォーカス(AF)ロックとオートエクスポージャ(AE)ロックとを行う。ここで、AFロックは、光学部101内のフォーカスレンズを駆動するオートフォーカスの制御において、焦点距離をロックする制御である。AEロックは、自動露出制御において露出値をロックする制御である。その後、シャッターボタン118が全押しされると、撮像系制御部110は光学部101及び撮像素子部102を制御して、実際に被写体を撮像する本露光を行う。これにより、撮像素子部102から被写体を撮像して得られたアナログ電気信号がA/D変換部103に出力され、A/D変換部103でアナログ電気信号からRAW画像データが生成される。
【0028】
なお、入力画像データIの取得方法は上記に限るものではない。例えば、PC/メディア115に予め記憶されているRAW画像データを読み出し、カラー画像データを生成してもよい。あるいは、メモリ部108やPC/メディア115に記憶されているカラー画像データを読み出してそのまま入力画像データIとしてもよい。
【0029】
特徴量算出部202は、入力画像データIに関して毛流の特徴を表す特徴量を算出する。本実施形態では、入力画像データIの画素ごとに近傍の画素値を用いて毛流方向を推定し、その分布に基づいて特徴量を算出する。詳細は後述する。算出された特徴量は、判定部203へ送られる。
【0030】
判定部203は、特徴量算出部202が算出した特徴量に基づいて毛流の状態を推定し、入力画像データIを補正するか否かを判定する。詳細は後述する。判定結果は補正部204へ送られる。
【0031】
補正部204は、判定部203から送られた判定結果に応じて入力画像データIに光沢を変化させ、付与する補正を施す。補正部204は、補正後の画像データを出力画像データI’として出力する。また、補正を行わない場合には、入力画像データIをそのまま出力画像データI’として出力する。補正の詳細は後述する。最後に、補正部204は出力画像データI’をエンコーダ部105などの後段の処理部へ出力する。なお、出力前に出力画像データI’に対してガンマ処理などの色処理を行っても構わない。
【0032】
図3は、画像処理部104における処理の動作手順を示すフローチャートである。以下、各処理の詳細を説明する。
【0033】
ステップ301において、画像データ取得部201は、入力画像データIを取得する。
【0034】
ステップ302において、特徴量算出部202は、入力画像データIに関して特徴量を算出する。一般に髪領域では、髪の毛同士の重なりにより形成される凹凸によって毛流に沿った細かな陰影が生じる。本実施形態では、この陰影の明るさの勾配方向に基づいて画素ごとの毛流方向を推定する。さらに、推定した毛流方向に基づき、所定の範囲における毛流方向の所定の方向への集中度合い(整列度合い)を求め、これを毛流方向の整列度合いを表す特徴量Fとする。以下、
図4のフローチャートを用いて特徴量算出処理の詳細を説明する。
【0035】
まずステップ401で、特徴量算出部202は、入力画像データIの注目画素(i,j)について、次式に従い勾配強度S(i,j)および勾配方向ベクトルu(i,j)を算出する。
【0036】
【0037】
【0038】
ここで、Si(i,j)とSj(i,j)はそれぞれ画像の横方向および縦方向に関する一次微分フィルタの出力値であり、例えば公知のSobelフィルタを用いて次式により算出する。
【0039】
【0040】
【0041】
式(3)、(4)において、Sobeli(i’,j’)は横方向のSobelフィルタ係数、Sobelj(i’,j’)は縦方向のSobelフィルタ係数である。また、式(3)、(4)において、NsはSobelフィルタのフィルタサイズを規定する画素数、Y(i,j)は入力画像データIのRGB値IR(i,j)、IG(i,j)、IB(i,j)から公知の変換式を用いて得られる輝度値である。なおフィルタサイズは、被写体の首から上の顔全体を写したアップショットで、画素数が1000×1000以上の入力画像データIに対して、例えばNs=3としてもよい。この場合、注目画素から上3画素、下3画素、右3画素、左3画素の7×7サイズのフィルタとしてもよい。また、フィルタサイズを固定せず、入力画像データIにおける髪領域の大きさに応じてサイズを変更するようにしてもよい。
【0042】
このとき、式(1)の勾配強度S(i,j)は、画像のエッジが明瞭であるほど大きな値を示す。また、式(2)の勾配方向ベクトルu(i,j)は、暗い画素から明るい画素へ向かう向きを示す単位ベクトルとなる。
【0043】
なお、本実施形態ではSobelフィルタを用いたが、その他の一次微分フィルタを用いてもよい。また、式(3)、(4)において輝度値Yを用いたが、明度やGチャンネルの値IGなど、他の明るさを表す指標を替わりに用いてもよい。
【0044】
次にステップ402で、特徴量算出部202は、勾配方向ベクトルu(i,j)に基づき注目画素(i,j)における毛流方向を表す角度θi,jを推定する。本実施形態では、勾配方向に垂直な方向と入力画像データIの横方向(画素配列のi軸方向)とがなす角を毛流の角度θi,jとし、次式に従い算出する。
【0045】
【0046】
図5に角度θ
i,jの例を示す。なお、本実施形態では毛流の角度に関して髪の毛の生える向き(毛根から毛先に向かう向き)を問わない。すなわち、θ
i,j=αとθ
i,j=α+πとを区別なく同じ角度として扱う。
【0047】
続いてステップ403で、特徴量算出部202は、入力画像データIの注目画素(i,j)に関する特徴量F(i,j)として、注目画素(i,j)近傍の画素の毛流の角度θの角度θi,j近傍への集中度合い(毛流方向の整列度合い)を次式に従い算出する。
【0048】
【0049】
【0050】
【0051】
ここで、特徴量F(i,j)はベクトル(vi,vj)の長さに相当する。また、ベクトル(vi,vj)は角度θi,jの2倍角を有する単位ベクトル(cos2θi,j,sin2θi,j)の重み付き平均合成ベクトルに相当する。これは上述のようにθi,j=αとθi,j=α+πとを区別しないためである。また、Naは平均する際のフィルタサイズを規定する画素数であり、例えばNa=Nsとする。
【0052】
このとき特徴量F(i,j)は、重み付き平均合成ベクトル(vi,vj)に基づいて定まる角度θave=tan-1(vj/vi)/2が、注目画素(i,j)の毛流の角度θi,jにどのくらい近いかの度合いを表している。特徴量F(i,j)は、注目画素(i,j)の毛流の角度θi,jに近い毛流の角度を有する画素が多く、注目画素近傍で毛流の角度が揃っている(毛流が整っている)ほど大きな値となり、フィルタ内の全画素の毛流の角度が等しい場合に最大値1となる。
【0053】
図6(a)に毛流が整っている被写体の例を、
図6(b)に毛流がばらついている被写体の例を示す。また、
図6(a)、(b)の太枠内における画素ごとの毛流の角度の分布をそれぞれ
図6(c)、(d)に示す。
図6(c)、(d)では、点で示した位置における毛流の角度を、その点に重畳した線分の傾きで表している。
図6(c)の例では毛流がおおよそ縦方向に揃っているため整列度合いが高く、特徴量Fは最大値1に近い大きな値となる。これに対し、
図6(d)の例では毛流の角度がばらばらであるため整列度合いが低く、特徴量Fは最小値0に近い小さな値となる。
【0054】
ステップ303において、判定部203は、ステップ302で算出された特徴量F(i,j)に基づいて入力画像データI全体の毛流の状態を推定し、入力画像データIを補正するか否かを判定する。具体的には、画素ごとに算出した特徴量Fの代表値として入力画像データI内の特徴量Fの平均値を求め、その値が予め定めた閾値以上であれば毛流が整っている状態であると見なし、「入力画像データIを補正する」と判定する。また、特徴量Fの平均値が閾値未満であれば、毛流が整っていない状態であると見なし、「入力画像データIを補正しない」と判定する。そして、「補正する」と判定された場合はステップ304へ進み、「補正しない」と判定された場合はステップ305へ進む。
【0055】
なお、代表値は、入力画像データI内の特徴量Fを代表する値であればよく、中央値や最大値、最小値など平均値以外の値を代表値として用いてもよい。また代表値は、入力画像データI内の全画素の特徴量Fから算出してもよいが、入力画像データI内の一部画素、例えば髪領域周辺の画素の特徴量Fのみに基づき算出してもよい。
【0056】
ステップ304において、補正部204は、入力画像データIに光沢を付与する補正を施す。本実施形態では、毛流の角度θi,jに基づいて毛流と直交する曲線を求め、この曲線に沿って所定の幅を有する領域内の画素の画素値を明るく補正することにより、被写体の毛流に応じた形状の光沢を入力画像データIに付与する。
【0057】
まず、入力画像データIから特徴量F(i,j)が閾値以上である画素を抽出し、補正対象領域とする。次に、補正対象領域に内接する最大の円の中心を求め、これを光沢付与の基準点P
0(i
0,j
0)とする。なお、基準点P
0は、補正対象領域の重心や光沢を付けたい任意の点など、補正対象領域内であれば他の点としてもよい。
図7に基準点P
0の例を示す。この図において、網掛け部分は補正対象領域を表している。
【0058】
次に、基準点P0(i0,j0)を通る傾き-1/tanθi0,j0の直線上にあり、基準点P0(i0,j0)から所定の距離dだけ離れた点P1(i1,j1)、P-1(i-1,j-1)の座標を求める。これらの点P1、P-1は、基準点P0から毛流に垂直な直線、すなわち基準点P0(i0,j0)を通る傾き-1/tanθi0,j0の直線に沿ってdだけ移動した点である。なお、距離dを小さくとるほど後述する処理で生成される各点Pを線分でつないだ曲線(折れ線)が滑らかになるため、付与される光沢の形状も滑らかとなる。なお、各点Pをつなぐ曲線は、各点Pを線分でつなぐ代わりに、スプライン補間等を用いて各点Pをつなぐ滑らかな曲線を求めて使用してもよく、このような場合には、距離dを小さくとることにより毛流に即した曲線形状とすることができる。
【0059】
続いて、n=1,2,3,…について、以下の式(9)~(11)を満たす点Pn+1(in+1,jn+1)の座標を、点Pn+1が補正対象領域外になるまで順次求める。
【0060】
【0061】
【0062】
【0063】
ここで、式(9)は点Pn+1(in+1,jn+1)が、点Pn(in,jn)を通る傾き-1/tanθin,jnの直線上にあることを意味している。式(10)は、∠Pn-1PnPn+1が鋭角でないことを意味している。つまり、式(9)および式(10)により、点Pn+1(in+1,jn+1)の位置は、点Pn(in,jn)を通る傾き-1/tanθin,jnの直線上において、∠Pn-1PnPn+1が鋭角でない角をなす位置となる。式(11)は、点Pnから点Pn+1までの距離がdであることを意味している。
【0064】
同様に、n=-1,-2,-3,…について、以下の式(12)~(14)を満たす点Pn-1(in-1,jn-1)の座標を、点Pn-1が補正対象領域外になるまで順次求める。
【0065】
【0066】
【0067】
【0068】
最後に、補正対象領域内の画素のうち、点Pnを結ぶ曲線Cからの距離が所定の距離w以下である画素について、明るくなるように、すなわち輝度値が高くなるようにRGB値を補正する。具体的には、被写体のRGB値IR(i,j)、IG(i,j)、IB(i,j)それぞれに所定のゲイン係数を乗算する。あるいは、所定のバイアス値を加算してもよい。ゲイン係数やバイアス値は、輝度値が高くなるものであればRGB値の各色成分で同じ値としてもよいが、例えば、上述の輝度値Yへの変換式における各色成分の係数に応じて色成分ごとに異なる値としてもよい。また、曲線Cからの距離に応じてゲイン係数やバイアス値を小さくするなどにより、曲線Cから離れるに従って補正量が小さくなるようにしてもよい。
【0069】
また、ステップ403で算出した特徴量F(i,j)が大きい画素ほど明るくなるように補正してもよい。その場合、毛流が整っている部分ほど光沢が強調され、反対に、比較的不整な部分には控えめに光沢が付与されることとなる。したがって、被写体の毛流の状態に応じた光沢をより適切に付与することが可能となる。
【0070】
ステップ305において、補正部204は、ステップ303の判定結果に応じた画像データを出力する。具体的には、ステップ303で「補正する」と判定された場合には、ステップ304で補正された入力画像データを出力画像データI’とする。また、「補正しない」と判定された場合には、補正されていない入力画像データIを出力画像データI’とする。そして、出力画像データI’を後段の処理部へ出力して処理を終了する。
【0071】
図6(a)、(b)に示す画像を入力画像とした場合の出力画像の例を、それぞれ
図6(e)、(f)に示す。
図6(a)を入力画像とした場合には、特徴量Fが所定の閾値以上であることから被写体の毛流が整っていると見なされて「補正する」と判定され、
図6(e)のように光沢が付与された出力画像が出力される。これに対し、
図6(b)を入力画像とした場合には、特徴量Fが所定の閾値未満であることから毛流が整っていないと見なされて「補正しない」と判定され、
図6(f)のように光沢が付与されない入力画像そのものが出力画像として出力される。
【0072】
以上説明した処理制御を行うことで、被写体の毛流の状態に応じて適切に光沢を付与することができる。
【0073】
なお、本実施形態では、ステップ303において入力画像データI全体に対して補正するか否かを判定したが、入力画像データIを特定の領域ごとに補正するか否かを判定してもよい。例えば、入力画像データIに被写体として複数の人物が含まれる場合、人物それぞれに対応する髪領域を公知の領域抽出技術を用いて抽出し、得られた髪領域ごとに特徴量Fの代表値を算出して補正するか否かを判定してもよい。そして、「補正する」と判定された髪領域内の画素についてのみ、ステップ304で補正を施す。この場合、毛流の状態の異なる複数の被写体が画像に含まれる場合でも、それぞれの被写体の毛流に応じて適切に光沢を付与することが可能となる。
【0074】
また、画素ごとに補正するか否かを判定してもよい。具体的には、ステップ303において画素ごとに特徴量F(i,j)の値と予め定めた閾値とを比較し、特徴量F(i,j)が閾値以上であれば、その画素位置近傍において毛流が整っていると見なす。そして、毛流が整っていると見なされた画素についてのみ「補正する」と判定し、ステップ304で画素値の輝度の補正を施す。この場合、例えば一人の人物の髪領域内において部分的に毛流の状態が異なる場合でも、適切に光沢を付与することが可能となる。
【0075】
また、本実施形態では、画素ごとにその近傍の画素の毛流方向との毛流方向の整列度合いを表す特徴量F(i,j)を算出し(ステップ302)、全画素の特徴量Fの平均値を代表値として算出している(ステップ303)。ただしこれに限らず、ステップ302でフィルタサイズNaを入力画像データIの全画素数をカバーするものとし、画像全体における毛流方向の整列度合いを特徴量Fとして算出してもよい。その場合、式(7)、(8)で算出する重み付き平均合成ベクトルが画像中の全画素に関する平均に相当するため、その長さをステップ303における代表値として用いることができる。
【0076】
また、本実施形態では、画素ごとに特徴量F(i,j)を算出したが、複数の画素ごとに特徴量Fを算出してもよい。その場合、複数の画素の画素値の平均値に基づき勾配方向ベクトルを算出し、複数の画素に関する勾配強度Sおよび角度θを求め、それらに基づき特徴量Fを算出すればよい。
【0077】
また、本実施形態では、特徴量Fを式(6)~(8)に基づき算出したが、より簡易な特徴量を用いてもよい。例えば、勾配強度S等による重み付けを行わずに、単にフィルタ内の各画素が持つ角度θの2倍角を持つ単位ベクトルを合成した平均ベクトルの長さRを特徴量としてもよい。なお、角度θの分散(=1-R)を特徴量とした場合、所定の閾値以下である場合に補正を行うとしてもよい。
【0078】
また、本実施形態では、ステップ304において毛流の角度に応じた形状の光沢を入力画像に付与したが、特許文献1の技術を用いて光沢を付与してもよい。あるいは、被写体表面の形状情報を別途取得し、光源で照らされた場合の反射光を仮想的に計算することで光沢を付与してもよい。
【0079】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0080】
特徴量算出部202
判定部203
補正部204