説明

画像処理装置、その制御方法、プログラム及び印刷装置

【課題】 顔領域に関する飾り付け画像を配置し直すというユーザの操作を減らす。
【解決手段】 写真画像中の顔領域を顔認識処理によって検出し(ステップS130)、検出した顔領域を基準として、予め定めた相対位置に顔に関する飾り付け画像を配置する(ステップS190)。これにより、顔に関する飾り付け画像を表示する相対位置を適切な位置に定めておけば、顔に関する飾り付け画像を顔領域に対して適切な位置に配置可能となるため、飾り付け画像を顔領域とは無関係に定めた固定位置に配置する場合に加えて、飾り付け画像を配置し直すというユーザの操作を減らすことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、その制御方法、プログラム及び印刷装置に関する。
【背景技術】
【0002】
従来、画像データに飾り付け画像を合成する方法が知られている。例えば、特許文献1に記載された複写装置では、原稿の画像データのうちユーザが指定する位置に、記憶媒体に保持されている飾り付け画像を合成し、新たな画像イメージを作成して印刷する。こうすることにより、他の機材に接続することなく、複写原稿に容易に画像を合成することができる。
【特許文献1】特開平9−139832
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、画像データに人物の顔が含まれているときには、吹き出しや涙マークなど人物の顔に関連する飾り付け画像を合成することが考えられる。
【0004】
しかしながら、特許文献1に記載された複写装置では、飾り付け画像を画像データに合成するとき、合成する位置をユーザが毎回指定しなければならず、ユーザの手間がかかるという問題点があった。
【0005】
本発明は、このような課題に鑑みなされたものであり、顔に関する飾り付け画像を配置し直すというユーザの操作を減らすことができる画像処理装置、その制御方法及びその制御プログラムを提供することを目的の一つとする。また、そのような画像処理装置を備えた印刷装置を提供することを目的の一つとする。
【課題を解決するための手段】
【0006】
本発明は、上述の目的の少なくとも一つを達成するために以下の手段を採った。
【0007】
本発明の画像処理装置は、
各種画像を表示可能な画像表示手段と、
顔に関する飾り付け画像である顔飾り付け画像を記憶する顔飾り付け画像記憶手段と、
顔領域に対する顔飾り付け画像の相対位置を定めた相対位置情報を記憶する相対位置情報記憶手段と、
所定の写真画像の顔領域を検出する顔領域検出手段と、
前記顔領域検出手段によって前記所定の写真画像の顔領域が検出され且つ前記顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたとき、該所定の顔飾り付け画像の相対位置情報を前記相対位置情報記憶手段から読み込み、前記相対位置情報と前記所定の写真画像の顔領域の絶対位置とに基づいて、前記所定の写真画像における該所定の顔飾り付け画像の表示位置を決定し、該表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御する制御手段と、
を備えたものである。
【0008】
この画像処理装置では、顔領域検出手段によって所定の写真画像の顔領域が検出され且つ顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたとき、所定の顔飾り付け画像の相対位置情報を相対位置情報記憶手段から読み込み、相対位置情報と所定の写真画像の顔領域の絶対位置とに基づいて、所定の写真画像における所定の顔飾り付け画像の表示位置を決定し、表示位置に所定の顔飾り付け画像を表示する。このように、写真画像のどこに顔領域が存在していても、その顔領域に対する顔飾り付け画像の位置は予め定められた相対位置情報に基づいて決定されるため、予め顔領域に対する顔飾り付け画像の相対位置を適切な位置に定め、この相対位置を相対位置情報として相対位置情報記憶手段に記憶しておけば、顔飾り付け画像は顔領域に対して適切な位置に配置されることになる。したがって、顔飾り付け画像を顔領域とは無関係に定めた固定位置に配置する場合に比べて、顔飾り付け画像を配置し直すというユーザの操作を減らすことができる。
【0009】
本発明の画像処理装置は、前記顔領域検出手段で検出された前記所定の写真画像の顔領域の前記写真画像の所定方向に対する傾き角度を算出する顔傾き角度算出手段を備え、前記制御手段は、前記顔領域検出手段によって前記所定の写真画像の顔領域が検出され且つ前記顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたとき、該所定の顔飾り付け画像の相対位置情報を前記相対位置情報記憶手段から読み込み、前記所定の写真画像の顔領域の傾き角度に基づいて該所定の顔飾り付け画像を回転させると共に、前記相対位置情報と前記所定の写真画像の顔領域の絶対位置とに基づいて前記所定の写真画像における該所定の顔飾り付け画像の表示位置を決定し、該表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御するものとしてもよい。こうすることで、写真画像の顔領域の傾き角度に応じて顔飾り付け画像を回転し直すというユーザの操作を減らすことができる。なお、ここで「所定方向に対する傾き角度」とは、何らかの基準方向に対して定めた傾き角度であり、例えば、天地方向に対する傾き角度であってもよく、水平方向に対する傾き角度であってもよい。なお、顔飾り付け画像を回転させる方法とは、例えば、顔傾き角度算出手段で算出した顔傾き角度と同じ角度だけ回転させる方法であってもよく、顔傾き角度算出手段で算出した傾き角度に所定の値を加えた角度だけ回転させる方法であってもよい。
【0010】
本発明の画像処理装置は、前記所定の写真画像の顔領域の大きさを算出する顔領域面積算出手段を備え、前記制御手段は、前記顔領域検出手段によって前記所定の写真画像の顔領域が検出され且つ前記顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたとき、該所定の顔飾り付け画像の相対位置情報を前記相対位置情報記憶手段から読み込み、前記所定の写真画像の顔領域の大きさに基づいて該所定の顔飾り付け画像を表示する大きさを決定すると共に、前記相対位置情報と前記所定の写真画像の顔領域の絶対位置とに基づいて前記所定の写真画像における該所定の顔飾り付け画像の表示位置を決定し、前記表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御するものであってもよい。こうすれば、写真画像の顔領域の大きさに応じて顔飾り付け画像の大きさを変更し直すというユーザの操作を減らすことができる。なお、所定の写真の顔領域の大きさに基づいて所定の顔飾り付け画像を表示する方法とは、例えば、顔領域が大きいときには顔飾り付け画像を大きく表示する方法であってもよく、顔領域が小さいときには、顔飾り付け画像を小さく表示する方法であってもよい。
【0011】
本発明の画像処理装置は、前記顔領域検出手段で検出された前記顔領域の数をカウントする顔領域数カウント手段を備え、前記制御手段は、前記顔領域検出手段によって前記所定の写真画像の顔領域が検出され且つ前記顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたのち、前記顔領域数カウント手段によって前記顔領域の数が2以上カウントされたとき、該所定の顔飾り付け画像の相対位置情報を前記相対位置情報記憶手段から読み込み、前記相対位置情報と前記所定の写真画像の2以上の顔領域の中から所定の規則に従って定めた顔領域の前記絶対位置とに基づいて前記所定の写真画像における該所定の顔飾り付け画像の表示位置を決定し、前記表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御するものであってもよい。こうすれば、写真画像中に複数の顔領域があるときでも、そのうちの1つの顔領域を選定し、その顔領域に顔飾り付け画像を付けるため、選定された顔領域とユーザが顔飾り付け画像を付けたいと思っていた顔領域とが一致していれば、顔飾り付け画像を配置し直すというユーザの操作を減らすことができる。なお、ここで「所定の規則」とは、検出された顔領域の1つを選定可能な規則であり、例えば、検出された顔領域のうち最も顔領域が広いものに選定するという規則であってもよく、検出された顔領域のうち写真画像の中心位置に最も近いものに選定するという規則であってもよい。
【0012】
本発明の画像処理装置は、前記顔領域検出手段で検出された前記顔領域の数が予め定めた上限値以上であるか否かを判定する顔領域数判定手段を備え、前記制御手段は、前記顔領域検出手段によって前記所定の写真画像の顔領域が検出され且つ前記顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたのち、前記顔領域数判定手段で前記顔領域の数が予め定めた上限値以上であると判定されたとき、該所定の顔飾り付け画像の表示位置を所定の固定位置に決定し、前記表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御するものであってもよい。写真画像中に予め定めた上限値以上の数の顔領域が検出されたときには、1つの顔領域を選定してもそれがユーザの意図した顔領域と一致する確率が下がり、本発明の効果が十分に得られないためである。なお、ここで「所定の固定位置」とは、予め定められた固定位置であり、例えば、写真画像の中央であってもよく、写真画像の4隅のいずれか近傍であってもよい。また、ここで、「上限値」とは、例えば値3のように予め定められた任意の値であってもよく、顔領域の数が多すぎてそのうちの1つの顔領域を顔飾り付け画像に追従させるべき顔領域として自動選定したとしても、その自動選定した顔領域と実際にユーザが顔飾り付け画像を付けたい顔領域とが一致する確率が低くなるような値であってもよい。
【0013】
本発明の印刷装置は、上述したいずれかに記載の画像処理装置と、印刷媒体への印刷を実行可能な印刷実行手段とを備えたものである。本発明の画像処理装置を搭載した印刷装置は、本発明の画像処理装置を搭載しているため顔飾り付け画像を配置し直すというユーザの操作を減らすことができるものであるから、これを搭載した印刷装置も同様の効果が得られる。
【0014】
本発明の画像処理装置の制御方法は、
各種画像を表示可能な画像表示手段と、顔に関する飾り付け画像である顔飾り付け画像を記憶する顔飾り付け画像記憶手段と、顔領域に対する顔飾り付け画像の相対位置を定めた相対位置情報を記憶する相対位置情報記憶手段と、を備えた画像処理装置をコンピュータ・ソフトウェアで制御する制御方法であって、
(a)所定の写真画像の顔領域を検出するステップと、
(b)前記ステップ(a)で検出した顔領域に飾り付ける所定の顔飾り付け画像を前記顔飾り付け画像記憶手段から読み込み、該所定の顔飾り付け画像の相対位置情報を前記相対位置情報記憶手段から読み込み、該相対位置情報と前記所定の写真画像の顔領域の絶対位置とに基づいて、該所定の写真画像における該所定の顔飾り付け画像の表示位置を決定し、該表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御するステップと、
を含むものである。
【0015】
本発明の画像処理装置の制御方法は、顔領域検出手段によって所定の写真画像の顔領域が検出され且つ顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたとき、所定の顔飾り付け画像の相対位置情報を相対位置情報記憶手段から読み込み、相対位置情報と所定の写真画像の顔領域の絶対位置とに基づいて、所定の写真画像における所定の顔飾り付け画像の表示位置を決定し、表示位置に所定の顔飾り付け画像を表示する。このように、写真画像のどこに顔領域が存在していても、その顔領域に対する顔飾り付け画像の位置は予め定められた相対位置情報に基づいて決定されるため、予め顔領域に対する顔飾り付け画像の相対位置を適切な位置に定め、この相対位置を相対位置情報として相対位置情報記憶手段に記憶しておけば、顔飾り付け画像は顔領域に対して適切な位置に配置されることになる。したがって、顔飾り付け画像を顔領域とは無関係に定めた固定位置に配置する場合に比べて、顔飾り付け画像を配置し直すというユーザの操作を減らすことができる。
【0016】
本発明の画像処理装置の制御方法において、画像処理装置の制御方法は上述したいずれかの画像処理装置が備えている各種構成を備えていてもよいし、また、上述したいずれかの画像処理装置の機能を実現するようなステップを追加してもよい。
【0017】
本発明の制御プログラムは、1又は複数のコンピュータに、画像処理装置の制御方法の各ステップを実行させるためのプログラムである。このプログラムは、コンピュータが読み取り可能な記録媒体(例えばハードディスク、ROM、FD、CD、DVDなど)に記録されていてもよいし、伝送媒体(インターネットやLANなどの通信網)を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを一つのコンピュータに実行させるか又は複数のコンピュータに各ステップを分担して実行させれば、上述した制御方法と同様の効果を得ることができる。
【発明を実施するための最良の形態】
【0018】
次に、本発明の実施の形態を図面に基づいて説明する。図1は、本発明の一実施形態であるフォトプリンタ10の斜視図であり、図2は、フォトプリンタ10の構成の概略を示すブロック図である。
【0019】
本実施形態のフォトプリンタ10は、図1に示すように、プリンタ本体12の前面を開閉可能な前面扉14と、プリンタ本体12の上面に設けられた操作パネル20と、プリンタ本体12の上面の奥の一辺に開閉自在に取り付けられ閉状態で操作パネル20を覆うカバー30と、プリンタ本体12に内蔵された印刷機構40(図2参照)と、フォトプリンタ10の全体の制御を司るコントローラ50(図2参照)とを備えている。なお、本実施形態では印刷媒体を「記録紙」として説明するが、材質を特定する趣旨ではなく、紙の他フィルムなど他の材質も含むものとする。
【0020】
前面扉14は、プリンタ本体12の前面を開閉するための蓋であり、図1に示すように、開状態のときには、プリンタ本体12の前面から排紙される記録紙Sを受けるための排紙トレイとして機能すると共に、プリンタ本体12の前面に設けられた各種のメモリカードスロット18をユーザが利用可能な状態となる。
【0021】
操作パネル20は、文字や図形、記号などを表示するディスプレイ22と、このディスプレイ22の周囲に配置されたボタン群24とを備えている。ボタン群24は、図2に示すように、電源のオンオフを行うための電源ボタン24a、ディスプレイ22に表示されている画像等の表示サイズを6分割表示・15分割表示・全画面表示等に切り替えるための表示切替ボタン24b、印刷機能に関する複数の選択肢が並んだメインメニュー画面を呼び出すためのメニューボタン24c、操作を途中でキャンセルしたり記録紙Sへの印刷を途中で中断したりするためのキャンセルボタン24d、記録紙Sへの印刷実行を指示するための印刷ボタン24e、メモリカードスロット18に挿入されたメモリカードMに編集画像等を保存するための保存ボタン24f、ディスプレイ22に表示された複数の選択肢の中から所望の選択肢を選択したりカーソルを移動したりするときに操作される上下左右ボタン24g、この上下左右ボタン24gの中央に配置され上下左右ボタン24gによって選択されている選択肢に決定したことを指示するためのOKボタン24hなどで構成されている。また、図1に示すように、操作パネル20の奥には、印刷機構40の給紙口48が設けられ、この給紙口48には、ガイド幅が記録紙Sの幅に合うように左右方向にスライド操作される一対の用紙ガイド49a,49bが設けられている。
【0022】
カバー30は、図1に示すように、プリンタ本体12の上面を覆うことのできる大きさに成形された樹脂板であり、ディスプレイ22と同じ大きさの窓34を備え、カバー支持軸32に開閉可能に取り付けられている。また、カバー30が開状態のときには、記録紙Sを印刷機構40へ供給するための給紙トレイとして利用可能である。一方、カバー30が閉状態であっても、カバー30には窓34が備えられているため、ユーザはこの窓34を介してディスプレイ22の表示内容を確認することができる。
【0023】
印刷機構40は、プリンタ本体12の内部に配置され、図2に示すように、左右方向にループ状に架け渡されたキャリッジベルト41により駆動されガイド42に沿って左右に往復するキャリッジ43と、キャリッジ43にシアン・マゼンダ・イエロー・ブラック等の各色のインクを供給するインクカートリッジ44と、各インクカートリッジ44から供給された各インクに圧力をかけてノズルから記録紙Sに向かってインクを吐出する印刷ヘッド45と、操作パネル20に形成された給紙口48から供給された記録紙Sを排紙トレイである開状態の前面扉14へ送り出す搬送ローラ46とを備えている。インクカートリッジ44は印刷機構40の下方に取り付けられており、インクカートリッジ44がキャリッジ43上に搭載されていない、いわゆるオフキャリッジタイプである。印刷ヘッド45は、ここでは圧電素子に電圧をかけることによりこの圧電素子を変形させてインクを加圧する方式を採用しているが、発熱抵抗体(例えばヒータなど)に電圧をかけインクを加熱して発生した気泡によりインクを加圧する方式を採用してもよい。
【0024】
コントローラ50は、図2に示すように、CPU51を中心とするマイクロプロセッサとして構成されており、各種処理プログラムや各種データ、各種テーブルなどを記憶したROM52と、一時的にデータを記憶するRAM53と、電気的に書き換え可能で電源を切ってもデータは保持されるフラッシュメモリ54と、メモリカードスロット18に挿入されたメモリカードMや印刷機構40、操作パネル20と通信を可能とするインタフェース55(I/F)とを備え、これらはバス57を介して互いに信号のやり取りが可能なように接続されている。ROM52には、後述する飾り付け画像配置処理ルーチンや顔認識処理ルーチン、顔選定処理ルーチンなどが記憶されている。フラッシュメモリ54には、後述する顔飾り付け画像や飾り付け画像情報などが記憶されている。このコントローラ50は、メモリカードスロット18に挿入されたメモリカードMの画像ファイルなどを入力し、操作パネル20のボタン群24からの指令信号や印刷機構40の各部からの検出信号などを入力する。また、コントローラ50は、メモリカードMに編集画像などを保存するほか、印刷機構40の各部への制御信号や操作パネルのディスプレイ22への制御信号を出力する。
【0025】
次に、こうして構成された本実施形態のフォトプリンタ10の動作、特に顔飾り付け画像配置処理の動作について説明する。図3は、コントローラ50のCPU51により実行される飾り付け画像配置処理ルーチンの一例を表すフローチャートである。この飾り付け画像配置処理ルーチンはROM52に記憶され、CPU51により写真画像が読み込まれたときなどに繰り返し実行される。
【0026】
図3の飾り付け画像配置処理ルーチンが開始されると、CPU51は、まず、ユーザに飾り付け画像の選択を促す飾り付け画像選択画面(図4参照)をディスプレイ22に表示する(ステップS100)。これにより、ユーザは写真画像に配置する飾り付け画像を選択することができる。図4に示すように、飾り付け画像選択画面では、写真画像の縁を囲むフレームマーク81、写真画像の上側に付される垂れ幕マーク82、顔の外側に付される夢マーク83、顔の外側に付される吹き出しマーク84、目の下に付される涙マーク85、目の斜め上に付される怒りマーク86、頭の上に付される閃きマーク87、目の上に付されるメガネマーク88等が選択可能に表示されている。そして、ユーザが上下左右ボタン24gで写真画像に配置する飾り付け画像を選択し、OKボタン24hを押下すると、CPU51はフラッシュメモリ54より、ユーザが選択した飾り付け画像に対応する飾り付け画像情報(図5参照)を読み込む(ステップS110)。ここで、飾り付け画像情報とは、飾り付け画像が顔に関連する飾り付け画像(顔飾り付け画像)であるか否かを表す顔追従フラグ、顔領域の中心座標を基準とした顔飾り付け画像の相対座標(X_S_OFFSET,Y_S_OFFSET)を示すオフセット座標、顔の面積を基準とした顔飾り付け画像の相対面積を示すオフセットサイズ、顔領域の上下方向を基準とした顔飾り付け画像の相対角度を示すオフセット回転角度、顔飾り付け画像幅及び顔飾り付け画像高さなどを含む情報をいう。なお、顔追従フラグがゼロのときには顔飾り付け画像以外の飾り付け画像(例えば、フレームマーク81や垂れ幕マーク82など)であることを示し、値1のときには顔飾り付け画像(例えば、吹き出しマーク84や涙マーク85など)であることを示す。
【0027】
次に、CPU51は、ステップS110で読み込んだ顔追従フラグがゼロか否かを判定し(ステップS120)、顔追従フラグがゼロのときには、今回選択した飾り付け画像は顔飾り付け画像ではないため、あらかじめ定められた固定位置(本実施形態では写真画像中央位置とする)に飾り付け画像を配置し(ステップS210)、本ルーチンを終了する。一方、顔追従フラグが値1であったときには、今回選択した飾り付け画像は顔飾り付け画像であるため、後述する顔認識処理ルーチンを用いて顔領域の検出を試みる(ステップS130)。これにより、飾り付け画像が顔飾り付け画像であるときにのみ、ステップS130以下の処理を行うことになる。
【0028】
ここで、顔認識処理ルーチンについて詳しく説明する。図6は顔認識処理ルーチンの一例を表すフローチャートである。図6の顔認識処理ルーチンが実行されると、CPU51は写真画像中の顔領域の検出を試行する(ステップS300)。ここで、顔領域を検出する方法は公知技術なので、ここではその詳細な検出方法については省略するが、例えば、写真画像から肌色に指定した色と近い色を持つ画素を肌色画素の集合として抽出する方法がある。この方法は、例えば、肌色を他の色と区別するための色空間上で、予め色空間上の肌色の範囲を定め、各画素の色が定められた範囲に入っているか否かを判定することにより行われる。このとき、画像データを色相、彩度及び輝度の色空間に変換し、カラー画像の平均輝度を算出し、算出した平均輝度の所定の範囲毎に、予め肌色画素値に適切な範囲を設定して、範囲内の肌色画素値の領域を肌色画素の集合として抽出してもよい。このように、画像の平均輝度を複数の範囲に区分し、各範囲に対して肌色画素値の範囲を設定するようにすれば、画像全体が明るいか暗いかに応じて、適切な肌色画素の範囲を設定することができる。この結果、肌色画素の検出をより正確に行うことが可能である。これにより、肌色画素の集合を抽出することができる。このとき、ある程度の数(例えば10画素、または、画像全体の画素数の1%以上)以上の肌色画素が接した状態で集合している画像領域のみをして抽出してもよい。肌色画素の集合を抽出した後、CPU51は、肌色画素の集合から目及び口の抽出を行う。ここで、目及び口の位置を抽出する方法は公知技術なので、ここではその詳細な抽出方法については省略するが、例えば、検出した肌色画素の集合領域から、肌色画素の集合領域よりも輝度値の低い領域を目の領域として抽出し、抽出した両目の下側の範囲内で肌色画素の集合領域よりも輝度値の低い領域を口の領域として抽出する。このとき、ニューラルネットワークによる処理や、画像内の形状を利用した処理などの種々の処理によって抽出してもよい。なお、写真画像中の位置座標は、写真画像の左上隅を原点(0,0)とし、右方向をX座標正の方向、下方向をY座標正の方向とする(図7参照)。
【0029】
続いて、CPU51は、顔領域の検出を試行した結果、顔領域を検出できたか否かを判定し(ステップS310)、顔領域を検出できなかったときには、顔領域の検出に失敗したことを表すために顔検出フラグをゼロに設定し(ステップS360)、本ルーチンを終了する。なお、顔領域を検出できなかったときとは、例えば、肌色画素の集合を抽出できなかったときや肌色画素の集合を抽出した後に、目や口を抽出できなかったときなどが挙げられる。一方、CPU51は、ステップS310で顔領域を検出できたときには、顔領域の検出に成功したことを表すために顔検出フラグを値1に設定し(ステップS320)、図7に示すように、検出した写真画像の顔領域に外側から接する矩形を作成し(ステップS330)、この矩形の4隅の座標や中心座標、面積を求めてそれらをRAM53の所定領域に記憶する(ステップS340)。ここで、矩形の座標は、顔認識処理ルーチンで検出した目及び口の位置から顔領域の上下方向を判定し、顔領域の左上位置に相当する矩形の左上座標を(X_F_LT,Y_F_LT)と定める。同様に、矩形の右上座標を(X_F_RT,Y_F_RT),矩形の左下座標を(X_F_LB,Y_F_LB),矩形の右下座標を(X_F_RB,Y_F_RB)として、矩形の4隅の座標を定める。また、矩形の中心座標を(X_C、Y_C)とする。なお、本実施形態では、矩形の面積を顔領域の面積とみなす。
【0030】
続いて、CPU51は、全ての顔領域についてステップS330及びステップS340の処理を実行したか否かを判定し(ステップS350)、まだそれらの処理を実行していない顔領域が残っているときには、次の顔領域についてステップS330及びステップS340の処理を実行する。一方、全ての顔領域についてステップS330及びステップS340の処理を実行したときには、本ルーチンを終了する。写真画像に複数の人物が写っているときには、ステップS300で顔領域の検出を試行したときに複数の顔領域が検出されるため、検出された全ての顔領域についてステップS330及びステップS340の処理を実行したか否かを判定する。また、顔領域が複数存在する場合には、CPU51は、各顔領域に矩形の4隅の座標や中心座標、面積を対応付けてRAM53に記憶する。
【0031】
図3のフローに戻り、CPU51は、このような顔認識処理ルーチンを終了した後、顔検出フラグがゼロか値1かを判定し(ステップS140)、顔検出フラグがゼロのとき、つまり、顔領域の検出に失敗したときには、予め定められた固定位置(本実施形態では写真画像中央位置とする)に顔飾り付け画像を配置し(ステップS210)、本ルーチンを終了する。一方、顔検出フラグが値1のとき、つまり、顔領域の検出に成功したときには、続いて顔選定処理ルーチンを実行する(ステップS150)。なお、顔領域の検出に失敗したときには、顔飾り付け画像は予め定められた固定位置に配置されるため、ユーザは顔飾り付け画像を適切な位置に移動する操作を行うことになる。
【0032】
ここで、顔選定処理ルーチンについて詳しく説明する。図8は顔選定処理ルーチンの一例を表すフローチャートである。図8の顔選定処理ルーチンが実行されると、CPU51は、顔認識処理ルーチン(ステップS130)で複数の顔領域を検出したか否かを判定し(ステップS400)、顔認識処理ルーチンで1つの顔領域のみを検出したと判定されたときには、その顔領域を追従対象の顔領域として設定し(ステップS410)、顔飾り付け画像を追従させるべき顔領域があることを表すために追従対象フラグを値1に設定し(ステップS420)、本ルーチンを終了する。ここで、追従対象の顔領域とは、今回の顔飾り付け画像を付けるために顔飾り付け画像を追従させる顔領域をいう。一方、顔認識処理ルーチンで複数の顔領域を検出したと判定されたときには、顔領域の数が上限値以上か否かを判定する(ステップS430)。ここで、上限値とは、顔領域の数が多すぎてそのうちの1つの顔領域を顔飾り付け画像に追従させるべき顔領域として自動選定したとしても、その自動選定した顔領域と実際にユーザが顔飾り付け画像を付けたい顔領域とが一致する確率が低くなるような値に設定されている。本実施形態では、この上限値を値3とした。そして、顔領域の数が上限値未満であるときには、それぞれの顔領域の面積を読み込み(ステップS440)、読み込んだ面積のうち最も大きな面積を持つ顔領域を追従対象の顔領域として設定し(ステップS450)、追従対象フラグを値1に設定し(ステップS420)、本ルーチンを終了する。一方、顔領域の数が上限値以上であったときには、追従対象の顔領域を設定したとしても、それとユーザが顔飾り付け画像と付けたい顔領域とが一致する確率が低いことから、追従対象の顔領域を設定することなく、追従対象フラグをゼロに設定し(ステップS460)、本ルーチンを終了する。
【0033】
さて、図3のフローに戻り、CPU51は、顔選定処理ルーチン(ステップS150)の後、追従対象の顔領域があるか否かを追従対象フラグに基づいて判定する(ステップS160)。そして、追従対象の顔領域がなかったとき、つまり、追従対象フラグがゼロであるときには、前出の固定位置に顔飾り付け画像を配置し(ステップS210)、本ルーチンを終了する。なお、顔飾り付け画像が予め定められた固定位置に配置されるときは、ユーザは顔飾り付け画像を適切な位置に移動する操作を行うことになる。一方、追従対象の顔領域があるとき、つまり、追従対象フラグが値1であるときには、顔領域に追従する顔飾り付け画像の傾き角度を算出する(ステップS170)。具体的には、まず、矩形の左上座標の値(X_F_RT,Y_F_RT)と矩形の右下座標の値(X_F_LB,Y_F_LB)を比較し、以下の表1に示すように、それぞれの座標の値の条件式に対応する角度に顔領域傾き角度を決定する。なお、図9は顔領域傾き角度と矩形の左上座標及び右上座標との関係を表す。続いて、CPU51はRAM53より追従させる顔飾り付け画像のオフセット回転角度を読み込み、オフセット回転角度を顔領域の傾き角度に加算して顔飾り付け画像の傾き角度を算出する。これにより、顔領域が写真画像の所定方向に対して傾いていたとき、その傾き角度に合わせて顔飾り付け画像を回転することができる。なお、顔領域傾き角度、オフセット回転角度及び顔飾り付け画像傾き角度は時計回り方向を正の角度とする。
【0034】
【表1】

【0035】
次に、CPU51は、RAM53より顔領域の面積の値及びオフセットサイズの値を読み込み、読み込んだ面積の値にオフセットサイズの値を乗算して、顔飾り付け画像の大きさを算出する(ステップS180)。
【0036】
次に、CPU51は、飾り付け画像情報(図5参照)や顔飾り付け画像の傾き角度・面積に基づいて顔飾り付け画像を配置する(ステップS190)。具体的には、まず、顔領域の面積が所定のデフォルト値であるとしたときの顔飾り付け画像の左上座標(X_OFFSET,Y_OFFSET)を求める。この座標(X_OFFSET,Y_OFFSET)は、顔領域の面積がデフォルト値で且つ顔領域傾き角度が0°のときに、飾り付け画像情報に含まれるオフセット座標(X_S_OFFSET,Y_S_OFFSET)となるように決められている。そして、顔領域の面積がデフォルト値で顔領域傾き角度が90°、180°、270°のときには、座標(X_OFFSET,Y_OFFSET)はそれぞれ表2及び図9のようになる。すなわち、オフセット座標(X_S_OFFSET,Y_S_OFFSET)を顔領域傾き角度だけ回転させた座標となる。このようにして座標(X_OFFSET,Y_OFFSET)を定めたあと、顔領域の中心座標(X_F_C,Y_F_C)と先ほど求めた座標(X_OFFSET,Y_OFFSET)との距離を、デフォルト値に対する今回の顔領域の面積の比に基づいて伸縮する。そして、顔領域の中心座標(X_F_C,Y_F_C)から座標(X_OFFSET,Y_OFFSET)の方向に伸縮後の距離だけ離れた座標を、今回の顔飾り付け画像の左上座標(X_S,Y_S)とする(図7参照)。また、顔領域の面積がデフォルト値で且つ顔領域傾き角度が0°のときの顔飾り付け画像につき、その傾き角度がステップS170で算出した傾き角度になるようにすると共に、その大きさがステップS180で算出した顔飾り付け画像になるように拡大・縮小する。そうしたうえで、その顔飾り付け画像の左上隅が左上座標(X_S,Y_S)と一致するように配置する。ここで、図10は、顔領域の面積がデフォルト値のときのの各顔飾り付け画像の配置位置を示したものである。この図10には、併せて各顔飾り付け画像のオフセット座標やオフセットサイズ、オフセット回転角度も例示した。
【0037】
【表2】

【0038】
次に、CPU51は、配置された顔飾り付け画像の配置位置が相応しい位置であるか否かを判定し(ステップS200)、飾り付け画像の配置位置が相応しい位置であると判定したときには、本ルーチンを終了する。具体的には、配置された顔飾り付け画像の全部の領域が写真画像領域の内部に配置されているときに、飾り付け画像の配置位置が相応しい位置であると判定する。一方、CPU51が、顔飾り付け画像の配置位置が相応し位置でないと判定したときには、予め定められた固定位置に顔飾り付け画像を配置し(ステップS210)、本ルーチンを終了する。このように、写真画像のどこに顔領域が存在していても、その顔領域に対する顔飾り付け画像の位置は予め定められた顔飾り付け画像情報に基づいて決定されるため、予め顔領域に対する顔飾り付け画像の相対座標を適切な位置に定め、この相対座標を飾り付け画像情報としてフラッシュメモリ54に記憶しておけば、顔飾り付け画像は顔領域に対して適切な位置に配置されることになる。
【0039】
飾り付け画像配置処理ルーチンにより顔飾り付け画像が自動配置されたのち、ユーザは、自動配置された顔飾り付け画像を上下左右ボタン24gを用いて、必要があれば任意の場所に移動し、OKボタン24hを押下して、顔飾り付け画像の配置位置を決定する。顔飾り付け画像は顔領域に対して適切な位置に配置されているため、顔飾り付け画像を顔領域とは無関係に定めた固定位置に配置する場合に比べて、顔飾り付け画像を配置し直すというユーザの操作を減らすことができる。
【0040】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のディスプレイ22が画像表示手段に相当し、フラッシュメモリ54が顔飾り付け画像記憶手段及び相対位置情報記憶手段に相当し、コントローラ50が制御手段、顔領域検出手段、顔傾き角度検出手段、顔領域面積算出手段及び顔領域数カウント手段に相当し、印刷機構40が印刷実行手段に相当する。また、飾り付け画像情報が相対位置情報に相当する。なお、本実施形態ではフォトプリンタ10の動作の説明をすることにより本発明の画像処理装置の制御方法の一例も明らかにしている。
【0041】
以上詳述した本実施形態のフォトプリンタ10によれば、所定の写真画像の顔領域が検出され且つフラッシュメモリ54から所定の顔飾り付け画像が読み込まれたとき、所定の顔飾り付け画像の飾り付け画像情報をROM52から読み込み、飾り付け画像情報と写真画像の顔領域の座標位置とに基づいて、写真画像における顔飾り付け画像の表示位置を決定し、表示位置に顔飾り付け画像を表示する。このため、予め顔領域に対する顔飾り付け画像の相対位置を適切な位置に定めておけば、顔飾り付け画像は顔領域に対して適切な位置に配置されることになる。したがって、顔飾り付け画像を顔領域とは無関係に定めた固定位置に配置する場合に比べて、顔飾り付け画像を配置し直すというユーザの操作を減らすことができる。
【0042】
また、所定の写真画像の顔領域の傾き角度を算出し、算出した顔領域の傾き角度に基づいて所定の顔飾り付け画像を回転させて顔飾り付け画像を表示する位置を決定するため、写真画像の顔領域の傾き角度に顔飾り付け画像を回転し直すというユーザの操作を減らすことができる。
【0043】
更に、所定の写真画像の顔領域の大きさを算出し、算出した顔領域の大きさに基づいて所定の顔飾り付け画像を表示する大きさを決定するため、写真画像の顔領域の大きさに応じて顔飾り付け画像の大きさを変更し直すというユーザの操作を減らすことができる。
【0044】
更にまた、所定の写真画像の顔領域の数をカウントし、カウントした顔領域の数が2以上であるときには、複数の顔領域のうち最も面積の大きな顔領域を基準として顔飾り付け画像を表示する位置を決定するため、写真画像中に複数の顔領域があるときでも、選定された顔領域とユーザが顔飾り付け画像を付けたいと思っていた顔領域とが一致していれば、顔飾り付け画像を配置し直すというユーザの操作を減らすことができる。
【0045】
そしてまた、所定の写真画像の顔領域の数が予め定めた上限値以上のときは、1つの顔領域を自動選定しても、その顔領域とユーザの意図した顔領域とが一致する確率が低いため、顔飾り付け画像を所定の固定位置に表示する。
【0046】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0047】
例えば、上述した実施形態では、フォトプリンタ10は印刷機構40の下部にインクカートリッジ44を装着するオフキャリッジ式の印刷機構40としたが、キャリッジ43にインクカートリッジ44を装着するオンキャリッジ式の印刷機構としてもよい。また、インクジェット方式の印刷機構としたが、電子写真方式やドットインパクト方式などのプリンタに本発明を適用してもよいし、プリンタのほかにスキャナなどの機能を併せ持つ複合機に本発明を適用してもよい。
【0048】
上述した実施形態では、ステップS120で顔追従フラグが値1であると判定されたときには、常に顔認識処理を行うこととしたが、必ずしもそのようにする必要はない。例えば、顔認識処理ルーチンの終了前に今回の写真画像のファイル名に対応する形式で矩形の座標等をRAM53に記憶し、顔認識処理(ステップS130)を行う前に、顔認識処理を行おうとしている写真画像に対応する形式で矩形の座標等がRAM53に記憶されているか否かを判定するステップを加え、矩形の座標等がRAM53に記憶されていると判定したときには、顔認識処理(ステップS130)を行う代わりに、その写真画像に対応する矩形の座標等をRAM53から読み取ることとしてもよい。こうすれば、一度顔認識処理を行った写真画像を再度読み込むときには、再度顔認識処理を行わなくてもよいため、処理時間を短縮することができる。
【0049】
上述した実施形態では、ステップS170で矩形の左上座標の位置に従って、90°毎に顔領域の傾き角度を定めることとしたが、顔領域検出処理で検出した目及び口の位置関係から顔領域の上下方向を検出し、写真画像の上下線を基準として左右の目を結ぶ直線が時計回り方向になす角度を顔領域の傾き角度として算出してもよいし、写真画像の上下線を基準として矩形の左上座標と矩形の右上座標とを結ぶ線分が時計回り方向になす角度を顔領域の傾き角度として算出してもよい。こうすれば、90°毎に算出した場合に比べて、より細かな角度で顔領域の傾き角度を算出することができるため、より細かな角度で顔飾り付け画像を回転することができる。
【0050】
上述した実施形態では、ステップS200で配置された顔飾り付け画像の全部の領域が写真画像領域の内部に配置されているときに、飾り付け画像の配置位置が相応しい位置であると判定することとしたが、顔飾り付け画像毎に大きさの範囲を予め定め、顔飾り付け画像の大きさが予め定められた範囲内の大きさで配置されたときに飾り付け画像の配置位置が相応しい位置であると判定するものとしてもよい。例えば、顔飾り付け画像が夢マーク83や吹き出しマーク84であるときには、顔飾り付け画像を小さく表示すると文字が書き込めず、逆に大きく表示すると不要な手書き欄が増えてしまうことになる。このようなときには、ユーザが顔飾り付け画像の大きさを操作し直す必要があるため、本発明の効果を十分に得ることができない。
【0051】
上述した実施形態では、顔飾り付け画像及び飾り付け画像情報はフラッシュメモリ54に記憶されているものとしたが、メモリースティックやCD−ROMなど持ち運び可能なリムーバルディスクに記憶されていてもよい。こうすれば、ユーザは様々な顔飾り付け画像を写真画像に配置することができる。
【0052】
上述した実施形態では、写真画像に顔飾り付け画像を配置することとしたが、写真画像と顔飾り付け画像を合成し記憶する画像合成手段を備えていてもよい。こうすれば、ユーザは加工した写真画像を記憶することができる。
【図面の簡単な説明】
【0053】
【図1】フォトプリンタ10の斜視図。
【図2】フォトプリンタ10の構成の概略を示すブロック図。
【図3】飾り付け画像配置処理ルーチンの一例を示すフローチャート。
【図4】飾り付け画像選択画面の一例を示す説明図。
【図5】顔飾り付け画像及び飾り付け画像情報の説明図。
【図6】顔認識処理ルーチンの一例を示すフローチャート。
【図7】写真画像中の位置座標を説明する説明図。
【図8】顔選定処理ルーチンの一例を示すフローチャート。
【図9】顔領域傾き角度と矩形の左上座標及び右上座標との関係を表す説明図。
【図10】顔飾り付け画像の配置位置の一例を説明する説明図。
【符号の説明】
【0054】
10 フォトプリンタ、12 プリンタ本体、14 前面扉、18 メモリカードスロット、20 操作パネル、22 ディスプレイ、24 ボタン群、24a 電源ボタン、24b 表示切替ボタン、24c メニューボタン、24d キャンセルボタン、24e 印刷ボタン、24f 保存ボタン、24g 上下左右ボタン、24h OKボタン、30 カバー、32 カバー支持軸、34 窓、40 印刷機構、41 キャリッジベルト、42 ガイド、43 キャリッジ、44 インクカートリッジ、45 印刷ヘッド、46 搬送ローラ、48 給紙口、49 用紙ガイド、50 コントローラ、51 CPU、52 ROM、53 RAM、54 フラッシュメモリ、55 I/F、57 バス、81 フレームマーク、82 垂れ幕マーク、83 夢マーク、84 吹き出しマーク、85 涙マーク、86 怒りマーク、87 閃きマーク、88 メガネマーク、S 記録紙、M メモリーカード。

【特許請求の範囲】
【請求項1】
各種画像を表示可能な画像表示手段と、
顔に関する飾り付け画像である顔飾り付け画像を記憶する顔飾り付け画像記憶手段と、
顔領域に対する顔飾り付け画像の相対位置を定めた相対位置情報を記憶する相対位置情報記憶手段と、
所定の写真画像の顔領域を検出する顔領域検出手段と、
前記顔領域検出手段によって前記所定の写真画像の顔領域が検出され且つ前記顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたとき、該所定の顔飾り付け画像の相対位置情報を前記相対位置情報記憶手段から読み込み、前記相対位置情報と前記所定の写真画像の顔領域の絶対位置とに基づいて、前記所定の写真画像における該所定の顔飾り付け画像の表示位置を決定し、該表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御する制御手段と、
を備えた画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記顔領域検出手段で検出された前記所定の写真画像の顔領域の前記写真画像の所定方向に対する傾き角度を算出する顔傾き角度算出手段、
を備え、
前記制御手段は、前記顔領域検出手段によって前記所定の写真画像の顔領域が検出され且つ前記顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたとき、該所定の顔飾り付け画像の相対位置情報を前記相対位置情報記憶手段から読み込み、前記所定の写真画像の顔領域の傾き角度に基づいて該所定の顔飾り付け画像を回転させると共に、前記相対位置情報と前記所定の写真画像の顔領域の絶対位置とに基づいて前記所定の写真画像における該所定の顔飾り付け画像の表示位置を決定し、該表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御する、
画像処理装置。
【請求項3】
請求項1又は2に記載の画像処理装置であって、
前記所定の写真画像の顔領域の大きさを算出する顔領域面積算出手段、
を備え、
前記制御手段は、前記顔領域検出手段によって前記所定の写真画像の顔領域が検出され且つ前記顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたとき、該所定の顔飾り付け画像の相対位置情報を前記相対位置情報記憶手段から読み込み、前記所定の写真画像の顔領域の大きさに基づいて該所定の顔飾り付け画像を表示する大きさを決定すると共に、前記相対位置情報と前記所定の写真画像の顔領域の絶対位置とに基づいて前記所定の写真画像における該所定の顔飾り付け画像の表示位置を決定し、前記表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御する、
画像処理装置。
【請求項4】
請求項1〜3のいずれかに記載の画像処理装置であって、
前記顔領域検出手段で検出された前記顔領域の数をカウントする顔領域数カウント手段、
を備え、
前記制御手段は、前記顔領域検出手段によって前記所定の写真画像の顔領域が検出され且つ前記顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたのち、前記顔領域数カウント手段によって前記顔領域の数が2以上カウントされたとき、該所定の顔飾り付け画像の相対位置情報を前記相対位置情報記憶手段から読み込み、前記相対位置情報と前記所定の写真画像の2以上の顔領域の中から所定の規則に従って定めた顔領域の前記絶対位置とに基づいて前記所定の写真画像における該所定の顔飾り付け画像の表示位置を決定し、前記表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御する、
画像処理装置。
【請求項5】
請求項1〜4のいずれかに記載の画像処理装置であって、
前記顔領域検出手段で検出された前記顔領域の数が予め定めた上限値以上であるか否かを判定する顔領域数判定手段、
を備え、
前記制御手段は、前記顔領域検出手段によって前記所定の写真画像の顔領域が検出され且つ前記顔飾り付け画像記憶手段から所定の顔飾り付け画像が読み込まれたのち、前記顔領域数判定手段で前記顔領域の数が予め定めた上限値以上であると判定されたとき、該所定の顔飾り付け画像の表示位置を所定の固定位置に決定し、前記表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御する、
画像処理装置。
【請求項6】
請求項1〜5のいずれかに記載の画像処理装置と、
印刷媒体に印刷を実行可能な印刷実行手段と、
を備えた印刷装置。
【請求項7】
各種画像を表示可能な画像表示手段と、顔に関する飾り付け画像である顔飾り付け画像を記憶する顔飾り付け画像記憶手段と、顔領域に対する顔飾り付け画像の相対位置を定めた相対位置情報を記憶する相対位置情報記憶手段と、を備えた画像処理装置をコンピュータ・ソフトウェアで制御する制御方法であって、
(a)所定の写真画像の顔領域を検出するステップと、
(b)前記ステップ(a)で検出した顔領域に飾り付ける所定の顔飾り付け画像を前記顔飾り付け画像記憶手段から読み込み、該所定の顔飾り付け画像の相対位置情報を前記相対位置情報記憶手段から読み込み、該相対位置情報と前記所定の写真画像の顔領域の絶対位置とに基づいて、該所定の写真画像における該所定の顔飾り付け画像の表示位置を決定し、該表示位置に該所定の顔飾り付け画像が表示されるよう前記画像表示手段を制御するステップと、
を含む画像処理装置の制御方法。
【請求項8】
請求項7に記載の画像処理装置の制御方法の各ステップを1又は複数のコンピュータに実現させるための制御プログラム。

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


【公開番号】特開2008−203960(P2008−203960A)
【公開日】平成20年9月4日(2008.9.4)
【国際特許分類】
【出願番号】特願2007−36372(P2007−36372)
【出願日】平成19年2月16日(2007.2.16)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】