(57)【特許請求の範囲】
【請求項１】
検出対象となる物体の画像の特徴を特定する対象特定手段と、
撮像画像を表示する表示部の姿勢をセンサにより検出する傾き検出手段と、
前記撮像画像において、前記対象特定手段によって特定された前記特徴と適合する部分を検出するマッチング手段と、
前記マッチング手段によって前記特徴と適合する部分が検出された後に、前記傾き検出手段により検出された前記表示部の姿勢に基づいて、前記撮像画像に重畳するオブジェクトの画像の前記表示部に対する表示角度を前記表示部の傾きに追尾しながら所定の方向になるように設定し、前記撮像画像における前記特徴と適合する部分と対応付けて、前記オブジェクトの画像を前記設定した表示角度で前記表示部に表示される前記撮像画像の上に、前記特徴と適合する部分と前記オブジェクトの画像の両方が見える形で重畳するように合成する画像合成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記マッチング手段は、前記特徴と適合する部分が検出されたフレーム内の位置において、フレームの遷移による画像の変動を評価し、
前記画像合成手段は、前記マッチング手段による評価の結果に応じて、前記オブジェクトの画像を重畳して表示するか否かを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像合成手段は、
前記傾き検出手段により検出された表示部の姿勢に基づいて、前記オブジェクトの画像の鉛直方向に対する表示角度が一定となるように合成することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
複数の前記オブジェクトのうち、いずれかの選択を受け付ける入力手段をさらに備え、
前記画像合成手段は、前記入力手段により受け付けられたオブジェクトの画像を合成することを特徴とする請求項１乃至３のうち何れか１項に記載の画像処理装置。
【請求項５】
オブジェクトの画像を合成する処理を制御する画像処理装置が実行する画像処理方法において、
検出対象となる物体の画像の特徴を特定する対象特定ステップと、
撮像画像を表示する表示部の姿勢をセンサにより検出する傾き検出ステップと、
前記撮像画像において、前記対象特定ステップにおいて特定された前記特徴と適合する部分を検出するマッチングステップと、
前記マッチングステップにおいて前記特徴と適合する部分が検出された後に、前記傾き検出ステップにおいて検出された前記表示部の姿勢に基づいて、前記撮像画像に重畳するオブジェクトの画像の前記表示部に対する表示角度を前記表示部の傾きに追尾しながら設定し、前記撮像画像における前記特徴と適合する部分と対応付けて、前記オブジェクトの画像を前記設定した表示角度で前記表示部に表示される前記撮像画像の上に、前記特徴と適合する部分と前記オブジェクトの画像の両方が見える形で重畳するように合成する画像合成ステップと、
を含む画像処理方法。
【請求項６】
オブジェクトの画像を合成するコンピュータを、
検出対象となる物体の画像の特徴を特定する対象特定手段、
撮像画像を表示する表示部の姿勢をセンサにより検出する傾き検出手段、
前記撮像画像において、前記対象特定手段によって特定された前記特徴と適合する部分を検出するマッチング手段、
前記マッチング手段によって前記特徴と適合する部分が検出された後に、前記傾き検出手段により検出された前記表示部の姿勢に基づいて、前記撮像画像に重畳するオブジェクトの画像の前記表示部に対する表示角度を前記表示部の傾きに追尾しながら設定し、前記撮像画像における前記特徴と適合する部分と対応付けて、前記オブジェクトの画像を前記設定した表示角度で前記表示部に表示される前記撮像画像の上に、前記特徴と適合する部分と前記オブジェクトの画像の両方が見える形で重畳するように合成する画像合成手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像画像に他の画像を重畳表示する画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
昨今、撮像画像における特定の被写体（実オブジェクト）の画像に対応付けて、キャラクタの画像を重畳して表示する画像処理装置が存在する。このような画像処理装置では、撮像されたフレーム画像に基づいて画像解析をした結果をもとに、フレーム画像における実オブジェクトの画像の傾き（例えば、表示画面内における正視状態からの回転角度）を検出する。画像処理装置は、検出した実オブジェクトの画像の傾きを、実オブジェクト画像の座標データの初期状態として記録しておく。画像処理装置は、初期状態として記録した傾きと、以後の撮像画像における実オブジェクトの傾きと、の相対的な差分、即ち、座標値の差分を求める。そして、画像処理装置は、求めた座標値の差分から、所定のベクトルに沿うようにキャラクタの画像を傾けて重畳して表示する処理を実行する（例えば、特許文献１参照）。これにより、撮像画像において実オブジェクトの画像が傾くと、その傾きに追随してキャラクタの画像の角度を補正して表示することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−７２６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術を適用した場合にあっては、キャラクタの画像の角度を補正するためには、フレーム画像ごとに画像解析によりオブジェクトの画像の傾きを検出する必要があり、オブジェクト画像に対する画像処理の負担が増大する可能性がある。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、撮像画像における特定の被写体の画像に対応付けて、他の画像を重畳表示する際の処理負担を軽減することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様の画像処理装置は、検出対象となる物体の画像の特徴を特定する対象特定手段と、撮像画像を表示する表示部の姿勢をセンサにより検出する傾き検出手段と、前記撮像画像において、前記対象特定手段によって特定された前記特徴と適合する部分を検出するマッチング手段と、前記マッチング手段によって前記特徴と適合する部分が検出された後に、前記傾き検出手段により検出された前記表示部の姿勢に基づいて、前記撮像画像に重畳するオブジェクトの画像の前記表示部に対する表示角度を前記表示部の傾きに追尾しながら設定し、前記撮像画像における前記特徴と適合する部分と対応付けて、前記オブジェクトの画像を前記設定した表示角度で前記表示部に表示される前記撮像画像の上に、前記特徴と適合する部分と前記オブジェクトの画像の両方が見える形で重畳するように合成する画像合成手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、撮像画像における特定の被写体の画像に対応付けて、他の画像を重畳表示する際の処理負担を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態に係る画像処理装置のハードウェアの構成を示すブロック図である。
【図２】図１の画像処理装置の機能的構成のうち、メイン処理を実行するための機能的構成を示す機能ブロック図である。
【図３】図２の機能的構成を有する図１の画像処理装置が実行する第１実施形態のメイン処理の流れを説明するフローチャートである。
【図４】図３のメイン処理のうち、対象オブジェクト特徴記憶処理の詳細を説明するフローチャートである。
【図５】図３のメイン処理のうち、マッチング処理の詳細を説明するフローチャートである。
【図６】図３のメイン処理のうち、領域変動評価処理の詳細を説明するフローチャートである。
【図７】図１の画像処理装置により撮像が開始された状態を示している図である。
【図８】図１の画像処理装置の表示部にキャラクタを表示している状態を示す図である。
【図９】図２の機能的構成を有する図１の画像処理装置が実行する第２実施形態のメイン処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を用いて説明する。
【００１０】
［第１実施形態］
図１は、本発明の第１実施形態に係る画像処理装置のハードウェアの構成を示すブロック図である。
画像処理装置１は、例えばスマートフォンとして構成される。
【００１１】
画像処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、バス１４と、入出力インターフェース１５と、表示部１６と、センサ１７と、入力部１８と、撮像部１９と、記憶部２０と、通信部２１と、ドライブ２２と、を備えている。
【００１２】
ＣＰＵ１１は、ＲＯＭ１２に記録されているプログラム、又は、記憶部２０からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。
【００１３】
ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００１４】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インターフェース１５も接続されている。入出力インターフェース１５には、表示部１６、センサ１７，入力部１８、撮像部１９、記憶部２０、通信部２１及びドライブ２２が接続されている。
【００１５】
表示部１６は、ディスプレイにより構成され撮像部１９により撮像された画像を表示する。
【００１６】
センサ１７は、例えば、６軸加速度センサ或いはジャイロセンサなどで構成され、表示部１６が設けられた画像処理装置１の装置本体の傾きを検出する。即ち、センサ１７は、任意の姿勢（傾斜角度）状態においても方位及び傾斜の計測が可能であるので、センサ１７を画像処理装置１の装置本体に内蔵或いは付属させることにより、表示部１６の位置や姿勢の変化の情報を計測することができる。
入力部１８は、ユーザの指示操作に応じて各種情報を入力する。
【００１７】
撮像部１９は、被写体を撮像し、当該被写体の像を含む画像（以下、「撮像画像」と称する）のデータをＣＰＵ１１に供給する。
【００１８】
記憶部２０は、ハードディスク或いはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などで構成され、撮像画像に合成するキャラクタなどの各種画像のデータ、撮像画像のデータの他、アプリケーションプログラムなどの各種プログラムなどを記憶する。
通信部２１は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【００１９】
ドライブ２２には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなる、リムーバブルメディア４１が適宜装着される。ドライブ２２によってリムーバブルメディア４１から読み出されたプログラムは、必要に応じて記憶部２０にインストールされる。また、リムーバブルメディア４１は、記憶部２０に記憶されている画像のデータなどの各種データも、記憶部２０と同様に記憶することができる。
【００２０】
図２は、このような画像処理装置１の機能的構成のうち、メイン処理を実行するための機能的構成を示す機能ブロック図である。
メイン処理とは、ユーザにより図示せぬ電源ボタンが押下されたことを契機として開始される、次のような処理をいう。即ち、メイン処理とは、センサ１７により検出した傾きに基づいて傾きを反映したキャラクタの画像を撮像画像に合成して表示するまでの一連の処理をいう。
【００２１】
ＣＰＵ１１においては、メイン処理の実行が制御される場合、撮像制御部６１と、表示制御部６２と、対象特定部６３と、マッチング部６４と、傾き検出部６５と、画像合成部６６と、が機能する。
【００２２】
メイン処理が開始されると、検出対象画像が登録された後に、ライブビュー撮像処理及びライブビュー表示処理が開始される。
即ち、撮像制御部６１は、撮像部１９による撮像動作を開始させて、当該撮像動作を継続させる。その間、撮像制御部６１は、当該撮像部１９から順次出力される撮像画像のデータを、記憶部２０に一時的に記憶させる。このような一連の処理が、ここでいう「ライブビュー撮像処理」である。なお、ライブビュー撮像処理により記憶部２０に一時的に記憶されている撮像画像を、以下、「ライブビュー画像」と呼ぶ。
また、表示制御部６２は、ライブビュー撮像処理時に記憶部２０に一時的に記録された各撮像画像のデータを順次読み出して、各々に対応する撮像画像を表示部１６に順次表示させる。このような一連の制御処理が、ここでいう「ライブビュー表示処理」である。また、表示制御部６２は、画像合成部６６により生成された合成画像を表示部１６において表示する制御を行う。画像合成部６６による合成画像のデータの生成については、後述する。
【００２３】
対象特定部６３は、撮像部１９により撮像された検出対象となるオブジェクト（以下、対象オブジェクトと呼ぶ）の撮像画像を基に、対象オブジェクトの特徴を特定する。対象オブジェクトの特徴は、対象オブジェクトの画像における有効な特徴点及びその特徴量によって定義される。有効な特徴点とは、コントラストの急峻な変化（閾値以上のコントラスト変化）を生じている部分など、画素値の変化によって特定される部分であり、その特徴量とは、有効な特徴点における変化の度合い（コントラストの大きさなど）である。本実施形態では、対象特定部６３は、対象オブジェクトの特徴として、有効な特徴点の配置と、有効な特徴点それぞれにおける変化の度合いとを対応付けて記憶部２０に記憶する。
【００２４】
マッチング部６４は、時間的に離間して撮像された複数の撮像画像に対して、対象オブジェクトの特徴とのマッチングを行う。具体的には、マッチング部６４は、対象特定部６３により特定された対象オブジェクトの特徴（特徴点の配置及びその変化の度合い）と一致する部分が撮像画像に含まれているか、即ち、対象オブジェクトの特徴と適合する部分があるか否かを検出する。そして、マッチング部６４は、対象オブジェクトの特徴と一致する部分が撮像画像から検出されると、検出された部分を初期状態の対象オブジェクトの領域として特定する。
また、マッチング部６４は、対象オブジェクトの領域が特定された撮像画像に続いて入力される撮像画像のフレームにおいて、対象オブジェクトの領域の画像に変動があるか否かを評価する。即ち、対象オブジェクトの特徴と適合する部分が検出されたフレーム内の位置において、フレームの遷移による画像の変動を評価する。具体的には、マッチング部６４は、初期状態の対象オブジェクトの領域における画素値の変化（例えば輝度値のヒストグラムの変化など）から、対象オブジェクトが一定以上、初期状態の対象オブジェクトの領域から移動したか否かを判定する。そして、マッチング部６４は、対象オブジェクトの領域における変動の判定結果（対象オブジェクトが継続して撮像されているか否か）を傾き検出部６５及び画像合成部６６に出力する。なお、マッチングできない場合、即ち対象オブジェクトの領域が特定されない場合は、マッチング部６４は、ライブビュー表示処理を継続して行う。
【００２５】
傾き検出部６５は、画像処理装置１に内蔵されたセンサ１７において計測された傾きの情報に基づいて、表示部１６の姿勢、即ち、表示部１６の傾きの状態を検出する。具体的には、傾き検出部６５は、ライブビュー画像が表示部１６に表示されるタイミングにおける画像処理装置１の装置本体の傾き量を検出する。傾き検出部６５は、ライブビュー画像撮像処理時の画像処理装置１の傾き量をセンサ１７から所定時間ごとに取得する。傾き検出部６５は、取得した傾き量を画像合成部６６へ供給する。
【００２６】
画像合成部６６は、傾き検出部６５により検出された傾きに基づいて、所定のキャラクタ（オブジェクトの一種）の画像を、対象特定部６３により特定された検出対象画像の位置に設定された角度で重畳して合成する。具体的には、画像合成部６６は、傾き検出部６５により検出された傾きに基づいて、キャラクタの画像を表示部１６に表示される実空間上の鉛直方向に沿うように傾ける。そして、画像合成部６６は、実空間上の鉛直方向に沿うように傾けられたキャラクタの画像と、対象特定部６３により特定された検出対象画像と、を合成する。この場合、画像合成部６６は、キャラクタの画像が対象オブジェクトの画像の位置に重畳するように合成して、合成画像のデータを生成する。上述のように、一度マッチングができた後は、マッチング部６４は、対象オブジェクトの領域内の画像の変動を評価する。そして、対象オブジェクトの領域内の画像の変動が所定の閾値以下の場合には、画像合成部６６は、継続して、傾き検出部６５により検出された傾き、即ち、センサ１７で検出した傾きに基づいてキャラクタの画像の表示角度を逐次変えつつ、合成画像のデータを生成する。そして、表示制御部６２は、対応する合成画像を表示部１６で逐次表示する制御を実行することで、キャラクタの表示角度を常に所定の方向（例えば、実空間上の鉛直方向）に沿うように傾けつつ、表示を行うことができる。これに対し、対象オブジェクトの領域の画像の変動が大きい場合には、検出対象が消えたと判断されるため、画像合成部６６は、キャラクタの画像をライブビュー画像に合成する処理を停止する。合成する処理が停止した場合には、通常のライブビュー表示処理のみが継続して行われる。
【００２７】
次に、図３を参照して、このような図２の機能的構成の画像処理装置１が実行するメイン処理について説明する。
図３は、図２の機能的構成を有する図１の画像処理装置１が実行するメイン処理の流れを説明するフローチャートである。
画像処理装置１によりメイン処理が実行されると、ＣＰＵ１１において図２の各機能ブロックが機能して、次のような処理が行われる。即ち、以下の各ステップの処理の動作主体は、ハードウェアではＣＰＵ１１が該当する。但し、本発明の理解を容易なものとすべく、ＣＰＵ１１において機能する各機能ブロックが動作主体であるものとして、以下の各ステップの処理の説明をする。
【００２８】
メイン処理は、ユーザにより画像処理装置１の電源ボタン（図示せず）が押下されたことを契機として開始され、次のような処理が繰り返し実行される。
【００２９】
ステップＳ１１において、対象特定部６３は、後述の図４を参照して説明する対象オブジェクト特徴記憶処理を実行する。対象オブジェクト特徴記憶処理では、検出対象画像を読み込んでから、検出対象画像の特徴量を登録するまでの処理を行う。
【００３０】
ステップＳ１２において、撮像制御部６１は、ライブビュー撮像処理を開始する。そして、表示制御部６２は、撮像制御部６１により開始されたライブビュー画像に基づいて、ライブビュー表示処理を開始する。
【００３１】
ステップＳ１３において、対象特定部６３は、ステップＳ１２のライブビュー撮像処理により記憶部２０に記憶されたライブビュー画像を取得する。
【００３２】
ステップＳ１４において、マッチング部６４は、後述の図５を参照して説明するマッチング処理を実行する。マッチング処理では、ライブビュー画像内の有効な特徴点を抽出して特徴量を算出し、算出した特徴量と、ステップＳ１１において登録した検出対象画像の特徴量とをマッチングする処理を行う。
【００３３】
ステップＳ１５において、マッチング部６４は、ステップＳ１４においてマッチングした結果、マッチングしたか否かを判定する。マッチングするものがなかった場合には、ステップＳ１５においてＮＯであると判定されて、処理はステップＳ１３に戻される。即ち、マッチングするまでの間、ステップＳ１３乃至Ｓ１５の処理が繰り返し実行されて、メイン処理は待機状態となる。その後、マッチングした場合には、ステップＳ１５においてＹＥＳであると判定されて、処理はステップＳ１６に進む。
【００３４】
ステップＳ１６において、マッチング部６４は、マッチングした当該対象オブジェクトの領域を記憶部２０に登録する。
【００３５】
ステップＳ１７において、傾き検出部６５は、センサ１７からの傾きの情報を取得し、表示部１６の傾きを検出する。
【００３６】
ステップＳ１８において、画像合成部６６は、キャラクタの画像の表示角度を傾き検出部６５により検出された傾きに基づいて設定して反映する。そして、画像合成部６６は、設定した表示角度のキャラクタの画像を、対象特定部６３により特定された検出対象の画像のうち、ステップＳ１６において登録した対象オブジェクトの領域に重畳して表示されるように合成し、合成画像のデータを生成する。キャラクタの画像の表示角度を傾ける具体例については、後述の図７及び図８を参照して説明する。
【００３７】
ステップＳ１９において、表示制御部６２は、ステップＳ１８において合成して生成した合成画像のデータに基づいて、表示部１６に合成画像を表示する制御を実行する。
【００３８】
ステップＳ２０において、対象特定部６３は、ライブビュー画像を取得する。本ステップにおいて取得するライブビュー画像は、ステップＳ１３において取得したライブビュー画像と時間的に１／６０〜数秒間程離間したフレーム画像である。この時間はユーザが任意に設定することができる。
【００３９】
ステップＳ２１において、マッチング部６４は、後述の図６を参照して説明する領域変動評価処理を実行する。領域変動評価処理では、対象オブジェクトの領域の画像に変動があるか否かを評価する処理を行う。
【００４０】
ステップＳ２２において、マッチング部６４は、ステップＳ２１の処理において比較したライブビュー画像から取得した対象オブジェクトの領域の画像と、ステップＳ１６において登録した対象オブジェクトの領域の画像と、の変動が所定の閾値以上であるか否かを判定する。対象オブジェクトの領域の変動が所定の閾値以下である場合には、ステップＳ２２においてＮＯであると判定されて、処理はステップＳ１７に戻される。即ち、対象オブジェクトの領域の変動が所定の閾値以上となるまでの間、ステップＳ１７乃至Ｓ２２の処理が繰り返し実行される。これに対し、対象オブジェクトの領域の変動が所定の閾値以上である場合には、ステップＳ２２においてＹＥＳであると判定されて、処理はステップＳ２３に進む。
【００４１】
ステップＳ２３において、画像合成部６６は、キャラクタの画像の合成を終了する。即ち、対象オブジェクトの領域の変動が所定以上である場合、即ち、変動が大きい場合には、検出対象が消えたと判断してキャラクタの表示を中止する。
【００４２】
ステップＳ２４において、ＣＰＵ１１は、ライブビュー表示処理の終了指示を受けたか否かを判定する。終了指示を受けていない場合、ステップＳ２４においてＮＯであると判定されて、処理は再度ステップＳ１３に戻される。これに対し、終了指示を受けた場合、ステップＳ２４においてＹＥＳであると判定されて処理はステップＳ２５に進む。
【００４３】
ステップＳ２５において、表示制御部６２は、ライブビュー画像表示処理を終了する。この処理が終了すると、メイン処理が終了となる。
【００４４】
次に、このようなメイン処理のステップＳ１１の対象オブジェクト特徴記憶処理の詳細について説明する。
図４は、図３のメイン処理のうち、ステップＳ１１の対象オブジェクト特徴記憶処理の詳細を説明するフローチャートである。
上述したように、対象オブジェクト特徴記憶処理は、ユーザにより画像処理装置１の電源ボタン（図示せず）が押下されたことを契機として、ステップＳ１１の処理として開始される。
【００４５】
ステップＳ４１において、対象特定部６３は、ユーザによる入力部１８の操作に基づき、対象オブジェクトの記憶操作を受け付けたか否かを判定する。対象オブジェクトの記憶操作を受け付けていない場合、ステップＳ４１においてＮＯであると判定されて、処理はステップＳ４１に戻される。即ち、対象オブジェクトの記憶操作を受け付けるまでの間、ステップＳ４１の処理が繰り返し実行されて、対象オブジェクト特徴記憶処理は待機状態となる。その後、対象オブジェクトの記憶操作を受け付けた場合には、ステップＳ４１においてＹＥＳであると判定されて、処理はステップＳ４２に進む。
【００４６】
ステップＳ４２において、対象特定部６３は、撮像部１９から出力される撮像画像のうち、対象オブジェクトの記憶操作を受け付けた時点における対象オブジェクトの画像の読み込みを行う。
【００４７】
ステップＳ４３において、対象特定部６３は、ステップＳ４２において読み込んだ対象オブジェクトの画像内の有効な特徴点を抽出する。
【００４８】
ステップＳ４４において、対象特定部６３は、対象オブジェクトの特徴としてステップＳ４３において抽出した特徴点及びその特徴量を対応付けて記憶する。この処理が終了すると、対象オブジェクト特徴記憶処理が終了となる。
【００４９】
次に、図３のメイン処理のステップＳ１４のマッチング処理の詳細について説明する。
図５は、図３のメイン処理のうち、ステップＳ１４のマッチング処理の詳細を説明するフローチャートである。
上述したように、マッチング処理は、ライブビュー画像が取得されたことを契機として、ステップＳ１４の処理として開始される。
【００５０】
ステップＳ６１において、対象特定部６３は、図３のステップＳ１３において取得したライブビュー画像内の有効な特徴点を抽出する。
【００５１】
ステップＳ６２において、対象特定部６３は、ステップＳ６１において抽出した有効な特徴点に対応する特徴量を算出する。
【００５２】
ステップＳ６３において、マッチング部６４は、対象オブジェクトの特徴とのマッチングを行う。具体的には、マッチング部６４は、図４のステップＳ４４において記憶した対象オブジェクトの特徴が、ステップＳ６１において抽出した特徴点及びステップＳ６２において算出した特徴量に一致する部分が含まれているか否かを検出することで対象オブジェクトの特徴のマッチングを行う。この処理が終了すると、マッチング処理が終了となる。
【００５３】
次に、図３のメイン処理のステップＳ２１の領域変動評価処理の詳細について説明する。
図６は、図３のメイン処理のうち、ステップＳ２１の領域変動評価処理の詳細を説明するフローチャートである。
上述したように、領域変動評価処理は、キャラクタ画像が重畳表示された後に、ライブビュー画像が取得されたことを契機として、ステップＳ２１の処理として開始される。
【００５４】
ステップＳ８１において、マッチング部６４は、ステップＳ１６で登録した対象オブジェクトの領域の画像を取得する。
【００５５】
ステップＳ８２において、マッチング部６４は、ステップＳ１６で登録した対象オブジェクトの領域の画像に変動があるか否かを評価する。具体的には、図３のステップＳ２０で取得したライブビュー画像において、対象オブジェクトの領域における画素値の変化があるか否かを評価する。対象オブジェクトの領域の評価は、予め任意に定めたｎ（ｎは１以上の自然数）フレームごとに行われる。この処理が終了すると、領域変動評価処理が終了となる。
【００５６】
次に、キャラクタ（オブジェクトの一種）の表示角度をセンサで検出した傾きに基づいて反映した画像を撮像画像に合成する処理の具体例について図７及び図８を参照して説明する。
図７は、図１の画像処理装置１により撮像が開始された状態を示している図である。
【００５７】
ユーザにより電源ボタン（図示せず）が押し下げられると、図７（ａ）に示すように、撮像部１９により撮像された撮像画像が、画像処理装置１の表示部１６に表示される。本実施形態では、表示部１６には、被写体として腕時計１０１が表示されている。
【００５８】
ユーザによる入力部１８の操作に基づき、検出オブジェクトの記憶操作を受け付けた場合、記憶操作を受け付けた時点において撮像部１９により撮像された撮像画像が読み込まれる。そして、検出オブジェクトの撮像画像に含まれる特徴点が複数抽出され、当該抽出された特徴点の特徴量がそれぞれ算出される。そして、抽出された特徴点と、算出された特徴量とに基づいて検出オブジェクトの特徴が記憶される。即ち、ユーザは、キャラクタ（オブジェクトの一種）の画像を重畳表示したいと所望する被写体が含まれる撮像画像を検出オブジェクトの画像として登録し、その検出オブジェクトの特徴が対応付けられて記憶される。
【００５９】
検出オブジェクトの特徴の記憶後、ライブビュー撮像処理により、ライブビュー画像が撮像されると、予め記憶した対象オブジェクトの特徴が、当該ライブビュー画像内の有効な特徴点及び当該特徴点の特徴量に一致するか否かを検出するマッチングが行われる。マッチングが成功した場合、図７（ｂ）に示すように、当該マッチングした対象オブジェクトの領域１１０が登録される。なお、図７（ｂ）の例では、対象オブジェクトの領域１１０の枠を図示しているが、対象オブジェクトの領域１１０の枠は領域のイメージ例であって、実際には表示されない。
この際、センサ１７によって検出された画像処理装置１の装置本体の傾き（即ち、画像処理装置１に設けられた表示部１６の傾き）に基づいて傾けられたキャラクタの画像がライブビュー画像に合成されて、表示部１６に表示される。続いて、センサによって検出された傾きに基づいて傾けられたキャラクタの画像が表示部１６に表示される例について図８を参照して説明する。
【００６０】
図８は、図１の画像処理装置１の表示部１６にキャラクタ１２０（オブジェクトの一種）を表示している状態を示す図である。
図８（ａ）に示すように、キャラクタ１２０の画像は、登録された対象オブジェクトの領域１１０（図７（ｂ）参照）の画像に重畳するように合成されて、表示部１６に表示される。
この場合、画像処理装置１に内蔵された物理的なセンサ１７により表示部１６の傾きが検出され、そのセンサ１７により検出された傾きに基づいて、キャラクタ１２０の画像の表示角度を設定する。本実施形態では、キャラクタ１２０は、実空間上の略鉛直方向となるように表示角度が設定されている。これにより、図８（ｂ）に示すように、表示角度が設定されたキャラクタ１２０の画像が、ライブビュー画像に重畳して合成されて、表示部１６に表示される。なお、本実施形態では、オブジェクトの画像の一種として猫のキャラクタ１２０の画像が表示部１６に表示されているが、これに限られるものではない。例えば、オブジェクトの画像として、女子高生風のキャラクタや、人間の画像、花の画像、果物の画像など、様々なオブジェクトが複数記憶部２０に記憶されていてもよい。この場合、入力部１８は、複数のオブジェクトのうち、ユーザが選択した一のオブジェクトの選択を受け付ける。そして、画像合成部６６は、選択されたオブジェクトの画像を、ライブビュー画像に合成する。
【００６１】
以上説明したように、本実施形態の画像処理装置１は、対象特定部６３と、傾き検出部６５と、マッチング部６４、画像合成部６６と、を備える。対象特定部６３は、検出対象となる物体（例えば、腕時計）の画像の特徴を特定する。傾き検出部６５は、撮像画像を表示する表示部１６の姿勢を検出する。マッチング部６４は、撮像画像において、対象特定部６３によって特定された特徴と適合する部分を検出する。そして、画像合成部６６は、マッチング部６４によって、特定された特徴と適合する部分が検出された場合に、傾き検出部６５により検出された表示部１６の姿勢に基づいて、撮像画像に重畳するオブジェクト（例えば、キャラクタ）の画像の表示角度を設定し、撮像画像における特徴と適合する部分と対応付けて、オブジェクトの画像を設定した表示角度で表示部１６に表示される撮像画像に合成する。
これにより、画像合成部６６は、傾き検出部６５により検出された表示部１６の姿勢、即ち、センサ１７などで検出した傾きに基づいて表示角度を設定したキャラクタの画像を撮像画像に重畳するように合成画像を生成することができる。通常、平面マーカー以外を検出対象とした場合には、検出対象となる物体の動きを特定するための処理に対する負担が大きくなるため、検出対象が高速で動く場合には、検出対象に対するオブジェクトの画像の追尾が困難となる。しかしながら、本実施形態においては、一度検出対象を特定してしまえば、後は、物理的なセンサ１７などにより表示部１６の姿勢を検出して、オブジェクトの画像の表示角度を設定することができるため、検出対象に対する処理の負担を軽減することができる。従って、検出対象を平面マーカーに限定することなく、センサ１７による簡易な計測だけでオブジェクトの追尾を行うことができ、画像処理に対する処理の負担を軽減することができる。これにより、撮像画像における特定の被写体の画像に対応付けて、他の画像を重畳表示する際の処理負担を軽減することができる。
【００６２】
さらに、本実施形態の画像処理装置１のマッチング部６４は、対象特定部６３によって特定された特徴と適合する部分が検出されたフレーム内の位置において、フレームの遷移による画像の変動を評価する。そして、画像合成部６６は、マッチング部６４による評価の結果に応じて、オブジェクト（例えば、キャラクタ）の画像を重畳して表示するか否かを決定する。
これにより、例えば、フレームの遷移による画像の変動が大きい場合、検出対象が撮像画像の画角から消えたと判断し、画像合成部６６による画像の合成を中止することができる。
【００６３】
さらに、本実施形態の画像処理装置１の画像合成部６６は、傾き検出部６５により検出された表示部１６の姿勢に基づいて、オブジェクト（例えば、キャラクタ）の画像の鉛直方向に対する表示角度が一定となるように合成する。
これにより、一度検出対象を特定してしまえば、後は、物理的なセンサ１７などにより検出対象の姿勢を推測して、オブジェクトの画像の表示角度を設定することができるため、検出対象に対する処理の負担を軽減することができる。
【００６４】
さらに、本実施形態の画像処理装置１は、入力部１８をさらに備える。入力部１８は、オブジェクト（例えば、キャラクタ）のうち、いずれかの選択を受け付ける。
これにより、ユーザは、所望のオブジェクトを選択して、撮像画像に重畳した画像を合成することができる。
【００６５】
以上、本発明の第１実施形態に係る画像処理装置１について説明した。
次に、本発明の第２実施形態に係る画像処理装置１について説明する。
【００６６】
［第２実施形態］
本発明の第２実施形態に係る画像処理装置１は、第１実施形態に係る画像処理装置１と基本的に同様のハードウェア構成及び機能的構成を取ることができる。
従って、図１は、第２実施形態に係る画像処理装置１のハードウェアの構成を示すブロック図でもある。
【００６７】
さらに、第２実施形態に係る画像処理装置１が実行するメイン処理は、第１実施形態に係るメイン処理と基本的に同様の流れとなる。従って、図３は、第２実施形態に係るメイン処理の流れを説明するフローチャートでもある。
さらに、第２実施形態に係る画像処理装置１が実行する対象オブジェクト特徴記憶処理は、第１実施形態に係る対象オブジェクト特徴記憶処理と基本的に同様の流れとなる。従って、図４は、第２実施形態に係る対象オブジェクト特徴記憶処理の流れを説明するフローチャートでもある。
さらに、第２実施形態に係る画像処理装置１が実行するマッチング処理は、第１実施形態に係るマッチング処理と基本的に同様の流れとなる。従って、図５は、第２実施形態に係るマッチング処理の流れを説明するフローチャートでもある。
但し、第２実施形態では、メイン処理のうちステップＳ１６、Ｓ１８、Ｓ２１、Ｓ２２の処理については、第１実施形態で採用された図３のフローチャートではなく、図９のフローチャートが採用される。
図９は、図２の機能的構成を有する図１の画像処理装置１が実行する、第２実施形態に係るメイン処理の流れを説明するフローチャートである。
【００６８】
上述した第１実施形態における図３のメイン処理では、登録した対象オブジェクトの領域の位置に基づいてキャラクタを合成しているのに対して、第２実施形態における図９のメイン処理では、特定した対象の位置に基づいてキャラクタを合成している点が差異点である。詳細には、第２実施形態では、第１実施形態に係るステップＳ１６、Ｓ１８、Ｓ２１、Ｓ２２の処理に代えて、ステップＳ１１６、Ｓ１１８、Ｓ１２１、Ｓ１２２の処理が実行される点が差異点である。
そこで、以下、このような差異点について主に説明し、一致点の説明は適宜省略する。
【００６９】
ステップＳ１１６において、マッチング部６４は、マッチングした当該対象オブジェクトの画像に含まれる位置のうち、所定の座標を対象の位置として特定する。対象位置の特定は、マッチングした当該オブジェクトの画像に含まれる位置に限られるものではなく、ユーザが任意に選択した座標を対象の位置として特定することもできる。
【００７０】
ステップＳ１１８において、画像合成部６６は、キャラクタの画像の表示角度を傾き検出部６５により検出された傾きに基づいて設定して反映する。そして、画像合成部６６は、設定した表示角度のキャラクタの画像を、対象特定部６３により特定された検出対象の画像のうち、ステップＳ１１６において特定した対象の位置に重畳して表示されるように合成し、合成画像のデータを生成する。
【００７１】
ステップＳ１２１において、マッチング部６４は、ステップＳ１１６において特定した対象の位置に対応する座標からの動きベクトルを検出して、対象オブジェクトを追尾する処理を行う。
【００７２】
ステップＳ１２２において、マッチング部６４は、ステップＳ１２１において追尾した対象オブジェクトがフレームアウトしたか否かを判定する。対象オブジェクトがフレームアウトしていない場合には、ステップＳ１２２においてＮＯであると判定されて、処理はステップＳ１１８に戻される。即ち、対象オブジェクトが表示部１６に表示されている間は、ステップＳ１１８乃至Ｓ１２２の処理が繰り返し実行される。これに対し、対象オブジェクトがフレームアウトした場合には、ステップＳ１２２においてＹＥＳであると判定されて、処理はステップＳ１２３に進む。
【００７３】
ステップＳ１２３において、画像合成部６６は、キャラクタの画像の合成を終了する。即ち、対象オブジェクトが表示部１６から消えた場合には、キャラクタの表示を中止する。
【００７４】
ステップＳ１２４において、ＣＰＵ１１は、ライブビュー表示処理の終了指示を受けたか否かを判定する。終了指示を受けていない場合、ステップＳ１２４においてＮＯであると判定されて、処理は再度ステップＳ１１３に戻される。これに対し、終了指示を受けた場合、ステップＳ１２４においてＹＥＳであると判定されて処理はステップＳ１２５に進む。
【００７５】
ステップＳ１２５において、表示制御部６２は、ライブビュー画像表示処理を終了する。この処理が終了すると、第２実施形態のメイン処理が終了となる。
【００７６】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良などは本発明に含まれるものである。
【００７７】
上述の実施形態では、ステップＳ２０において、対象特定部６３は、ステップＳ１３において取得したライブビュー画像と時間的に１／６０〜数秒間程離間したフレーム画像を取得していたがこれに限られるものではない。例えば、時間的に離間する画像として、１〜数フレーム後の任意のフレームに対応するライブビュー画像を取得とするようにすることもできる。
【００７８】
また、上述の実施形態では、キャラクタ１２０の画像は、実空間上の略鉛直方向となるように表示角度が設定されているがこれに限られるものではなく、表示角度の設定の方向は実空間上の鉛直方向以外にも、例えば、水平方向やユーザが予め設定した任意の方向で表示されるようにキャラクタ１２０の角度を設定することができる。
【００７９】
また、上述の実施形態では、本発明が適用される画像処理装置１は、スマートフォンを例として説明したが、特にこれに限定されない。
例えば、本発明は、表示機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、ノート型のパーソナルコンピュータ、デジタルカメラ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機などに適用可能である。
【００８０】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図２の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が画像処理装置１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図２の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００８１】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータなどにネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００８２】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図１のリムーバブルメディア４１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体などで構成される。リムーバブルメディア４１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、又は光磁気ディスクなどにより構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）などにより構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）などにより構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図１のＲＯＭ１２や、図１の記憶部２０に含まれるハードディスクなどで構成される。
【００８３】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【００８４】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換など種々の変更を行うことができる。これら実施形態やその変形は、本明細書などに記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００８５】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
検出対象となる物体の画像の特徴を特定する対象特定手段と、
撮像画像を表示する表示部の姿勢を検出する傾き検出手段と、
前記撮像画像において、前記対象特定手段によって特定された前記特徴と適合する部分を検出するマッチング手段と、
前記マッチング手段によって前記特徴と適合する部分が検出された場合に、前記傾き検出手段により検出された前記表示部の姿勢に基づいて、前記撮像画像に重畳するオブジェクトの画像の表示角度を設定し、前記撮像画像における前記特徴と適合する部分と対応付けて、前記オブジェクトの画像を前記設定した表示角度で前記表示部に表示される前記撮像画像に合成する画像合成手段と、
を備えることを特徴とする画像処理装置。
［付記２］
前記マッチング手段は、前記特徴と適合する部分が検出されたフレーム内の位置において、フレームの遷移による画像の変動を評価し、
前記画像合成手段は、前記マッチング手段による評価の結果に応じて、前記オブジェクトの画像を重畳して表示するか否かを決定することを特徴とする付記１に記載の画像処理装置。
［付記３］
前記画像合成手段は、
前記傾き検出手段により検出された表示部の姿勢に基づいて、前記オブジェクトの画像の鉛直方向に対する表示角度が一定となるように合成することを特徴とする付記１又は２に記載の画像処理装置。
［付記４］
複数の前記オブジェクトのうち、いずれかの選択を受け付ける入力手段をさらに備え、
前記画像合成手段は、前記入力手段により受け付けられたオブジェクトの画像を合成することを特徴とする付記１乃至３のうち何れか１つに記載の画像処理装置。
［付記５］
オブジェクトの画像を合成する処理を制御する画像処理装置が実行する画像処理方法において、
検出対象となる物体の画像の特徴を特定する対象特定ステップと、
撮像画像を表示する表示部の姿勢を検出する傾き検出ステップと、
前記撮像画像において、前記対象特定ステップにおいて特定された前記特徴と適合する部分を検出するマッチングステップと、
前記マッチングステップにおいて前記特徴と適合する部分が検出された場合に、前記傾き検出ステップにおいて検出された前記表示部の姿勢に基づいて、前記撮像画像に重畳するオブジェクトの画像の表示角度を設定し、前記撮像画像における前記特徴と適合する部分と対応付けて、前記オブジェクトの画像を前記設定した表示角度で前記表示部に表示される前記撮像画像に合成する画像合成ステップと、
を含む画像処理方法。
［付記６］
オブジェクトの画像を合成するコンピュータを、
検出対象となる物体の画像の特徴を特定する対象特定手段、
撮像画像を表示する表示部の姿勢を検出する傾き検出手段、
前記撮像画像において、前記対象特定手段によって特定された前記特徴と適合する部分を検出するマッチング手段、
前記マッチング手段によって前記特徴と適合する部分が検出された場合に、前記傾き検出手段により検出された前記表示部の姿勢に基づいて、前記撮像画像に重畳するオブジェクトの画像の表示角度を設定し、前記撮像画像における前記特徴と適合する部分と対応付けて、前記オブジェクトの画像を前記設定した表示角度で前記表示部に表示される前記撮像画像に合成する画像合成手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【００８６】
１・・・画像処理装置、１１・・・ＣＰＵ、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１４・・・バス、１５・・・入出力インターフェース、１６・・・表示部、１７・・・センサ、１８・・・入力部、１９・・・撮像部、２０・・・記憶部、２１・・・通信部、２２・・・ドライブ、４１・・・リムーバブルメディア、６１・・・撮像制御部、６２・・・表示制御部、６３・・・対象特定部、６４・・・マッチング部、６５・・・傾き検出部、６６・・・画像合成部
【図１】
0005891879.tif 000002
【図２】
0005891879.tif 000003
【図３】
0005891879.tif 000004
【図４】
0005891879.tif 000005
【図５】
0005891879.tif 000006
【図６】
0005891879.tif 000007
【図７】
0005891879.tif 000008
【図８】
0005891879.tif 000009
【図９】
0005891879.tif 000010