(57)【要約】【課題】簡便に、主要被写体に重ならず、且つ、主要被写体画像に隣接した最適な位置に素材画像を合成する。【解決手段】撮像装置１００であっては、被写体画像における、当該被写体画像に含まれる主要被写体に係る主要画像領域の位置を特定する処理、特定された主要画像領域の位置に基づいて、予め用意されたＣＧ画像が主要画像領域に重ならずに隣接する位置を取得する処理、取得された位置にＣＧ画像を合成する処理を行うＣＰＵ１２を備える。【選択図】図２
2010044606.tif 000002
【特許請求の範囲】
【請求項１】
被写体画像における、当該被写体画像に含まれる主要被写体に係る主要画像領域の位置を特定する位置特定手段と、
この位置特定手段によって特定された前記主要画像領域の位置に基づいて、予め用意された素材画像が前記主要画像領域に重ならずに隣接する位置を取得する位置取得手段と、
この位置取得手段によって取得された位置に前記素材画像を合成する画像合成手段と、
を備えることを特徴とする画像合成装置。
【請求項２】
前記被写体画像を構成する画素集合の輪郭線を抽出する抽出手段と、
この抽出手段によって抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、前記主要被写体を描画した主要輪郭線を特定する輪郭線特定手段と、
を更に備え、
前記位置特定手段は、
前記輪郭線特定手段によって特定された前記主要輪郭線で囲まれた画像領域の位置を、前記主要画像領域の位置として特定することを特徴とする請求項１に記載の画像合成装置。
【請求項３】
前記輪郭線特定手段によって特定された前記主要輪郭線に隣接させて合成させる前記素材画像の合成位置を、所定操作を検出することにより設定する合成位置設定手段を更に備えることを特徴とする請求項２に記載の画像合成装置。
【請求項４】
前記合成位置設定手段は、
前記素材画像の合成候補位置を、所定操作を検出することにより入力する合成候補位置入力手段と、
前記合成候補位置入力手段により入力された前記合成候補位置に基づいて、前記素材画像の最小包含円を前記主要輪郭線の最小包含円と接するように移動させる素材画像移動手段と、を含み、
前記素材画像移動手段による移動後の前記素材画像の最小包含円の位置に基づいて、前記主要輪郭線に隣接した前記素材画像の合成位置を設定することを特徴とする請求項３に記載の画像合成装置。
【請求項５】
前記主要被写体を撮像する撮像手段を更に備えることを特徴とする請求項１乃至４の何れかに記載の画像合成装置。
【請求項６】
コンピュータを、
被写体画像における、当該被写体画像に含まれる主要被写体に係る主要画像領域の位置を特定する位置特定手段、
この位置特定手段によって特定された前記主要画像領域の位置に基づいて、予め用意された素材画像が前記主要画像領域に重ならずに隣接する位置を取得する位置取得手段、
この位置取得手段によって取得された位置に前記素材画像を合成する画像合成手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像合成装置及びプログラムに関する。
【背景技術】
【０００２】
従来、デジタルカメラなどで撮影した画像にＣＧ（コンピュータ・グラフィックス）等の素材画像を合成する技術が知られている。詳細には、素材画像と対応付けて用途、地域、場所、季節、時間帯、天気、明るさ、合成態様、サイズ及びアルファ値等の属性情報を記憶しておき、撮影画像及びその画像の付加的な情報から撮影状況に最適な素材画像を選択して合成するものである（例えば、特許文献１参照）。
【特許文献１】特開２００４−１３４９５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１にあっては、撮影画像中の主要被写体画像に重ならず、出来るだけ隣接させて素材画像を合成する場合、ユーザは撮影画像中の主要被写体画像の位置や画像領域を目視で確認しながら、手動により最適な素材画像の合成位置を指定するという比較的熟練した技術を要する問題があった。
【０００４】
そこで、本発明の課題は、簡便に、主要被写体に重ならず、且つ、主要被写体画像に隣接した最適な位置に素材画像を合成することを可能とすることである。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、請求項１に記載の発明の画像合成装置は、
被写体画像における、当該被写体画像に含まれる主要被写体に係る主要画像領域の位置を特定する位置特定手段と、この位置特定手段によって特定された前記主要画像領域の位置に基づいて、予め用意された素材画像が前記主要画像領域に重ならずに隣接する位置を取得する位置取得手段と、この位置取得手段によって取得された位置に前記素材画像を合成する画像合成手段と、を備えることを特徴としている。
【０００６】
請求項２に記載の発明は、請求項１に記載の画像合成装置において、
前記被写体画像を構成する画素集合の輪郭線を抽出する抽出手段と、この抽出手段によって抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、前記主要被写体を描画した主要輪郭線を特定する輪郭線特定手段と、を更に備え、前記位置特定手段は、前記輪郭線特定手段によって特定された前記主要輪郭線で囲まれた画像領域の位置を、前記主要画像領域の位置として特定することを特徴としている。
【０００７】
請求項３に記載の発明は、請求項２に記載の画像合成装置において、
前記輪郭線特定手段によって特定された前記主要輪郭線に隣接させて合成させる前記素材画像の合成位置を、所定操作を検出することにより設定する合成位置設定手段を更に備えることを特徴としている。
【０００８】
請求項４に記載の発明は、請求項３に記載の画像合成装置において、
前記合成位置設定手段は、前記素材画像の合成候補位置を、所定操作を検出することにより入力する合成候補位置入力手段と、前記合成候補位置入力手段により入力された前記合成候補位置に基づいて、前記素材画像の最小包含円を前記主要輪郭線の最小包含円と接するように移動させる素材画像移動手段と、を含み、前記素材画像移動手段による移動後の前記素材画像の最小包含円の位置に基づいて、前記主要輪郭線に隣接した前記素材画像の合成位置を設定することを特徴としている。
【０００９】
ここで、最小包含円とは、主要輪郭線や素材画像を包含する円のうち半径が最小となる円のことである。
【００１０】
請求項５に記載の発明は、請求項１乃至４の何れかに記載の画像合成装置において、
前記主要被写体を撮像する撮像手段を更に備えることを特徴としている。
【００１１】
請求項６に記載の発明のプログラムは、
コンピュータを、被写体画像における、当該被写体画像に含まれる主要被写体に係る主要画像領域の位置を特定する位置特定手段、この位置特定手段によって特定された前記主要画像領域の位置に基づいて、予め用意された素材画像が前記主要画像領域に重ならずに隣接する位置を取得する位置取得手段、この位置取得手段によって取得された位置に前記素材画像を合成する画像合成手段、として機能させることを特徴としている。
【発明の効果】
【００１２】
本発明によれば、簡便に、主要被写体に重ならず、且つ、主要被写体画像に隣接した最適な位置に素材画像を合成することができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
図１は、本発明を適用した一実施形態の撮像装置１００の外観を模式的に示す図であり、図１（ａ）は、撮像装置１００の正面図を表し、図１（ｂ）は、撮像装置１００の背面図を表し、図１（ｃ）は、撮像装置１００の平面図を表している。また、図２は、撮像装置１００の概略構成を示すブロック図である。
【００１４】
本実施形態の撮像装置１００は、被写体画像における、撮影対象Ｓである主要被写体に係る撮影対象領域（主要画像領域）Ａの位置を特定して、特定された撮影対象領域Ａの位置に隣接させるようにＣＧ画像５０（素材画像）を合成する。
具体的には、図１（ａ）〜図１（ｃ）に示すように、撮像装置１００は、外形が略直方体状に形成され、その正面側に撮像部１の撮像レンズ１ａが露出するように配設され、撮像レンズ１ａの向かって右上側にストロボ発光窓２が配設されている（図１（ａ）参照）。また、撮像装置１００の背面には、図１（ｂ）に示すように、表示部３の表示画面３ａが露出するように配設され、表示画面３ａの向かって右側に、操作入力部４に備わるメニューキー４ａ、カーソルキー４ｂ及びセットキー４ｃが配設されている。また、撮像装置１００の上面には、操作入力部４に備わるシャッターボタン４ｄ、電源ボタン４ｅが並んで配設されている。
なお、図示は省略するが、例えば、撮像装置１００の左右何れかの側面には、ＰＣ等の外部機器とＵＳＢケーブル（図示略）を介して接続するためのＵＳＢ接続端子５（図２参照）が配設されている。
【００１５】
また、撮像装置１００は、図２に示すように、撮像部１と、ＤＭＡ制御部６と、ワークメモリ７と、画像エンジン８と、表示部３と、表示制御部９と、ＶＲＡＭ１０と、操作入力部４と、ＵＳＢ制御部１１と、ＣＰＵ１２と、フラッシュメモリ１３とを備えている。
【００１６】
撮像部１は、撮像手段として、被写体を連続して撮像して複数の画像フレームを生成する。具体的には、撮像部１は、撮像レンズ１ａと、電子撮像部１ｂと、ＩＳＰ１ｃと、光学系駆動制御部１ｄ等を備えている。
【００１７】
撮像レンズ１ａは、例えば、複数のレンズから構成され、合焦レンズやズームレンズ等を備えている。
電子撮像部１ｂは、撮像レンズ１ａを通過した被写体像を二次元の画像信号に変換するＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal-oxide Semiconductor）等から構成されている。また、電子撮像部１ｂは、光電変換された画像信号をＡ／Ｄ変換して、デジタルデータとしてＩＳＰ１ｃに出力する。
なお、電子撮像部１ｂから出力されるデジタルデータは、カラーフィルタ（図示略）の配列（例えば、ベイヤ配列）に従った形式となっている。
ＩＳＰ（Image Signal Processor）１ｃは、入力されたデジタルデータに基づいて、色の調整、データフォーマット変換（例えば、ベイヤ配設から８bitの輝度信号Ｙ、色差信号Ｃｂ，Ｃｒへの変換）等を行う。
【００１８】
光学系駆動制御部１ｄは、被写体の撮像の際に撮像部１の撮像レンズ１ａの各種レンズの駆動を制御するものであり、図示は省略するが、例えば、ズーム駆動部、フォーカス駆動部、絞り制御部、シャッタ速度制御部等を備えている。
【００１９】
撮像部１から出力されるデータ（輝度信号Ｙ、色差信号Ｃｂ，Ｃｒ）は、ＤＭＡ制御部６の制御下にて、ワークメモリ７にＤＭＡ（Direct Memory Access）転送されて格納される。
【００２０】
ワークメモリ７は、例えば、ＤＲＡＭ等で構成され、フラッシュメモリ１３から読み出されたシステムプログラム、各種プログラム、各種データ及び各種パラメータ等を一時的に記憶する。
【００２１】
画像エンジン８は、ワークメモリ７内の輝度信号Ｙ、色差信号Ｃｂ，ＣｒをＲＧＢデータに変換してＶＲＡＭ１０に出力したり、画像撮影時にＪＰＥＧ等の所定のファイルフォーマットに変換してフラッシュメモリ１３に出力する。
【００２２】
また、画像エンジン８は、ＣＰＵ１２の制御下におけるＣＧ合成処理（後述）にて、被写体合焦画像Ｉ１に対してフラッシュメモリ１３に記憶されている所望のＣＧ画像５０を合成する。
ここで、画像エンジン８及びＣＰＵ１２は、画像合成手段として機能する。
【００２３】
表示制御部９は、ＶＲＡＭ１０に一時的に記憶されている表示データを読み出して表示部３に表示させる制御を行う。
表示部３は、表示制御部９からの出力信号に基づいて撮像部１により撮像された画像等を表示画面３ａに表示する。具体的には、表示部３は、撮像部１による被写体の撮像により生成された複数の画像フレームに基づいてライブビュー画像や、フラッシュメモリ１３に記録される本画像（記録画像）や、ＣＧ合成処理にて生成されるＣＧ合成画像Ｉ７（図１３参照）等を表示する。
【００２４】
操作入力部４は、当該撮像装置１００の所定操作を行うためのものであり、メニューキー４ａ、カーソルキー４ｂ、セットキー４ｃ、シャッターボタン４ｄ、電源ボタン４ｅ等を備え、これらのキーやボタンの操作に応じて所定の操作信号をＣＰＵ１２に出力する。
メニューキー４ａは、ユーザによる操作に基づいて、機能選択や表示設定等に係るメニュー画面の表示部３への表示を指示する。
【００２５】
カーソルキー４ｂは、例えば、上下左右のカーソルキーを備えて構成され、ユーザによる操作に基づいて、メニュー画面に表示される各種項目の選択を指示する。具体的には、撮像装置１００の動作モードとして、例えば、所定サイズの静止画像を撮影する通常撮影モードや、静止画像にＣＧ画像５０を合成するＣＧ合成撮影モード、記録された画像を再生表示する再生モード等の選択を指示する。また、カーソルキー４ｂは、再生モードにて、表示部３に表示される画像の選択を指示する。さらに、カーソルキー４ｂは、ＣＧ合成撮影モードにて、静止画像に合成されるＣＧ画像５０の選択を指示する。
【００２６】
また、カーソルキー４ｂのうち、左右のカーソルキー４ｂは、合成候補位置入力手段として、合成位置設定処理（後述）にて、被写体合焦画像Ｉ１に対するＣＧ画像５０の合成候補位置を指示入力する。
【００２７】
シャッターボタン４ｄは、ユーザによる操作に基づいて、撮像部１による被写体の撮像を指示する。
電源ボタン４ｅは、ユーザによる操作に基づいて、当該撮像装置１００の電源のＯＮ／ＯＦＦを指示する。
【００２８】
ＵＳＢ制御部１１は、ＵＳＢ接続端子５にＵＳＢケーブルを介して接続されたＰＣ等の外部機器との間で、各種データの送受信を制御する。
【００２９】
ＣＰＵ１２は、フラッシュメモリ１３に記憶された撮像装置１００用の各種処理プログラムに従って各種の制御動作を行うものである。
【００３０】
フラッシュメモリ１３は、ＣＰＵ１２の動作に必要な各種プログラムやデータを記憶する。具体的には、フラッシュメモリ１３は、図２に示すように、画像取得制御プログラム１３ａ、抽出プログラム１３ｂ、輪郭線特定プログラム１３ｃ、合成座標取得プログラム１３ｄ、ＣＧ画像移動プログラム１３ｅ、合成位置設定プログラム１３ｆ、ＣＧ合成制御プログラム１３ｇ等を記憶している。
【００３１】
画像取得制御プログラム１３ａは、撮影対象Ｓにピントが合っている被写体合焦画像Ｉ１（図５（ａ）参照）とピントが合っていないピントずれ画像Ｉ２（図５（ｂ）参照）を撮像部１により撮像して取得する画像取得処理に係る機能をＣＰＵ１２に実現させるためのプログラムである。
具体的には、ＣＰＵ１２による画像取得制御プログラム１３ａの実行に基づいて、光学系駆動制御部１ｄにより合焦レンズを光軸方向に移動させてコントラストＡＦ方式により合焦位置を調整して、撮影対象Ｓにピントが合っている被写体合焦画像Ｉ１を撮像部１により撮像した後、合焦レンズを光軸方向に所定量移動させてピントが合っていないピントずれ画像Ｉ２を撮像部１により撮像する。
なお、被写体合焦画像Ｉ１とピントずれ画像Ｉ２の撮影にあっては、ライブビュー画像の撮像により生成された画像フレームの明るさに基づいて、例えば、シャッタ速度、絞り、増幅率（ゲイン）等の露出条件を適正な値となるように調整しても良い。
【００３２】
抽出プログラム１３ｂは、ＣＰＵ１２を抽出手段として機能させるものである。即ち、抽出プログラム１３ｂは、被写体画像を構成する画素集合の輪郭線を抽出する抽出処理に係る機能をＣＰＵ１２に実現させるためのプログラムである。
具体的には、ＣＰＵ１２が抽出プログラム１３ｂを実行することで、画像取得処理で取得した被写体合焦画像Ｉ１及びピントずれ画像Ｉ２の差分画像Ｉ３（図７（ａ）参照）に対して、ソーベルフィルタを用いた３×３のマトリックス演算により１階微分処理を行って、画素集合の輪郭線（エッジ部分）を抽出する（図７（ｂ）参照）。
なお、抽出処理にあっては、ソーベルフィルタの代わりに、例えば、微分フィルタ、プリューウィットフィルタ、ラプラシアンフィルタ等を用いても良いし、これらのうちの何れか二つ以上を用いても良い。
【００３３】
輪郭線特定プログラム１３ｃは、ＣＰＵ１２を輪郭線特定手段として機能させるものである。即ち、輪郭線特定プログラム１３ｃは、抽出処理にて抽出された輪郭線のうち、所定値よりも小さい画素集合の輪郭線を除くことにより、撮影対象Ｓを描画した外周輪郭（主要輪郭線）Ｌ１を特定する輪郭線特定処理に係る機能をＣＰＵ１２に実現させるためのプログラムである。
具体的には、ＣＰＵ１２が輪郭線特定プログラム１３ｃを実行することで、抽出処理後の画像Ｉ４（図７（ｂ）参照）に対してエッジの連結性を高めるための膨張処理、及び膨張分を修正するための収縮処理を行って、所定数よりも画素の連結数の少ない連結成分（画像集合）を除いた後、ラスタスキャンにより連結成分の境界（輪郭線）の追跡を行って撮影対象Ｓの外周輪郭Ｌ１を抽出する。
【００３４】
合成座標取得プログラム１３ｄは、ＣＧ合成座標計算処理（後述）にて、被写体合焦画像Ｉ１におけるＣＧ画像５０の合成座標を取得する合成座標取得処理に係る機能をＣＰＵ１２に実現させるためのプログラムである。
具体的には、ＣＰＵ１２が合成座標取得プログラム１３ｄを実行することで、撮影対象Ｓを包含する円のうち半径が最小となる最小包含円Ｃ１の中心に向かってＣＧ画像５０を走査していき、撮影対象Ｓの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が近接した際の当該ＣＧ画像５０の中心座標を合成座標として取得する（図１１参照；詳細後述）。
【００３５】
ＣＧ画像移動プログラム１３ｅは、ＣＰＵ１２を素材画像移動手段として機能させるものである。即ち、ＣＧ画像移動プログラム１３ｅは、ユーザによる操作入力部４の所定操作に応じて入力された合成候補位置に基づいて、ＣＧ画像５０の最小包含円Ｃ２を撮影対象Ｓの最小包含円Ｃ１と接するように移動させる素材画像移動処理に係る機能をＣＰＵ１２に実現させるためのプログラムである。
具体的には、ＣＰＵ１２がＣＧ画像移動プログラム１３ｅを実行することで、ユーザにより左カーソルキー４ｂが操作された場合には、撮影対象Ｓの最小包含円Ｃ１に沿って左回りにＣＧ画像５０の最小包含円Ｃ２を所定量移動させる一方で、ユーザにより右カーソルキー４ｂが操作された場合には、撮影対象Ｓの最小包含円Ｃ１に沿って右回りにＣＧ画像５０の最小包含円Ｃ２を所定量移動させる。
【００３６】
合成位置設定プログラム１３ｆは、ＣＰＵ１２を合成位置設定手段として機能させるものである。即ち、合成位置設定プログラム１３ｆは、輪郭線特定処理にて特定された撮影対象Ｓの外周輪郭Ｌ１に隣接したＣＧ画像５０の合成位置をユーザによる操作入力部４の所定操作により入力して設定する合成位置設定処理に係る機能をＣＰＵ１２に実現させるためのプログラムである。
具体的には、ＣＰＵ１２が合成座標取得プログラム１３ｄを実行することで、素材画像移動処理による移動後のＣＧ画像５０の最小包含円Ｃ２の中心座標からＣＧ画像５０を撮影対象Ｓの最小包含円Ｃ１の中心に向かって走査していき、撮影対象Ｓの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が近接した際の当該ＣＧ画像５０の中心座標を合成座標として取得する合成座標取得処理を行って、ＣＰＵ１２が合成位置設定プログラム１３ｆを実行することで、合成座標取得処理にて取得した合成座標をＣＧ画像５０の合成位置として設定する。
【００３７】
ＣＧ合成制御プログラム１３ｇは、画像エンジン８に、ＣＧ合成座標計算処理にて計算されたＣＧ合成座標に基づいて被写体合焦画像Ｉ１にＣＧ画像５０を合成させるＣＧ合成処理に係る制御をＣＰＵ１２に実現させるためのプログラムである。
【００３８】
また、フラッシュメモリ１３は、ＣＧ合成処理にて被写体合焦画像Ｉ１と合成される、予め用意されたＣＧ画像（素材画像）５０を複数記憶する。
尚、ＣＧ画像には夫々、そのサイズや形状、特に多角形形状の場合は、各頂点の絶対座標情報が対応付けて記憶されている。
さらに、フラッシュメモリ１３は、撮像部１により撮像された撮影画像やＣＧ合成処理後のＣＧ合成画像Ｉ７等を記憶する。
【００３９】
次に、撮像装置１００によるＣＧ合成処理について図３〜図１３を参照して説明する。
図３は、ＣＧ合成処理に係る動作の一例を示すフローチャートである。
なお、以下に説明するＣＧ合成処理にあっては、予めユーザによる操作入力部４の所定操作に基づいてＣＧ合成撮影モードに設定されているものとする。
【００４０】
ユーザによりシャッターボタン４ｄが所定操作されると、ＣＰＵ１２は、先ず、図５（ａ）、（ｂ）に示すような、被写体合焦画像Ｉ１及びピントずれ画像Ｉ２を取得する画像取得処理を実行する（ステップＳ１；詳細後述）。
続けて、ＣＰＵ１２は、画像取得処理で取得した被写体合焦画像Ｉ１及びピントずれ画像Ｉ２に基づいて、被写体合焦画像Ｉ１における撮影対象Ｓに対応する撮影対象領域Ａ（図８（ｃ）参照）を抽出する撮影対象領域抽出処理を実行する（ステップＳ２；詳細後述）。
その後、ＣＰＵ１２は、撮影対象領域抽出処理にて抽出された撮影対象領域Ａに基づいて、被写体合焦画像Ｉ１におけるＣＧ画像５０の合成座標を計算するＣＧ合成座標計算処理を実行する（ステップＳ３：詳細後述）。
【００４１】
次に、ＣＰＵ１２がフラッシュメモリ１３内のＣＧ合成制御プログラム１３ｇを実行して、画像エンジン８は、ＣＧ合成座標計算処理にて計算されたＣＧ合成座標に基づいて、被写体合焦画像Ｉ１にＣＧ画像５０を撮影対象Ｓ（撮影対象領域Ａ）に隣接させるように合成して（ステップＳ４）、ＤＭＡ制御部６は、合成されたＣＧ合成画像Ｉ７（図１３参照）をフラッシュメモリ１３に転送して記憶する（ステップＳ５）。
【００４２】
次に、画像取得処理について、図４並びに図５（ａ）及び図５（ｂ）を参照して説明する。
図４は、画像取得処理に係る動作の一例を示すフローチャートである。また、図５（ａ）は、被写体合焦画像Ｉ１を模式的に示す図であり、図５（ｂ）は、ピントずれ画像Ｉ２を模式的に示す図である。
【００４３】
画像取得処理にあっては、図４に示すように、先ず、ＣＰＵ１２は、フラッシュメモリ１３内の画像取得制御プログラム１３ａを実行して、光学系駆動制御部１ｄにより合焦レンズを光軸方向に移動させてコントラストＡＦ方式により合焦位置を調整した後（ステップＳ１１）、撮影対象Ｓにピントが合っている被写体合焦画像Ｉ１（図５（ａ）参照）を撮像部１により撮像する（ステップＳ１２）。その後、ＤＭＡ制御部６の制御下にて、撮像された被写体合焦画像Ｉ１をワークメモリ７に転送して一時的に記憶する。
【００４４】
その後、続けて、ＣＰＵ１２は、光学系駆動制御部１ｄにより合焦レンズを光軸方向に所定量移動させた後（ステップＳ１３）、撮影対象Ｓにピントを合わせないピントずれ画像Ｉ２（図５（ｂ）参照）を撮像部１により撮像する（ステップＳ１４）。その後、ＤＭＡ制御部６の制御下にて、撮像されたピントずれ画像Ｉ２をワークメモリ７に転送して一時的に記憶する。
【００４５】
次に、撮影対象領域抽出処理について、図６、図７（ａ）及び図７（ｂ）並びに図８（ａ）〜図８（ｃ）を参照して説明する。
図６は、撮影対象領域抽出処理に係る動作の一例を示すフローチャートである。また、図７（ａ）及び図７（ｂ）並びに図８（ａ）〜図８（ｃ）は、撮影対象領域抽出処理を説明するための画像を模式的に示す図である。
【００４６】
撮影対象領域抽出処理にあっては、先ず、ＣＰＵ１２は、画像取得処理で取得した被写体合焦画像Ｉ１及びピントずれ画像Ｉ２の差分の絶対値をとって差分画像Ｉ３を生成する（ステップＳ２１）。このとき生成される差分画像Ｉ３は、図３（ａ）に図示した撮影対象Ｓにピントを合わせた画像Ｉ１と、図３（ｂ）に図示した撮影対象Ｓにピントを合わせない画像Ｉ２との差分になるので、背景が無い、もしくは、背景が無限遠であることを前提にした場合には、撮影対象Ｓのみを対象としたものになる。したがって差分画像Ｉ３には、撮影対象Ｓについての差分領域Ｓ’が含まれる。
次にＣＰＵ１２は、フラッシュメモリ１３内の抽出プログラム１３ｂを実行して、差分画像Ｉ３に対してソーベルフィルタを用いた３×３のマトリックス演算により１階微分処理を行って、差分領域Ｓ’に含まれる図７（ｂ）におけるハッチング部分に相当する輪郭線を含むエッジ部分を抽出する（ステップＳ２２）。
【００４７】
次に、ＣＰＵ１２は、フラッシュメモリ１３内の輪郭線特定プログラム１３ｃを実行して、エッジ部分領域Ｅに対して膨張処理を行った後（ステップＳ２３；（図８（ａ）参照）、この膨張処理後の画像Ｉ５に対して膨張処理時の膨張量に略等しい量で収縮処理を行って（ステップＳ２４；（図８（ｂ）参照）、所定数よりも画素の連結数の少ない孤立した連結成分（画像集合）を除く。そして、ＣＰＵ１２は、ラスタスキャンにより連結成分の境界（輪郭線）の追跡を行って、撮影対象Ｓの外周輪郭Ｌ１を抽出する（ステップＳ２５；（図８（ｃ）参照）。また、ＣＰＵ１２は、位置特定手段として、被写体画像における撮影対象Ｓの外周輪郭Ｌ１で囲まれた画像領域の位置を、被写体画像に含まれる撮影対象Ｓに係る撮影対象領域（主要被写体画像領域）Ａの位置として特定する。
尚、本実施形態においては、撮影対象Ｓの撮影対象領域Ａは一つ特定されるものとするが、撮影環境によっては、複数の撮影対象Ｓ、及び、複数の撮影対象領域Ａが存在する可能性もある。その場合は、ユーザの選択操作を検出することにより、一つの撮影対象領域を特定するようにするとよい。
【００４８】
次に、ＣＧ合成座標計算処理について、図９〜図１１並びに図１２（ａ）〜図１２（ｅ）を参照して説明する。
図９及び図１０は、ＣＧ合成座標計算処理に係る動作の一例を示すフローチャートであり、図１１は、ＣＧ合成座標計算処理における合成座標取得処理に係る動作の一例を示すフローチャートである。また、図１２（ａ）〜図１２（ｅ）は、ＣＧ合成座標計算処理を説明するための画像を模式的に示す図である。
なお、以下に説明するＣＧ合成座標計算処理にあっては、予めユーザによる操作入力部４の所定操作に基づいて、被写体合焦画像Ｉ１に合成される所定のＣＧ画像５０が設定されているものとする。
【００４９】
ＣＧ合成座標計算処理にあっては、図９に示すように、先ず、ＣＰＵ１２は、フラッシュメモリ１３から被写体合焦画像Ｉ１に合成される所定のＣＧ画像５０（図１２（ａ）参照）を取得する（ステップＳ３１）。続けて、ＣＰＵ１２は、取得したＣＧ画像５０の外周領域の座標情報（例えば、多角形状の場合はＣＧ画像の各頂点の絶対座標情報）をフラッシュメモリ１３から読み出すことにより取得した後（ステップＳ３２）、当該ＣＧ画像５０を包含する円のうち半径が最小となる最小包含円Ｃ２及びその中心座標（図１２（ｂ）参照）を演算により取得する（ステップＳ３３）。
【００５０】
次に、ＣＰＵ１２は、撮影対象領域抽出処理にて抽出された撮影対象領域Ａの最小包含円Ｃ１及びその中心座標（図１２（ｃ）参照）を演算により取得する（ステップＳ３４）。
【００５１】
続けて、予めユーザによる操作入力部４の所定操作に基づいて指定されたＣＧ画像５０の初期合成位置に応じて分岐する（ステップＳ３５）。
ここで、ＣＧ画像５０の初期合成位置が撮影対象領域Ａの左側に指定されている場合には、撮影対象領域Ａの最小包含円Ｃ１の左側にＣＧ画像５０の最小包含円Ｃ２を配置し（ステップＳ３６）、一方、ＣＧ画像５０の初期合成位置が撮影対象領域Ａの右側に指定されている場合には、撮影対象Ｓの最小包含円Ｃ１の右側にＣＧ画像５０の最小包含円Ｃ２を配置する（ステップＳ３７；図１２（ｃ）参照）。
【００５２】
次に、ＣＰＵ１２は、合成座標取得処理を行う（ステップＳ３８）。
以下に、合成座標取得処理について図１１を参照して説明する。
【００５３】
まず、ＣＰＵ１２は、フラッシュメモリ１３内の合成座標取得プログラム１３ｄを実行して、被写体合焦画像Ｉ１におけるＣＧ画像５０の合成座標を取得する（ステップＳ３８１〜Ｓ３８４）。
具体的には、撮影対象領域Ａの最小包含円Ｃ１の中心座標を（xc，yc）とし、ＣＧ画像５０の最小包含円Ｃ２の中心座標を(x_cg，y_cg)とする。ＣＧ画像５０の移動の移動ステップ変数をstとし、刻みを１０（STEP_MAX）とすると（１≦st≦１０）、移動するＣＧ画像５０の最小包含円Ｃ２の中心のx座標及びy座標の変化量x_s(st)、y_s(st)は、以下のようになる。
x_s(st) = (x_cg - xc)*st/STEP_MAX
y_s(st) = (y_cg - yc)*st/STEP_MAX
【００５４】
そして、ＣＰＵ１２は、撮影対象領域Ａの最小包含円Ｃ１の中心（xc，yc）に向かって、ＣＧ画像５０を１ステップ(st=１)移動させる（ステップＳ３８１）。この１ステップの移動により、新たなＣＧ画像５０の最小包含円Ｃ２の中心座標(x_cgnew，ycgnew)は、以下のよう変化する。
x_cgnew = (x_cg - x_s(1))
y_cgnew = (y_cg - y_s(1))
【００５５】
続けて、ＣＰＵ１２は、撮影対象領域Ａの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が接したか否かを判定する（ステップＳ３８２）。具体的には、例えば、ＣＧ画像５０の外周輪郭Ｌ２及び撮影対象領域Ａの外周輪郭Ｌ１が所定長の線分から構成されているとして、両者の線分が交わったか否かを判定して、交わったと判定された場合に、撮影対象領域Ａの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が接したと判定しても良い。
なお、撮影対象領域Ａの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が接したか否かの判定方法は、上記したものに限られるものではない。
【００５６】
ここで、撮影対象領域Ａの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が接していないと判定されると（ステップＳ３８２；ＮＯ）、ＣＰＵ１２は、ＣＧ画像５０の移動ステップの量を増加（例えば、変数stを＋１）した後（ステップＳ３８３）、ステップＳ３８１に戻る。
上記の処理を、ステップＳ３８２にて、撮影対象領域Ａの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が接したと判定されるまで繰り返し実行する。
【００５７】
そして、ステップＳ３８２にて、撮影対象領域Ａの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が接したと判定されると（ステップＳ３８２；ＹＥＳ）、ＣＰＵ１２は、撮影対象領域Ａの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が接した際の変数stから１を減算した変数stに係るＣＧ画像５０の最小包含円Ｃ２の中心座標を、ＣＧ画像５０の合成位置座標として取得する（ステップＳ３８４）。
例えば、変数st=４の際に撮影対象領域Ａの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が接したとすると、ＣＧ画像５０の中心座標(x_cgnew，y_cgnew)は、以下のようになる。
x_cgnew = (x_cg - x_s(3))
y_cgnew = (y_cg - y_s(3))
【００５８】
その後、図１２（ｅ）に示すように、ＣＰＵ１２は、合成座標取得処理にて取得されたＣＧ合成座標に基づいて、被写体合焦画像Ｉ１に係るライブビュー画像の撮影対象領域Ａの外周輪郭Ｌ１とその外周輪郭Ｌ２が接する位置にＣＧ画像５０を合成して（ステップＳ３９）、合成された画像を表示部３の表示画面３ａの大きさに応じてリサイズして、合成イメージを表示する（ステップＳ４０）。
【００５９】
次に、ＣＰＵ１２は、ユーザによる操作入力部４の所定操作に基づいてＣＧ画像５０の合成位置の変更指示が入力されているか否かを判定する（ステップＳ４１）。
ここで、変更指示が入力されていないと判定されると（ステップＳ４１；ＮＯ）、当該ＣＧ合成座標計算処理を終了する。
そして、図３に示すように、画像エンジン８が、ＣＧ合成座標計算処理にて計算されたＣＧ合成座標に基づいて、被写体合焦画像Ｉ１にＣＧ画像５０を撮影対象領域Ａ（撮影対象Ｓ）に隣接させるように合成する（ステップＳ４）。その後、ＤＭＡ制御部６は、合成されたＣＧ合成画像Ｉ７（図１３参照）をフラッシュメモリ１３に転送して記憶する（ステップＳ５）。
【００６０】
一方、ステップＳ４１にて、変更指示が入力されたと判定されると（ステップＳ４１；ＹＥＳ）、図１０に示すように、ユーザによる操作入力部４の所定操作に応じて分岐する（ステップＳ４２）。
ここで、ＣＰＵ１２は、フラッシュメモリ１３内のＣＧ画像移動プログラム１３ｅを実行して、ユーザにより左カーソルキー４ｂが操作された場合には、撮影対象領域Ａの最小包含円Ｃ１に沿って左回りにＣＧ画像５０の最小包含円Ｃ２を所定量移動させ（ステップＳ４３；図１２（ｄ）参照）、一方、ユーザにより右カーソルキー４ｂが操作された場合には、撮影対象領域Ａの最小包含円Ｃ１に沿って右回りにＣＧ画像５０の最小包含円Ｃ２を所定量移動させる（ステップＳ４４）。なお、ＣＧ画像５０の最小包含円Ｃ２は、左カーソルキー（右カーソルキー）４ｂの操作回数に応じて移動するようにしても良いし、押圧操作している時間だけ移動するようにしても良い。
そして、ＣＰＵ１２は、フラッシュメモリ１３内の合成座標取得プログラム１３ｄを実行して、ステップＳ３８と略同様の合成座標取得処理を行って、被写体合焦画像Ｉ１におけるＣＧ画像５０の合成座標を取得して（ステップＳ４５）、続けて、合成位置設定プログラム１３ｆを実行して、合成座標取得処理にて取得した合成座標をＣＧ画像５０の合成位置として設定する。
【００６１】
即ち、ユーザにより左カーソルキー（右カーソルキー）４ｂが操作されて合成候補位置が入力された場合には、撮影対象領域Ａの最小包含円Ｃ１に沿って左回りに（右回りに）ＣＧ画像５０の最小包含円Ｃ２を所定量移動させた後、移動後のＣＧ画像５０の最小包含円Ｃ２の中心座標からＣＧ画像５０を撮影対象Ｓの最小包含円Ｃ１の中心に向かって走査していき、撮影対象領域Ａの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が近接した際の当該ＣＧ画像５０の中心座標を合成位置として設定する。
【００６２】
その後、ＣＰＵ１２は、設定されたＣＧ画像５０の合成位置（ＣＧ合成座標）に基づいて、被写体合焦画像Ｉ１に係るライブビュー画像とＣＧ画像５０を合成して（ステップＳ４６）、合成された画像を表示部３の表示画面３ａの大きさに応じてリサイズして、合成イメージを表示する（ステップＳ４７）。
【００６３】
このように、ユーザにより左カーソルキー（右カーソルキー）４ｂが操作される毎に、ＣＧ画像５０の最小包含円Ｃ２は、撮影対象領域Ａの最小包含円Ｃ１に沿って左回りに（右回りに）移動することとなるが、表示部３の表示画面３ａには、合成位置設定処理にて設定されたＣＧ画像５０の合成位置に基づいて、撮影対象領域Ａの外周輪郭Ｌ１とＣＧ画像５０の外周輪郭Ｌ２が近接した合成イメージが表示されることとなる。
【００６４】
上記の処理を、ステップＳ４２にて、ユーザによりセットキー４ｃが操作されるまで繰り返し実行する。
そして、ユーザによりセットキー４ｃが操作されると、当該ＣＧ合成座標計算処理を終了する。
そして、図３に示すように、画像エンジン８が、ＣＧ合成座標計算処理にて計算されたＣＧ合成座標に基づいて、被写体合焦画像Ｉ１にＣＧ画像５０を撮影対象領域Ａに隣接させるように合成する（ステップＳ４）。その後、ＤＭＡ制御部６は、合成されたＣＧ合成画像Ｉ７をフラッシュメモリ１３に転送して記憶する（ステップＳ５）。
【００６５】
以上のように、本実施形態の撮像装置１００によれば、被写体合焦画像Ｉ１における、当該被写体合焦画像Ｉ１に含まれる主要被写体となる撮影対象Ｓに係る撮影対象領域Ａの位置を特定することができる。具体的には、被写体合焦画像Ｉ１を構成する画素集合の輪郭線を抽出して、抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、撮影対象Ｓの外周輪郭Ｌ１を特定して、特定された外周輪郭Ｌ１で囲まれた画像領域の位置を撮影対象領域Ａの位置として特定する。
そして、特定された撮影対象領域Ａの位置に隣接させるようにフラッシュメモリ１３に記憶されているＣＧ画像５０を合成するので、撮影対象領域Ａに隣接させるようにＣＧ画像５０を合成することができ、被写体合焦画像Ｉ１の最適な位置にＣＧ画像５０を簡便に合成することができる。
【００６６】
また、撮影対象領域Ａの外周輪郭Ｌ１に隣接したＣＧ画像５０の合成位置を、ユーザによる操作入力部４の所定操作に基づいて入力して設定することができる。具体的には、ユーザによる操作入力部４の左右のカーソルキー４ｂの操作に基づいてＣＧ画像５０の合成候補位置を入力すると、ＣＧ画像５０の最小包含円Ｃ２を撮影対象領域Ａの最小包含円Ｃ１と接するように移動させ、移動後のＣＧ画像５０の最小包含円Ｃ２の位置に基づいて、撮影対象領域Ａの外周輪郭Ｌ１に隣接したＣＧ画像５０の合成位置を設定する。
従って、ユーザによる任意の操作によりＣＧ画像５０の合成位置を設定する場合であっても、撮影対象領域の外周輪郭に沿う範囲を設定可能な範囲として予め規制することができるとともに、その範囲内でＣＧ画像５０を任意の位置に合成することができるので、ユーザ所望のＣＧ合成画像Ｉ７を簡便に得ることができる。
【００６７】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、撮影対象領域Ａの位置を特定する処理として、被写体合焦画像Ｉ１を構成する画素集合の輪郭線を抽出して、抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、撮影対象Ｓの外周輪郭Ｌ１を特定して、特定された外周輪郭Ｌ１で囲まれた画像領域の位置を撮影対象領域Ａの位置として特定するようにしたが、処理内容は一例であって、これに限られるものではない。
【００６８】
また、撮影対象Ｓの外周輪郭Ｌ１に隣接したＣＧ画像の合成位置を所定操作により入力して設定する合成位置設定処理を行うようにしたが、合成位置設定処理を行うか否かは適宜任意に変更することができる。
即ち、合成位置設定処理を行わなくとも、上記実施形態の撮像装置１００によれば、撮影対象Ｓに重ならないように被写体合焦画像Ｉ１の最適な位置にＣＧ画像５０を簡便に合成してＣＧ合成画像Ｉ７を得ることができるという格別の効果を有している。
【００６９】
さらに、素材画像として、ＣＧ画像５０を例示したが、これに限られるものではなく、被写体合焦画像Ｉ１に合成可能なものであれば如何なるものであっても良い。例えば、図示は省略するが、予め撮影しておいた人物や動物の画像などであっても良い。
【００７０】
また、撮像装置１００の構成は、上記実施形態に例示したものは一例であり、これに限られるものではない。
さらに、上記実施形態にあっては、位置特定手段、画像合成手段、抽出手段、輪郭線特定手段、合成位置設定手段、素材画像移動手段としての機能を、ＣＰＵ１２によって所定のプログラム等が実行されることにより実現される構成としたが、これに限られるものではなく、例えば、各種機能を実現するためのロジック回路等から構成しても良い。
【００７１】
加えて、画像合成装置として撮像装置１００を例示したが、これに限られるものではなく、撮像部１により生成した複数の画像データをＵＳＢ接続端子５を介して接続されたコンピュータ等の外部機器に出力して、当該外部機器にて位置特定処理、画像合成処理、抽出処理、輪郭線特定処理、合成位置設定処理、素材画像移動処理等を行うようにしても良い。
【図面の簡単な説明】
【００７２】
【図１】本発明を適用した一実施形態の撮像装置の外観を模式的に示す図である。
【図２】図１の撮像装置の概略構成を示すブロック図である。
【図３】図１の撮像装置によるＣＧ合成処理に係る動作の一例を示すフローチャートである。
【図４】図３のＣＧ合成処理における画像取得処理に係る動作の一例を示すフローチャートである。
【図５】図４の画像取得処理を説明するための画像を模式的に示す図である。
【図６】図３のＣＧ合成処理における撮影対象領域抽出処理に係る動作の一例を示すフローチャートである。
【図７】図６の撮影対象領域抽出処理を説明するための画像を模式的に示す図である。
【図８】図６の撮影対象領域抽出処理を説明するための画像を模式的に示す図である。
【図９】図３のＣＧ合成処理におけるＣＧ合成座標計算処理に係る動作の一例を示すフローチャートである。
【図１０】図９のＣＧ合成座標計算処理の続きを示すフローチャートである。
【図１１】図９のＣＧ合成座標計算処理における合成座標取得処理に係る動作の一例を示すフローチャートである。
【図１２】図９のＣＧ合成座標計算処理を説明するための画像を模式的に示す図である。
【図１３】図３のＣＧ合成処理後の画像を模式的に示す図である。
【符号の説明】
【００７３】
１００  撮像装置
１      撮像部
４      操作入力部
４ｂ    カーソルキー
８      画像エンジン
１２    ＣＰＵ
１３    フラッシュメモリ
５０    ＣＧ画像
Ｉ１    被写体合焦画像
Ｉ７    ＣＧ合成画像
【図１】
2010044606.tif 000003
【図２】
2010044606.tif 000004
【図３】
2010044606.tif 000005
【図４】
2010044606.tif 000006
【図５】
2010044606.tif 000007
【図６】
2010044606.tif 000008
【図７】
2010044606.tif 000009
【図８】
2010044606.tif 000010
【図９】
2010044606.tif 000011
【図１０】
2010044606.tif 000012
【図１１】
2010044606.tif 000013
【図１２】
2010044606.tif 000014
【図１３】
2010044606.tif 000015