画像処理装置、撮像装置及びプログラム
【課題】一の被写体画像から主要被写体が含まれる画像領域を判別する。
【解決手段】撮像装置100であって、主要被写体を含む一の被写体画像を撮像して取得する撮像部1と、一の被写体画像における主要被写体に対応する主要画像領域の位置を特定する処理、一の被写体画像における主要画像領域の位置以外の背景領域に対して所定の加工処理を行うCPU12と、を備える。
【解決手段】撮像装置100であって、主要被写体を含む一の被写体画像を撮像して取得する撮像部1と、一の被写体画像における主要被写体に対応する主要画像領域の位置を特定する処理、一の被写体画像における主要画像領域の位置以外の背景領域に対して所定の加工処理を行うCPU12と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、撮像装置及びプログラムに関する。
【背景技術】
【0002】
従来、撮像した画像から被写体を抽出し、当該被写体と背景画像を合成して合成写真を取得する撮像装置が知られている(例えば、特許文献1参照)。具体的には、絞り値を変更して少なくとも2枚の画像を取得し、被写体抽出用の画像から被写体を抽出して、当該被写体を背景画像と合成する。
【特許文献1】特開2006−128754号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記特許文献1にあっては、被写体を少なくとも2枚撮影・記録しなければならないので、撮影者にとっては、同じ撮影画角について、撮影条件の異なる画像を少なくとも2枚撮影しなければならないという問題があった。
【0004】
そこで、本発明の課題は、一の被写体画像から主要被写体が含まれる画像領域を判別することができる画像処理装置、撮像装置及びプログラムを提供することである。
【課題を解決するための手段】
【0005】
上記課題を解決するため、請求項1に記載の発明の画像処理装置は、
一の被写体画像に含まれる主要被写体に対応する第1の画像領域の位置を特定する位置特定手段と、前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段と、を備えることを特徴としている。
【0006】
請求項2に記載の発明は、請求項1に記載の画像処理装置において、
前記被写体画像を構成する画素集合の輪郭線を抽出する抽出手段と、この抽出手段によって抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、前記主要被写体を描画した主要輪郭線を特定する輪郭線特定手段と、を更に備え、前記位置特定手段は、前記輪郭線特定手段によって特定された前記主要輪郭線で囲まれた画像領域の位置を、前記主要画像領域の位置として特定することを特徴としている。
【0007】
請求項3に記載の発明は、請求項1に記載の画像処理装置において、
前記一の被写体画像を複数の領域に分割する分割手段と、この分割手段によって分割された夫々の領域について、周波数成分情報を取得する情報取得手段と、を更に備え、前記位置特定手段は、前記情報取得手段によって取得された前記周波数成分情報に基づいて、高周波成分が所定値よりも多い領域を前記第1の画像領域を構成する画像領域と判断することを特徴としている。
【0008】
請求項4に記載の発明は、請求項1〜3の何れか一項に記載の画像処理装置において、
素材画像を記憶する素材画像記憶手段を更に備え、前記加工処理手段は、前記素材画像記憶手段に記憶されている前記素材画像を前記第2の画像領域に合成する画像合成手段を含むことを特徴としている。
【0009】
請求項5に記載の発明は、請求項4に記載の画像処理装置において、
前記第2の画像領域における前記素材画像の合成位置を操作により入力する合成位置入力手段と、この合成位置入力検出手段による入力に基づいて、前記素材画像の合成位置を決定する合成位置決定手段と、を更に備え、前記画像合成手段は、前記合成位置決定手段によって決定された前記合成位置に前記素材画像を合成することを特徴としている。
【0010】
請求項6に記載の発明の撮像装置は、
主要被写体を含む一の被写体画像を取得する撮像手段と、この撮像手段により取得された前記一の被写体画像における前記主要被写体に対応する第1の画像領域の位置を特定する位置特定手段と、前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段と、を備えることを特徴としている。
【0011】
請求項7に記載の発明のプログラムは、
コンピュータを、一の被写体画像に含まれる主要被写体に対応する第1の画像領域の位置を特定する位置特定手段、前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段、として機能させることを特徴としている。
【発明の効果】
【0012】
本発明によれば、一の被写体画像から主要被写体が含まれる画像領域を判別することができる。
【発明を実施するための最良の形態】
【0013】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
図1は、本発明を適用した一実施形態の撮像装置100の外観を模式的に示す図であり、図1(a)は、撮像装置100の正面図を表し、図1(b)は、撮像装置100の背面図を表し、図1(c)は、撮像装置100の平面図を表している。また、図2は、撮像装置100の概略構成を示すブロック図である。
【0014】
本実施形態の撮像装置100は、一のモニタ表示用画像や記録用画像における主要被写体Sに対応する主要画像領域(第1の画像領域)A1の位置を特定して、当該モニタ表示用画像や記録用画像における主要画像領域A1の位置以外の背景領域(第2の画像領域)A2に対して所定の加工処理を行う。
具体的には、図1(a)〜図1(c)に示すように、撮像装置100は、外形が略直方体状に形成され、その正面側に撮像部1の撮像レンズ1aが露出するように配設され、撮像レンズ1aの向かって右上側にストロボ発光窓2が配設されている(図1(a)参照)。また、撮像装置100の背面には、図1(b)に示すように、表示部3の表示画面3aが露出するように配設され、表示画面3aの向かって右側に、操作入力部4に備わるメニューキー4a、カーソルキー4b及びセットキー4cが配設されている。また、撮像装置100の上面には、操作入力部4に備わるシャッターボタン4d、電源ボタン4eが並んで配設されている。
なお、図示は省略するが、例えば、撮像装置100の左右何れかの側面には、PC等の外部機器とUSBケーブル(図示略)を介して接続するためのUSB接続端子5(図2参照)が配設されている。
【0015】
また、撮像装置100は、図2に示すように、撮像部1と、DMA制御部6と、ワークメモリ7と、画像エンジン8と、表示部3と、表示制御部9と、VRAM10と、操作入力部4と、USB制御部11と、CPU12と、フラッシュメモリ13とを備えている。
【0016】
撮像部1は、撮像手段として、被写体を連続して撮像して複数の画像フレームを生成する。具体的には、撮像部1は、撮像レンズ1aと、電子撮像部1bと、ISP1c等を備えている。
【0017】
撮像レンズ1aは、例えば、複数のレンズから構成され、合焦レンズやズームレンズ等を備えている。
電子撮像部1bは、撮像レンズ1aを通過した被写体像を二次元の画像信号に変換するCCD(Charge Coupled Device)やCMOS(Complementary Metal-oxide Semiconductor)等から構成されている。また、電子撮像部1bは、光電変換された画像信号をA/D変換して、デジタルデータとしてISP1cに出力する。
なお、電子撮像部1bから出力されるデジタルデータは、カラーフィルタ(図示略)の配列(例えば、ベイヤ配列)に従った形式となっている。
ISP(Image Signal Processor)1cは、入力されたデジタルデータに基づいて、色の調整、データフォーマット変換(例えば、ベイヤ配設から8bitの輝度信号Y、色差信号Cb,Crへの変換)等を行う。
【0018】
撮像部1から出力されるデータ(輝度信号Y、色差信号Cb,Cr)は、DMA制御部6の制御下にて、ワークメモリ7にDMA(Direct Memory Access)転送されて格納される。
【0019】
ワークメモリ7は、例えば、DRAM等で構成され、フラッシュメモリ13から読み出されたシステムプログラム、各種プログラム、各種データ及び各種パラメータ等を一時的に記憶する。
【0020】
画像エンジン8は、ワークメモリ7内の輝度信号Y、色差信号Cb,CrをRGBデータに変換してVRAM10に出力したり、画像撮影時にJPEG等の所定のファイルフォーマットに変換してフラッシュメモリ13に出力する。
【0021】
また、画像エンジン8は、CPU12の制御下における表示画像CG合成処理や撮像画像CG合成処理(後述)にて、モニタ表示用画像や記録用画像に対してフラッシュメモリ13に記憶されている所望のCG画像50を合成する。
ここで、画像エンジン8及びCPU12は、画像合成手段として機能する。
【0022】
表示制御部9は、VRAM10に一時的に記憶されている表示データを読み出して表示部3に表示させる制御を行う。
表示部3は、表示制御部9からの出力信号に基づいて撮像部1により撮像された画像等を表示画面3aに表示する。具体的には、表示部3は、撮像部1による被写体の撮像により生成された複数の画像フレームに基づいてスルー画像や、フラッシュメモリ13に記録される本画像(記録画像)や、CG合成処理にて生成されるCG合成画像I6(図10参照)等を表示する。
【0023】
操作入力部4は、当該撮像装置100の所定操作を行うためのものであり、メニューキー4a、カーソルキー4b、セットキー4c、シャッターボタン4d、電源ボタン4e等を備え、これらのキーやボタンの操作に応じて所定の操作信号をCPU12に出力する。
メニューキー4aは、ユーザによる操作に基づいて、機能選択や表示設定等に係るメニュー画面の表示部3への表示を指示する。
【0024】
カーソルキー4bは、例えば、上下左右のカーソルキー4bを備えて構成され、ユーザによる操作に基づいて、メニュー画面に表示される各種項目の選択を指示する。具体的には、撮像装置100の動作モードとして、例えば、所定サイズの静止画像を撮影する通常撮影モードや、静止画像にCG画像50を合成するCG合成撮影モード、記録された画像を再生表示する再生モード等の選択を指示する。また、カーソルキー4bは、再生モードにて、表示部3に表示される画像の選択を指示する。さらに、カーソルキー4bは、CG合成撮影モードにて、静止画像に合成されるCG画像50の選択を指示する。
【0025】
シャッターボタン4dは、ユーザによる操作に基づいて、撮像部1による被写体の撮像を指示する。
電源ボタン4eは、ユーザによる操作に基づいて、当該撮像装置100の電源のON/OFFを指示する。
【0026】
USB制御部11は、USB接続端子5にUSBケーブルを介して接続されたPC等の外部機器との間で、各種データの送受信を制御する。
【0027】
CPU12は、フラッシュメモリ13に記憶された撮像装置100用の各種処理プログラムに従って各種の制御動作を行うものである。
【0028】
フラッシュメモリ13は、CPU12の動作に必要な各種プログラムやデータを記憶する。具体的には、フラッシュメモリ13は、図2に示すように、抽出プログラム13a、輪郭線特定プログラム13b、CG合成制御プログラム13c等を記憶している。
【0029】
抽出プログラム13aは、CPU12を抽出手段として機能させるものである。即ち、抽出プログラム13aは、被写体画像を構成する画素集合の輪郭線を抽出する抽出処理に係る機能をCPU12に実現させるためのプログラムである。
具体的には、CPU12が抽出プログラム13aを実行することで、撮像部1により撮像され取得されたモニタ表示用画像や記録用画像に平滑化処理(後述)が施されたものに対して、ソーベルフィルタを用いた3×3のマトリックス演算により1階微分処理を行って、画素集合の輪郭線(エッジ部分)を抽出する(図8(b)参照)。
なお、抽出処理にあっては、ソーベルフィルタの代わりに、例えば、微分フィルタ、プリューウィットフィルタ、ラプラシアンフィルタ等を用いても良いし、これらのうちの何れか二つ以上を用いても良い。
【0030】
輪郭線特定プログラム13bは、CPU12を輪郭線特定手段として機能させるものである。即ち、輪郭線特定プログラム13bは、抽出処理にて抽出された輪郭線のうち、所定値よりも小さい画素集合の輪郭線を除くことにより、主要被写体Sを描画した外周輪郭(主要輪郭線)L1を特定する輪郭線特定処理に係る機能をCPU12に実現させるためのプログラムである。
具体的には、CPU12が輪郭線特定プログラム13bを実行することで、抽出処理後の画像I2(図8(b)参照)に対してエッジの連結性を高めるための膨張処理、及び所定数よりも画素の連結数の少ない連結成分(画像集合)を除く小領域削除処理を行って、主要被写体Sの外周輪郭を特定する。
【0031】
CG合成制御プログラム13cは、画像エンジン8に、被写体画像の背景領域A2(第2の画像領域)にCG画像50を合成させるCG合成処理に係る制御をCPU12に実現させるためのプログラムである。
具体的には、CPU12がCG合成制御プログラム13cを実行することで、表示画像CG合成処理や撮像画像CG合成処理にて、画像エンジン8に、背景抽出処理(後述)にて抽出された被写体画像の背景領域(第2の画像領域)A2におけるCG合成座標にCG画像50を合成させる。
【0032】
また、フラッシュメモリ13は、素材画像記憶手段として、CG合成処理にて被写体画像と合成されるCG画像(素材画像)50を複数記憶する。
さらに、フラッシュメモリ13は、撮像部1により撮像された本画像(撮影画像)やCG合成処理後のCG合成画像I6(図10参照)等を記憶する。
【0033】
次に、撮像装置100によるCG合成処理について図3〜図10を参照して説明する。
なお、以下の説明にあっては、予めユーザによる操作入力部4の所定操作に基づいてCG合成撮影モードに設定されているものとする。
CG合成処理としては、スルー画像にCG画像50を合成する表示画像CG合成処理と、本画像(記録画像)にCG画像50を合成する撮像画像CG合成処理がある。
【0034】
先ず、表示画像CG合成処理について図3を参照して説明する。
図3は、表示画像CG合成処理に係る動作の一例を示すフローチャートである。
【0035】
撮像装置100がCG合成撮影モードに設定されていると、図3に示すように、CPU12は、撮像部1によりモニタ表示用画像を撮像して取得する処理を実行する(ステップS1A)。
次に、CPU12は、取得したモニタ表示用画像に基づいて、当該モニタ表示用画像におけるCG合成座標を計算するCG合成座標計算処理を実行する(ステップS2A:詳細後述)。
続けて、CPU12がフラッシュメモリ13内のCG合成制御プログラム13cを実行して、画像エンジン8は、CG合成座標計算処理にて計算されたCG合成座標に基づいて、スルー画像(モニタ表示用画像)にCG画像50を合成して(ステップS3A)、表示部3は、合成されたCG合成画像I6(図10参照)を表示画面3aに表示する(ステップS4A)。
【0036】
次に、撮像画像CG合成処理について図4を参照して説明する。
図4は、撮像画像CG合成処理に係る動作の一例を示すフローチャートである。
【0037】
表示画面3aにスルー画像を表示中や、上記の表示画像CG合成処理にて合成されたCG合成画像I6を表示中に、ユーザによりシャッターボタン4dが所定操作されると、CPU12は、光学系駆動制御部(図示略)により合焦レンズを光軸方向に移動させて主要被写体Sにピントが合っている記録用画像を撮像部1により撮像して取得する処理を実行する(ステップS1B)。
次に、CPU12は、取得した記録用画像に基づいて、当該記録用画像におけるCG合成座標を計算するCG合成座標計算処理を実行する(ステップS2B:詳細後述)。
続けて、CPU12がフラッシュメモリ13内のCG合成制御プログラム13cを実行して、画像エンジン8は、CG合成座標計算処理にて計算されたCG合成座標に基づいて、記録用画像にCG画像50を合成して(ステップS3B)、DMA制御部6は、合成されたCG合成画像I6(図10参照)をフラッシュメモリ13に転送して記憶する(ステップS4B)。
【0038】
次に、CG合成座標計算処理について、図5〜図9を参照して説明する。
図5は、CG合成座標計算処理に係る動作の一例を示すフローチャートである。また、図6は、CG合成座標計算処理における小領域削除処理に係る動作の一例を示すフローチャートであり、図7は、G合成座標計算処理における背景抽出処理に係る動作の一例を示すフローチャートである。また、図8(a)及び図8(b)並びに図9(a)〜図9(c)は、CG合成座標計算処理を説明するための画像を模式的に示す図である。
【0039】
表示画像CG合成処理におけるCG合成座標計算処理(ステップS2A)と、撮像画像CG合成処理におけるCG合成座標計算処理(ステップS2B)は、略同様の処理であり、以下にまとめて説明する。
なお、以下に説明するCG合成座標計算処理にあっては、予めユーザによる操作入力部4の所定操作に基づいて、被写体画像に合成される所定のCG画像50が設定されているものとする。
【0040】
CG合成座標計算処理にあっては、図5に示すように、先ず、CPU12は、撮像部1により取得したモニタ表示用画像(記録用画像)I1の輝度信号Y(図8(a)参照)に対して、ガウシアンフィルタを用いて平滑化処理を行って、ノイズを除去する(ステップS21)。
次に、CPU12は、フラッシュメモリ13内の抽出プログラム13aを実行して、平滑化処理後の画像に対してソーベルフィルタを用いた3×3のマトリックス演算により1階微分処理を行って、画素集合の輪郭線(エッジ部分)を抽出する(ステップS22;図8(b)参照)。
【0041】
次に、CPU12は、フラッシュメモリ13内の輪郭線特定プログラム13bを実行して、抽出処理後の画像I2に対してエッジの連結性を高めるために膨張処理を行った後(ステップS23;図9(a)参照)、膨張処理後の画像I3に対して、所定数よりも画素の連結数の少ない孤立した連結成分(画像集合)を除く小領域削除処理を行う(ステップS24;図9(b)参照))。
【0042】
以下に、小領域削除処理(ステップS24)について図6を参照して詳細に説明する。
図6に示すように、先ず、CPU12は、膨張処理後の画像(2値化された画像)I3に対して、同じ連結成分を構成する画素集合に同じ番号(ラベル)を付けるラベリングを行って、ラベル数を「LN」に格納する(ステップS241)。
【0043】
次に、CPU12は、ループ変数nを1に初期化した後(ステップS242)、n(例えば、n=1)番目のラベルの連結数を「LS」に格納する(ステップS243)。そして、CPU12は、予め設定されている所定の閾値DEF_LSと「LS」に格納されているn番目のラベルの連結数を比較して、当該「LS」の値が所定の閾値DEF_LSよりも大きいか否かを判定する(ステップS244)。
ここで、「LS」の値が所定の閾値DEF_LS以下であると判定されると(ステップS244;NO)、CPU12は、当該「LS」に係るn番目のラベルを小領域と判断して削除する(ステップS245)。
【0044】
その後、CPU12は、ラベルの番号に係る「n」を+1インクリメント(n=n+1)する(ステップS246)。また、ステップS244にて、「LS」の値が所定の閾値DEF_LSよりも大きいと判定されると、ステップS246に移行する。
その後、CPU12は、インクリメントされた「n」と「LN」に格納されているラベル数を比較して、当該「LN」の値よりも「n」が大きいか否かを判定する(ステップS247)。
ここで、「n」が「LN」の値以下であると判定されると(ステップS247;NO)、ステップS243に戻る。
【0045】
上記の処理を、ステップS247にて、「n」が「LN」の値よりも大きいと判定されるまで繰り返し実行し(ステップS247;YES)、全てのラベルに対する処理が行われると、当該小領域削除処理を終了する。図9(b)に、小領域削除処理後の画像I4を表す。
このようにして、CPU12は、位置特定手段として、モニタ表示用画像や記録用画像における主要被写体Sの外周輪郭で囲まれた画像領域の位置を、被写体画像に含まれる主要被写体Sに対応する主要画像領域(第1の画像領域)A1の位置として特定する(図9(b)参照)。
【0046】
その後、図5に示すように、CPU12は、背景抽出処理を行う(ステップS25)。
以下に、背景抽出処理について図7を参照して詳細に説明する。
図7に示すように、先ず、予めユーザによる操作入力部4の所定操作に基づいて指定されたCG画像50の合成位置に応じて分岐する(ステップS251)。
ここで、CG画像50の合成位置が主要被写体Sの左側に指定されている場合には、画像の左端から右側に向けて走査して連結成分の境界(輪郭線)の追跡を行い(ステップS252)、一方、CG画像50の合成位置が主要被写体Sの右側に指定されている場合には、画像の右端から左側に向けて走査して連結成分の境界の追跡を行う(ステップS253)。
【0047】
そして、CPU12は、小領域削除処理により特定された主要画像領域A1に到達するまで(黒画素から白画素に変化するまで)の領域を背景領域(第2の画像領域)A2として抽出する(ステップS254)。
【0048】
その後、図5に示すように、CPU12は、膨張処理(ステップS223)による膨張分を修正するために略等しい量の収縮処理を行う(ステップS26;図9(c)参照)。
【0049】
次に、CPU12は、背景領域A2におけるCG合成座標を算出する。具体的には、先ず、予めユーザによる操作入力部4の所定操作に基づいて指定されたCG画像50の合成位置に応じて分岐する(ステップS27)。
ここで、CG画像50の合成位置が主要被写体Sの左側に指定されている場合には、画像I5の左端から右側に向けて走査して、背景領域A2内でできる限り右側にCG画像50を合成できるようにCG合成座標を算出し(ステップS28)、一方、CG画像50の合成位置が主要被写体Sの右側に指定されている場合には、画像I5の右端から左側に向けて走査して、背景領域A2内でできる限り左側にCG画像50を合成できるようにCG合成座標を算出する(ステップS29;図9(c)参照)。
なお、CG合成座標の上下位置は、例えば、予め略中央に設定されているが、ユーザによる操作入力部4の所定操作に基づいて適宜任意に変更可能となっている。
【0050】
その後、表示画像CG合成処理にあっては、図3に示すように、CPU12がフラッシュメモリ13内のCG合成制御プログラム13cを実行して、画像エンジン8は、CG合成座標計算処理にて計算されたCG合成座標に基づいて、スルー画像とCG画像50を合成してCG合成画像I6(図10参照)を生成し(ステップS3A)、続けて、当該CG合成画像I6を表示部3の表示画面3aに表示する(ステップS4A)。
また、撮像画像CG合成処理にあっては、図4に示すように、CPU12がフラッシュメモリ13内のCG合成制御プログラム13cを実行して、画像エンジン8は、CG合成座標計算処理にて計算されたCG合成座標に基づいて、記録用画像とCG画像50を合成してCG合成画像I6(図10参照)を生成し(ステップS3B)、続けて、当該CG合成画像I6をフラッシュメモリ13に転送して記憶する(ステップS4B)。
このようにして、CPU12及び画像エンジン8は、加工処理手段として、モニタ表示用画像や記録用画像の主要画像領域A1以外の背景領域A2に対して所定の加工処理として、表示画像CG合成処理や撮像画像CG合成処理を行う。
【0051】
以上のように、本実施形態の撮像装置100によれば、一のモニタ表示用画像や記録用画像における主要被写体Sに対応する主要画像領域A1の位置を特定して、当該モニタ表示用画像や記録用画像における主要画像領域A1の位置以外の背景領域A2に対してCG合成処理等の所定の加工処理を行うことができる。具体的には、モニタ表示用画像や記録用画像を構成する画素集合の輪郭線を抽出して、抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、主要被写体Sの外周輪郭を特定するので、従来のように、被写体画像を2枚撮影することなく、一の被写体画像から主要被写体Sが含まれる画像領域を判別することができる。
そして、特定された主要画像領域A1の位置以外の背景領域A2内にフラッシュメモリ13に記憶されているCG画像50を合成するので、主要被写体Sを除いた背景領域A2の加工を容易に行うことができる。
【0052】
なお、上記実施形態にあっては、抽出処理後の画像I2に対して膨張処理を行った後(ステップS23)、膨張処理による膨張分を修正するための収縮処理を行う(ステップS26)ようにしたが、これに限られるものではなく、被写体画像にノイズが少なく、主要被写体Sに対応する主要画像領域A1を適正に特定することができる場合には、必ずしも上記の膨張処理や収縮処理を行う必要はない。
【0053】
また、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
以下に、撮像装置の変形例1〜3について説明する。
【0054】
<変形例1>
変形例1の撮像装置200は、図11〜図16に示すように、CG合成座標計算処理にて、モニタ表示用画像や記録用画像を複数の画像領域B、…に分割して、夫々の画像領域Bについて、周波数成分情報を取得して、当該周波数成分情報に基づいて、高周波成分が所定値よりも多い画像領域Bを主要画像領域A1を構成する画像領域と判断する処理を行う。
なお、変形例1の撮像装置200は、以下に説明するCG合成座標計算処理以外の点で上記実施形態の撮像装置100と略同様の構成をなし、その説明は省略する。
【0055】
即ち、図11に示すように、変形例1の撮像装置200のフラッシュメモリ13は、抽出プログラム13a、輪郭線特定プログラム13b、CG合成制御プログラム13cに加えて、分割プログラム13d、情報取得プログラム13eを記憶している。
【0056】
分割プログラム13dは、CPU12を分割手段として機能させるものである。即ち、分割プログラム13dは、モニタ表示用画像(記録用画像)I7を複数の画像領域B、…に分割する分割処理に係る機能をCPU12に実現させるためのプログラムである。
具体的には、CPU12による分割プログラム13dの実行に基づいて、モニタ表示用画像(記録用画像)I7の輝度信号Y(図14(a)参照)を複数の画像領域B、…(例えば、縦「YS」×横「XS」が6×8の48領域)に分割する。
【0057】
情報取得プログラム13eは、CPU12を情報取得手段として機能させるものである。即ち、情報取得プログラム13eは、分割処理によって分割された夫々の画像領域Bについて、周波数成分情報を取得する情報取得処理に係る機能をCPU12に実現させるためのプログラムである。
具体的には、CPU12による情報取得プログラム13eの実行に基づいて、分割処理によって分割された複数の画像領域B、…(例えば、48領域)の夫々について、2次元フーリエ変換を行って絶対値をとることにより周波数振幅情報を取得する。
【0058】
次に、CG合成座標計算処理について、図12〜図15を参照して説明する。
図12は、CG合成座標計算処理に係る動作の一例を示すフローチャートである。また、図13は、CG合成座標計算処理に係る複数の画像領域B、…の振幅値のソート結果を示す図である。また、図14(a)及び図14(b)並びに図15(a)〜図15(c)は、CG合成座標計算処理を説明するための画像を模式的に示す図である。
【0059】
CG合成座標計算処理にあっては、図12に示すように、CPU12は、フラッシュメモリ13内の分割プログラム13dを実行して、横方向の分割数「XS」=8、縦方向の分割数「YS」=6として、モニタ表示用画像(記録用画像)I7の輝度信号Y(図14(a)参照)を複数の画像領域B、…(例えば、48領域)に分割する(ステップS201;図14(b)参照)。
これにより、複数の画像領域B、…の各々について、横方向のサイズ(XStep)が輝度信号Yの横方向のサイズ(XSize)を「XS」で除算した値となり、縦方向のサイズ(YStep)が輝度信号Yの縦方向のサイズ(YSize)を「YS」で除算した値となる(ステップS202)。例えば、輝度信号Yの画像サイズが横方向400ドット、縦方向264ドットの場合、各画像領域BのXStepは50(400÷8)ドットとなり、YStepは44(264÷6)ドットとなる。
【0060】
次に、全ての画像領域Bについて周波数振幅情報を取得する情報取得処理を行う。
なお、横方向にx、縦方向にyのインデックスを用いて、複数の画像領域B、…のうち、左上隅の領域をx=1,y=1とし、右下隅の領域をx=XS,y=YSとする。
【0061】
先ず、CPU12は、フラッシュメモリ13内の情報取得プログラム13eを実行して、ループ変数yを1に設定した後(ステップS203)、yの値と縦方向の分割数「YS」を比較して、yの値が縦方向の分割数「YS」よりも大きいか否かを判定する(ステップS204)。
【0062】
ステップS204にて、yの値が縦方向の分割数「YS」以下であると判定されると(ステップS204;NO)、CPU12は、ループ変数xを1に設定した後(ステップS205)、xの値と横方向の分割数「XS」を比較して、xの値が横方向の分割数「XS」よりも大きいか否かを判定する(ステップS206)。
ここで、xの値が横方向の分割数「XS」以下であると判定されると(ステップS206;NO)、CPU12は、複数の領域のうち、x=1,y=1の画像領域BをI{x,y}に格納する(ステップS207)。
【0063】
続けて、CPU12は、I{x,y}に対して2次元フーリエ変換を行って振幅情報と位相情報を含んだ周波数成分情報を取得した後、絶対値をとることにより周波数振幅情報を算出してFFT_I{x,y}に格納する(ステップS208)。
ここで、各画像領域Bについて、周波数振幅情報の原点を中央に移動したものを図15(a)に図示しており、周辺部が白ければ白い程高周波成分が多いことを表している。
そして、CPU12は、FFT_I{x,y}に格納されている周波数振幅情報のうち、最大周波数の1/K(例えば、K=2)倍以上のものを積算して、FFT_IS{x,y}とする(ステップS209)。
その後、CPU12は、ループ変数xを+1インクリメント(x=x+1)して(ステップS210)、ステップS206に移行する。
【0064】
そして、ステップS206にて、xの値が横方向の分割数「XS」よりも大きいと判定されるまで(ステップS206;YES)、ステップS206〜S210の処理を繰り返し実行する。
xの値が横方向の分割数「XS」よりも大きいと判定されると(ステップS206;YES)、CPU12は、ループ変数yを+1インクリメント(y=y+1)して(ステップS211)、ステップS204に移行する。
【0065】
そして、ステップS204にて、yの値が縦方向の分割数「YS」よりも大きいと判定されるまで(ステップS204;YES)、ステップS204〜S210の処理を繰り返し実行する。
yの値が縦方向の分割数「YS」よりも大きいと判定されると(ステップS204;YES)、CPU12は、高周波成分が多いところを撮影対象、それ以外を背景領域A2とするための判定を行う。
【0066】
先ず、CPU12は、複数の画像領域B、…について、離散点からFFT後に得られる最大周波数の1/R(例えば、R=4)以上の周期となる高周波成分の振幅値(例えば、X周期;4/XStep、Y周期;4/YStep)を加算して、FFT_IS{x,y}に代入する(ステップS212)。これにより、FFT_IS{x,y}には、低い周波数を除去した高周波成分の振幅値が代入されることとなり、FFT_IS{x,y}の値が大きければ大きい程、その画像領域Bの空間周波数は高いことになる。
続けて、CPU12は、複数の画像領域B、…に係る全てのFFT_IS{x,y}をソートして、振幅値が急峻に変化している点を閾値THとする(ステップS213)。例えば、図13に示すように、横方向の分割数「XS」=8とし、縦方向の分割数「YS」=6とする48の画像領域Bの振幅値をソートした場合、100000を境にして振幅値が急峻に変化していることから、閾値THを100000とする。
【0067】
次に、CPU12は、複数の画像領域B、…について、当該画像領域Bに係る全てのFFT_IS{x,y}と閾値THを比較して、当該閾値THよりも小さいFFT_IS{x,y}の画像領域Bを背景領域A2とし、それ以外を主要被写体S(撮影対象)とする(ステップS214)。
このようにして、CPU12は、位置特定手段として、周波数成分情報に基づいて、高周波成分が所定値よりも多い画像領域Bを主要被写体Sに対応する主要画像領域A1(第1の画像領域)を構成する画像領域と判断する(図15(b)参照)。
なお、図15(b)には、背景領域A2を構成する画像領域Bが黒く塗りつぶされたものを表しており、それ以外の画像領域Bは、主要画像領域A1に対応している。
【0068】
次に、CPU12は、上記実施形態の撮像装置100におけるステップS27〜S29と略同様の処理を行って、背景領域A2におけるCG合成座標を算出する。具体的には、先ず、予めユーザによる操作入力部4の所定操作に基づいて指定されたCG画像50の合成位置に応じて分岐する(ステップS215)。
ここで、CG画像50の合成位置が主要被写体Sの左側に指定されている場合には、画像I8の左端から右側に向けて走査して、背景領域A2内でできる限り右側にCG画像50を合成できるようにCG合成座標を算出し(ステップS216)、一方、CG画像50の合成位置が主要被写体Sの右側に指定されている場合には、画像I8の右端から左側に向けて走査して、背景領域A2内でできる限り左側にCG画像50を合成できるようにCG合成座標を算出する(ステップS217:図15(c)参照)。
なお、図15(c)にあっては、CG合成座標を破線で囲まれた領域Cとして表している。
【0069】
その後、図3におけるステップS3A(或いは、図4におけるステップS4A)にて、CPU12がフラッシュメモリ13内のCG合成制御プログラム13cを実行して、画像エンジン8は、CG合成座標計算処理にて計算されたCG合成座標に基づいて、スルー画像(或いは、記録用画像)とCG画像50を合成してCG合成画像I9(図16参照)を生成し、続けて、ステップS4Aにて、当該CG合成画像I6を表示部3の表示画面3aに表示する(或いは、ステップS4Bにて、CG合成画像I9をフラッシュメモリ13に転送して記憶する)。
【0070】
従って、変形例1の撮像装置200によれば、CG合成座標計算処理にて、モニタ表示用画像や記録用画像を複数の画像領域B、…に分割して、夫々の画像領域Bについて、周波数成分情報を取得して、当該周波数成分情報に基づいて、高周波成分が所定値よりも多い画像領域Bを主要画像領域A1を構成する画像領域と判断するので、ノイズに影響されることなく、一の被写体画像から主要被写体Sが含まれる画像領域を判別することができる。
【0071】
<変形例2>
変形例2の撮像装置は、図17(a)及び図17(b)並びに図18(a)及び図18(b)に示すように、モニタ表示用画像I10の背景領域A2内でCG画像50を合成する位置をユーザによる操作入力部4の所定操作に基づいて入力して、入力された合成位置にCG画像50を合成する。
なお、変形例2の撮像装置は、以下に説明するCG合成位置決定処理以外の点で上記変形例1の撮像装置200と略同様の構成をなし、その説明は省略する。
【0072】
カーソルキー4bは、合成位置入力手段として、被写体画像に対するCG画像50の合成位置を指示入力する。
そして、CPU12は、ユーザによるカーソルキー4bの操作に応じて入力された所定の操作信号に基づいて、モニタ表示用画像I10におけるCG画像50の合成位置を決定するCG合成位置決定処理を行う。
具体的には、ユーザにより左カーソルキー(右カーソルキー)4bが操作される毎に、CPU12は、モニタ表示用画像I10におけるCG画像50の合成位置を決定していき、モニタ表示用画像I10の背景領域A2(図17(a)及び図18(a)参照)内でCG画像50が主要被写体Sに対して左回りに(右回りに)移動する。そして、表示部3の表示画面3aには、CG合成位置決定処理にて設定されたCG画像50の合成位置に基づいて、画像エンジン8によりCG画像50がモニタ表示用画像I10に合成された合成イメージI11(図17(b)及び図18(b)参照)が表示されることとなる。
このように、CPU12は、CG画像50の合成位置を決定する合成位置決定手段として機能する。
【0073】
なお、CG画像50は、左カーソルキー(右カーソルキー)4bの操作回数に応じて移動するようにしても良いし、押圧操作している時間だけ移動するようにしても良い。
【0074】
従って、変形例2の撮像装置によれば、モニタ表示用画像I10の背景領域A2内でCG画像50を合成する位置をユーザによる操作入力部4の所定操作に基づいて入力して、入力された合成位置にCG画像50を合成するので、CG画像50をモニタ表示画像における任意の位置に合成することができ、ユーザ所望のCG合成画像I11を得ることができる。
【0075】
<変形例3>
変形例3の撮像装置は、図19(a)及び図19(b)に示すように、被写体画像I12の背景領域A2内で主要被写体Sの周囲の領域の大きさに基づいて、CG画像50の合成位置を自動的に設定する。
具体的には、CPU12は、被写体画像I12の背景領域A2内で主要被写体Sの周囲(例えば、上側、左側、右側等)の領域の大きさを判定して、最も大きい領域内にCG画像50の合成位置を設定する。例えば、CPU12は、主要被写体Sから上側縁までの距離D1、左側縁までの距離D2、右側縁までの距離D3を算出して(図19(a)参照)、最も長い距離D3を有する右側領域をCG画像50が合成される領域として指定する(図19(b)参照)。
【0076】
従って、変形例3の撮像装置によれば、被写体画像I12の背景領域A2内で主要被写体Sの周囲の領域の大きさに基づいて、CG画像50の合成位置を自動的に設定するので、ユーザが操作入力部4等を所定操作することなく、背景領域A2内の適正な位置にCG画像50を合成することができる。
【0077】
なお、上記実施形態にあっては、被写体画像に対する所定の加工処理としてCG合成処理を例示したが、これに限られるものではなく、被写体画像における主要画像領域以外の背景領域に対する加工処理であれば如何なるものであっても良い。
【0078】
また、上記実施形態にあっては、主要画像領域A1の位置を特定する処理として、被写体画像を構成する画素集合の輪郭線を抽出して、抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、主要被写体Sの外周輪郭を特定するようにしたが、処理内容は一例であって、これに限られるものではない。
【0079】
さらに、素材画像として、CG画像50を例示したが、これに限られるものではなく、被写体画像に合成可能なものであれば如何なるものであっても良い。例えば、図示は省略するが、予め撮影しておいた人物や動物の画像などであっても良い。
【0080】
また、撮像装置100、200の構成は、上記実施形態に例示したものは一例であり、これに限られるものではない。
さらに、上記実施形態にあっては、位置特定手段、加工処理手段、抽出手段、輪郭線特定手段、分割手段、情報取得手段、合成位置決定手段としての機能を、CPU12によって所定のプログラム等が実行されることにより実現される構成としたが、これに限られるものではなく、例えば、各種機能を実現するためのロジック回路等から構成しても良い。
【0081】
加えて、画像合成装置として撮像装置100、200を例示したが、これに限られるものではなく、撮像部1により生成した複数の画像データをUSB接続端子5を介して接続されたコンピュータ等の外部機器に出力して、当該外部機器にて位置特定処理、CG合成処理、抽出処理、輪郭線特定処理、分割処理、情報取得処理、合成位置決定処理等を行うようにしても良い。
【図面の簡単な説明】
【0082】
【図1】本発明を適用した一実施形態の撮像装置の外観を模式的に示す図である。
【図2】図1の撮像装置の概略構成を示すブロック図である。
【図3】図1の撮像装置による表示画像CG合成処理に係る動作の一例を示すフローチャートである。
【図4】図1の撮像装置による撮像画像CG合成処理に係る動作の一例を示すフローチャートである。
【図5】図1の撮像装置によるCG合成座標計算処理に係る動作の一例を示すフローチャートである。
【図6】図5のCG合成座標計算処理における小領域削除処理に係る動作の一例を示すフローチャートである。
【図7】図5のCG合成座標計算処理における背景抽出処理に係る動作の一例を示すフローチャートである。
【図8】図5のCG合成座標計算処理を説明するための画像を模式的に示す図である。
【図9】図5のCG合成座標計算処理を説明するための画像を模式的に示す図である。
【図10】図1の撮像装置によるCG画像の合成処理後の画像を模式的に示す図である。
【図11】変形例1の撮像装置の概略構成を示すブロック図である。
【図12】図11の撮像装置によるCG合成座標計算処理に係る動作の一例を示すフローチャートである。
【図13】図12のCG合成座標計算処理に係る複数の画像領域の振幅値のソート結果を示す図である。
【図14】図12のCG合成座標計算処理を説明するための画像を模式的に示す図である。
【図15】図12のCG合成座標計算処理を説明するための画像を模式的に示す図である。
【図16】図11の撮像装置によるCG画像の合成処理後の画像を模式的に示す図である。
【図17】変形例2の撮像装置によるCG合成処理に係る画像を模式的に示す図である。
【図18】図17の撮像装置によるCG合成処理に係る画像を模式的に示す図である。
【図19】変形例3の撮像装置によるCG合成処理に係る画像を模式的に示す図である。
【符号の説明】
【0083】
100 撮像装置
1 撮像部
4 操作入力部
4b カーソルキー
8 画像エンジン
12 CPU
13 フラッシュメモリ
50 CG画像
I6、I9、I11 CG合成画像
【技術分野】
【0001】
本発明は、画像処理装置、撮像装置及びプログラムに関する。
【背景技術】
【0002】
従来、撮像した画像から被写体を抽出し、当該被写体と背景画像を合成して合成写真を取得する撮像装置が知られている(例えば、特許文献1参照)。具体的には、絞り値を変更して少なくとも2枚の画像を取得し、被写体抽出用の画像から被写体を抽出して、当該被写体を背景画像と合成する。
【特許文献1】特開2006−128754号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記特許文献1にあっては、被写体を少なくとも2枚撮影・記録しなければならないので、撮影者にとっては、同じ撮影画角について、撮影条件の異なる画像を少なくとも2枚撮影しなければならないという問題があった。
【0004】
そこで、本発明の課題は、一の被写体画像から主要被写体が含まれる画像領域を判別することができる画像処理装置、撮像装置及びプログラムを提供することである。
【課題を解決するための手段】
【0005】
上記課題を解決するため、請求項1に記載の発明の画像処理装置は、
一の被写体画像に含まれる主要被写体に対応する第1の画像領域の位置を特定する位置特定手段と、前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段と、を備えることを特徴としている。
【0006】
請求項2に記載の発明は、請求項1に記載の画像処理装置において、
前記被写体画像を構成する画素集合の輪郭線を抽出する抽出手段と、この抽出手段によって抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、前記主要被写体を描画した主要輪郭線を特定する輪郭線特定手段と、を更に備え、前記位置特定手段は、前記輪郭線特定手段によって特定された前記主要輪郭線で囲まれた画像領域の位置を、前記主要画像領域の位置として特定することを特徴としている。
【0007】
請求項3に記載の発明は、請求項1に記載の画像処理装置において、
前記一の被写体画像を複数の領域に分割する分割手段と、この分割手段によって分割された夫々の領域について、周波数成分情報を取得する情報取得手段と、を更に備え、前記位置特定手段は、前記情報取得手段によって取得された前記周波数成分情報に基づいて、高周波成分が所定値よりも多い領域を前記第1の画像領域を構成する画像領域と判断することを特徴としている。
【0008】
請求項4に記載の発明は、請求項1〜3の何れか一項に記載の画像処理装置において、
素材画像を記憶する素材画像記憶手段を更に備え、前記加工処理手段は、前記素材画像記憶手段に記憶されている前記素材画像を前記第2の画像領域に合成する画像合成手段を含むことを特徴としている。
【0009】
請求項5に記載の発明は、請求項4に記載の画像処理装置において、
前記第2の画像領域における前記素材画像の合成位置を操作により入力する合成位置入力手段と、この合成位置入力検出手段による入力に基づいて、前記素材画像の合成位置を決定する合成位置決定手段と、を更に備え、前記画像合成手段は、前記合成位置決定手段によって決定された前記合成位置に前記素材画像を合成することを特徴としている。
【0010】
請求項6に記載の発明の撮像装置は、
主要被写体を含む一の被写体画像を取得する撮像手段と、この撮像手段により取得された前記一の被写体画像における前記主要被写体に対応する第1の画像領域の位置を特定する位置特定手段と、前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段と、を備えることを特徴としている。
【0011】
請求項7に記載の発明のプログラムは、
コンピュータを、一の被写体画像に含まれる主要被写体に対応する第1の画像領域の位置を特定する位置特定手段、前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段、として機能させることを特徴としている。
【発明の効果】
【0012】
本発明によれば、一の被写体画像から主要被写体が含まれる画像領域を判別することができる。
【発明を実施するための最良の形態】
【0013】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
図1は、本発明を適用した一実施形態の撮像装置100の外観を模式的に示す図であり、図1(a)は、撮像装置100の正面図を表し、図1(b)は、撮像装置100の背面図を表し、図1(c)は、撮像装置100の平面図を表している。また、図2は、撮像装置100の概略構成を示すブロック図である。
【0014】
本実施形態の撮像装置100は、一のモニタ表示用画像や記録用画像における主要被写体Sに対応する主要画像領域(第1の画像領域)A1の位置を特定して、当該モニタ表示用画像や記録用画像における主要画像領域A1の位置以外の背景領域(第2の画像領域)A2に対して所定の加工処理を行う。
具体的には、図1(a)〜図1(c)に示すように、撮像装置100は、外形が略直方体状に形成され、その正面側に撮像部1の撮像レンズ1aが露出するように配設され、撮像レンズ1aの向かって右上側にストロボ発光窓2が配設されている(図1(a)参照)。また、撮像装置100の背面には、図1(b)に示すように、表示部3の表示画面3aが露出するように配設され、表示画面3aの向かって右側に、操作入力部4に備わるメニューキー4a、カーソルキー4b及びセットキー4cが配設されている。また、撮像装置100の上面には、操作入力部4に備わるシャッターボタン4d、電源ボタン4eが並んで配設されている。
なお、図示は省略するが、例えば、撮像装置100の左右何れかの側面には、PC等の外部機器とUSBケーブル(図示略)を介して接続するためのUSB接続端子5(図2参照)が配設されている。
【0015】
また、撮像装置100は、図2に示すように、撮像部1と、DMA制御部6と、ワークメモリ7と、画像エンジン8と、表示部3と、表示制御部9と、VRAM10と、操作入力部4と、USB制御部11と、CPU12と、フラッシュメモリ13とを備えている。
【0016】
撮像部1は、撮像手段として、被写体を連続して撮像して複数の画像フレームを生成する。具体的には、撮像部1は、撮像レンズ1aと、電子撮像部1bと、ISP1c等を備えている。
【0017】
撮像レンズ1aは、例えば、複数のレンズから構成され、合焦レンズやズームレンズ等を備えている。
電子撮像部1bは、撮像レンズ1aを通過した被写体像を二次元の画像信号に変換するCCD(Charge Coupled Device)やCMOS(Complementary Metal-oxide Semiconductor)等から構成されている。また、電子撮像部1bは、光電変換された画像信号をA/D変換して、デジタルデータとしてISP1cに出力する。
なお、電子撮像部1bから出力されるデジタルデータは、カラーフィルタ(図示略)の配列(例えば、ベイヤ配列)に従った形式となっている。
ISP(Image Signal Processor)1cは、入力されたデジタルデータに基づいて、色の調整、データフォーマット変換(例えば、ベイヤ配設から8bitの輝度信号Y、色差信号Cb,Crへの変換)等を行う。
【0018】
撮像部1から出力されるデータ(輝度信号Y、色差信号Cb,Cr)は、DMA制御部6の制御下にて、ワークメモリ7にDMA(Direct Memory Access)転送されて格納される。
【0019】
ワークメモリ7は、例えば、DRAM等で構成され、フラッシュメモリ13から読み出されたシステムプログラム、各種プログラム、各種データ及び各種パラメータ等を一時的に記憶する。
【0020】
画像エンジン8は、ワークメモリ7内の輝度信号Y、色差信号Cb,CrをRGBデータに変換してVRAM10に出力したり、画像撮影時にJPEG等の所定のファイルフォーマットに変換してフラッシュメモリ13に出力する。
【0021】
また、画像エンジン8は、CPU12の制御下における表示画像CG合成処理や撮像画像CG合成処理(後述)にて、モニタ表示用画像や記録用画像に対してフラッシュメモリ13に記憶されている所望のCG画像50を合成する。
ここで、画像エンジン8及びCPU12は、画像合成手段として機能する。
【0022】
表示制御部9は、VRAM10に一時的に記憶されている表示データを読み出して表示部3に表示させる制御を行う。
表示部3は、表示制御部9からの出力信号に基づいて撮像部1により撮像された画像等を表示画面3aに表示する。具体的には、表示部3は、撮像部1による被写体の撮像により生成された複数の画像フレームに基づいてスルー画像や、フラッシュメモリ13に記録される本画像(記録画像)や、CG合成処理にて生成されるCG合成画像I6(図10参照)等を表示する。
【0023】
操作入力部4は、当該撮像装置100の所定操作を行うためのものであり、メニューキー4a、カーソルキー4b、セットキー4c、シャッターボタン4d、電源ボタン4e等を備え、これらのキーやボタンの操作に応じて所定の操作信号をCPU12に出力する。
メニューキー4aは、ユーザによる操作に基づいて、機能選択や表示設定等に係るメニュー画面の表示部3への表示を指示する。
【0024】
カーソルキー4bは、例えば、上下左右のカーソルキー4bを備えて構成され、ユーザによる操作に基づいて、メニュー画面に表示される各種項目の選択を指示する。具体的には、撮像装置100の動作モードとして、例えば、所定サイズの静止画像を撮影する通常撮影モードや、静止画像にCG画像50を合成するCG合成撮影モード、記録された画像を再生表示する再生モード等の選択を指示する。また、カーソルキー4bは、再生モードにて、表示部3に表示される画像の選択を指示する。さらに、カーソルキー4bは、CG合成撮影モードにて、静止画像に合成されるCG画像50の選択を指示する。
【0025】
シャッターボタン4dは、ユーザによる操作に基づいて、撮像部1による被写体の撮像を指示する。
電源ボタン4eは、ユーザによる操作に基づいて、当該撮像装置100の電源のON/OFFを指示する。
【0026】
USB制御部11は、USB接続端子5にUSBケーブルを介して接続されたPC等の外部機器との間で、各種データの送受信を制御する。
【0027】
CPU12は、フラッシュメモリ13に記憶された撮像装置100用の各種処理プログラムに従って各種の制御動作を行うものである。
【0028】
フラッシュメモリ13は、CPU12の動作に必要な各種プログラムやデータを記憶する。具体的には、フラッシュメモリ13は、図2に示すように、抽出プログラム13a、輪郭線特定プログラム13b、CG合成制御プログラム13c等を記憶している。
【0029】
抽出プログラム13aは、CPU12を抽出手段として機能させるものである。即ち、抽出プログラム13aは、被写体画像を構成する画素集合の輪郭線を抽出する抽出処理に係る機能をCPU12に実現させるためのプログラムである。
具体的には、CPU12が抽出プログラム13aを実行することで、撮像部1により撮像され取得されたモニタ表示用画像や記録用画像に平滑化処理(後述)が施されたものに対して、ソーベルフィルタを用いた3×3のマトリックス演算により1階微分処理を行って、画素集合の輪郭線(エッジ部分)を抽出する(図8(b)参照)。
なお、抽出処理にあっては、ソーベルフィルタの代わりに、例えば、微分フィルタ、プリューウィットフィルタ、ラプラシアンフィルタ等を用いても良いし、これらのうちの何れか二つ以上を用いても良い。
【0030】
輪郭線特定プログラム13bは、CPU12を輪郭線特定手段として機能させるものである。即ち、輪郭線特定プログラム13bは、抽出処理にて抽出された輪郭線のうち、所定値よりも小さい画素集合の輪郭線を除くことにより、主要被写体Sを描画した外周輪郭(主要輪郭線)L1を特定する輪郭線特定処理に係る機能をCPU12に実現させるためのプログラムである。
具体的には、CPU12が輪郭線特定プログラム13bを実行することで、抽出処理後の画像I2(図8(b)参照)に対してエッジの連結性を高めるための膨張処理、及び所定数よりも画素の連結数の少ない連結成分(画像集合)を除く小領域削除処理を行って、主要被写体Sの外周輪郭を特定する。
【0031】
CG合成制御プログラム13cは、画像エンジン8に、被写体画像の背景領域A2(第2の画像領域)にCG画像50を合成させるCG合成処理に係る制御をCPU12に実現させるためのプログラムである。
具体的には、CPU12がCG合成制御プログラム13cを実行することで、表示画像CG合成処理や撮像画像CG合成処理にて、画像エンジン8に、背景抽出処理(後述)にて抽出された被写体画像の背景領域(第2の画像領域)A2におけるCG合成座標にCG画像50を合成させる。
【0032】
また、フラッシュメモリ13は、素材画像記憶手段として、CG合成処理にて被写体画像と合成されるCG画像(素材画像)50を複数記憶する。
さらに、フラッシュメモリ13は、撮像部1により撮像された本画像(撮影画像)やCG合成処理後のCG合成画像I6(図10参照)等を記憶する。
【0033】
次に、撮像装置100によるCG合成処理について図3〜図10を参照して説明する。
なお、以下の説明にあっては、予めユーザによる操作入力部4の所定操作に基づいてCG合成撮影モードに設定されているものとする。
CG合成処理としては、スルー画像にCG画像50を合成する表示画像CG合成処理と、本画像(記録画像)にCG画像50を合成する撮像画像CG合成処理がある。
【0034】
先ず、表示画像CG合成処理について図3を参照して説明する。
図3は、表示画像CG合成処理に係る動作の一例を示すフローチャートである。
【0035】
撮像装置100がCG合成撮影モードに設定されていると、図3に示すように、CPU12は、撮像部1によりモニタ表示用画像を撮像して取得する処理を実行する(ステップS1A)。
次に、CPU12は、取得したモニタ表示用画像に基づいて、当該モニタ表示用画像におけるCG合成座標を計算するCG合成座標計算処理を実行する(ステップS2A:詳細後述)。
続けて、CPU12がフラッシュメモリ13内のCG合成制御プログラム13cを実行して、画像エンジン8は、CG合成座標計算処理にて計算されたCG合成座標に基づいて、スルー画像(モニタ表示用画像)にCG画像50を合成して(ステップS3A)、表示部3は、合成されたCG合成画像I6(図10参照)を表示画面3aに表示する(ステップS4A)。
【0036】
次に、撮像画像CG合成処理について図4を参照して説明する。
図4は、撮像画像CG合成処理に係る動作の一例を示すフローチャートである。
【0037】
表示画面3aにスルー画像を表示中や、上記の表示画像CG合成処理にて合成されたCG合成画像I6を表示中に、ユーザによりシャッターボタン4dが所定操作されると、CPU12は、光学系駆動制御部(図示略)により合焦レンズを光軸方向に移動させて主要被写体Sにピントが合っている記録用画像を撮像部1により撮像して取得する処理を実行する(ステップS1B)。
次に、CPU12は、取得した記録用画像に基づいて、当該記録用画像におけるCG合成座標を計算するCG合成座標計算処理を実行する(ステップS2B:詳細後述)。
続けて、CPU12がフラッシュメモリ13内のCG合成制御プログラム13cを実行して、画像エンジン8は、CG合成座標計算処理にて計算されたCG合成座標に基づいて、記録用画像にCG画像50を合成して(ステップS3B)、DMA制御部6は、合成されたCG合成画像I6(図10参照)をフラッシュメモリ13に転送して記憶する(ステップS4B)。
【0038】
次に、CG合成座標計算処理について、図5〜図9を参照して説明する。
図5は、CG合成座標計算処理に係る動作の一例を示すフローチャートである。また、図6は、CG合成座標計算処理における小領域削除処理に係る動作の一例を示すフローチャートであり、図7は、G合成座標計算処理における背景抽出処理に係る動作の一例を示すフローチャートである。また、図8(a)及び図8(b)並びに図9(a)〜図9(c)は、CG合成座標計算処理を説明するための画像を模式的に示す図である。
【0039】
表示画像CG合成処理におけるCG合成座標計算処理(ステップS2A)と、撮像画像CG合成処理におけるCG合成座標計算処理(ステップS2B)は、略同様の処理であり、以下にまとめて説明する。
なお、以下に説明するCG合成座標計算処理にあっては、予めユーザによる操作入力部4の所定操作に基づいて、被写体画像に合成される所定のCG画像50が設定されているものとする。
【0040】
CG合成座標計算処理にあっては、図5に示すように、先ず、CPU12は、撮像部1により取得したモニタ表示用画像(記録用画像)I1の輝度信号Y(図8(a)参照)に対して、ガウシアンフィルタを用いて平滑化処理を行って、ノイズを除去する(ステップS21)。
次に、CPU12は、フラッシュメモリ13内の抽出プログラム13aを実行して、平滑化処理後の画像に対してソーベルフィルタを用いた3×3のマトリックス演算により1階微分処理を行って、画素集合の輪郭線(エッジ部分)を抽出する(ステップS22;図8(b)参照)。
【0041】
次に、CPU12は、フラッシュメモリ13内の輪郭線特定プログラム13bを実行して、抽出処理後の画像I2に対してエッジの連結性を高めるために膨張処理を行った後(ステップS23;図9(a)参照)、膨張処理後の画像I3に対して、所定数よりも画素の連結数の少ない孤立した連結成分(画像集合)を除く小領域削除処理を行う(ステップS24;図9(b)参照))。
【0042】
以下に、小領域削除処理(ステップS24)について図6を参照して詳細に説明する。
図6に示すように、先ず、CPU12は、膨張処理後の画像(2値化された画像)I3に対して、同じ連結成分を構成する画素集合に同じ番号(ラベル)を付けるラベリングを行って、ラベル数を「LN」に格納する(ステップS241)。
【0043】
次に、CPU12は、ループ変数nを1に初期化した後(ステップS242)、n(例えば、n=1)番目のラベルの連結数を「LS」に格納する(ステップS243)。そして、CPU12は、予め設定されている所定の閾値DEF_LSと「LS」に格納されているn番目のラベルの連結数を比較して、当該「LS」の値が所定の閾値DEF_LSよりも大きいか否かを判定する(ステップS244)。
ここで、「LS」の値が所定の閾値DEF_LS以下であると判定されると(ステップS244;NO)、CPU12は、当該「LS」に係るn番目のラベルを小領域と判断して削除する(ステップS245)。
【0044】
その後、CPU12は、ラベルの番号に係る「n」を+1インクリメント(n=n+1)する(ステップS246)。また、ステップS244にて、「LS」の値が所定の閾値DEF_LSよりも大きいと判定されると、ステップS246に移行する。
その後、CPU12は、インクリメントされた「n」と「LN」に格納されているラベル数を比較して、当該「LN」の値よりも「n」が大きいか否かを判定する(ステップS247)。
ここで、「n」が「LN」の値以下であると判定されると(ステップS247;NO)、ステップS243に戻る。
【0045】
上記の処理を、ステップS247にて、「n」が「LN」の値よりも大きいと判定されるまで繰り返し実行し(ステップS247;YES)、全てのラベルに対する処理が行われると、当該小領域削除処理を終了する。図9(b)に、小領域削除処理後の画像I4を表す。
このようにして、CPU12は、位置特定手段として、モニタ表示用画像や記録用画像における主要被写体Sの外周輪郭で囲まれた画像領域の位置を、被写体画像に含まれる主要被写体Sに対応する主要画像領域(第1の画像領域)A1の位置として特定する(図9(b)参照)。
【0046】
その後、図5に示すように、CPU12は、背景抽出処理を行う(ステップS25)。
以下に、背景抽出処理について図7を参照して詳細に説明する。
図7に示すように、先ず、予めユーザによる操作入力部4の所定操作に基づいて指定されたCG画像50の合成位置に応じて分岐する(ステップS251)。
ここで、CG画像50の合成位置が主要被写体Sの左側に指定されている場合には、画像の左端から右側に向けて走査して連結成分の境界(輪郭線)の追跡を行い(ステップS252)、一方、CG画像50の合成位置が主要被写体Sの右側に指定されている場合には、画像の右端から左側に向けて走査して連結成分の境界の追跡を行う(ステップS253)。
【0047】
そして、CPU12は、小領域削除処理により特定された主要画像領域A1に到達するまで(黒画素から白画素に変化するまで)の領域を背景領域(第2の画像領域)A2として抽出する(ステップS254)。
【0048】
その後、図5に示すように、CPU12は、膨張処理(ステップS223)による膨張分を修正するために略等しい量の収縮処理を行う(ステップS26;図9(c)参照)。
【0049】
次に、CPU12は、背景領域A2におけるCG合成座標を算出する。具体的には、先ず、予めユーザによる操作入力部4の所定操作に基づいて指定されたCG画像50の合成位置に応じて分岐する(ステップS27)。
ここで、CG画像50の合成位置が主要被写体Sの左側に指定されている場合には、画像I5の左端から右側に向けて走査して、背景領域A2内でできる限り右側にCG画像50を合成できるようにCG合成座標を算出し(ステップS28)、一方、CG画像50の合成位置が主要被写体Sの右側に指定されている場合には、画像I5の右端から左側に向けて走査して、背景領域A2内でできる限り左側にCG画像50を合成できるようにCG合成座標を算出する(ステップS29;図9(c)参照)。
なお、CG合成座標の上下位置は、例えば、予め略中央に設定されているが、ユーザによる操作入力部4の所定操作に基づいて適宜任意に変更可能となっている。
【0050】
その後、表示画像CG合成処理にあっては、図3に示すように、CPU12がフラッシュメモリ13内のCG合成制御プログラム13cを実行して、画像エンジン8は、CG合成座標計算処理にて計算されたCG合成座標に基づいて、スルー画像とCG画像50を合成してCG合成画像I6(図10参照)を生成し(ステップS3A)、続けて、当該CG合成画像I6を表示部3の表示画面3aに表示する(ステップS4A)。
また、撮像画像CG合成処理にあっては、図4に示すように、CPU12がフラッシュメモリ13内のCG合成制御プログラム13cを実行して、画像エンジン8は、CG合成座標計算処理にて計算されたCG合成座標に基づいて、記録用画像とCG画像50を合成してCG合成画像I6(図10参照)を生成し(ステップS3B)、続けて、当該CG合成画像I6をフラッシュメモリ13に転送して記憶する(ステップS4B)。
このようにして、CPU12及び画像エンジン8は、加工処理手段として、モニタ表示用画像や記録用画像の主要画像領域A1以外の背景領域A2に対して所定の加工処理として、表示画像CG合成処理や撮像画像CG合成処理を行う。
【0051】
以上のように、本実施形態の撮像装置100によれば、一のモニタ表示用画像や記録用画像における主要被写体Sに対応する主要画像領域A1の位置を特定して、当該モニタ表示用画像や記録用画像における主要画像領域A1の位置以外の背景領域A2に対してCG合成処理等の所定の加工処理を行うことができる。具体的には、モニタ表示用画像や記録用画像を構成する画素集合の輪郭線を抽出して、抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、主要被写体Sの外周輪郭を特定するので、従来のように、被写体画像を2枚撮影することなく、一の被写体画像から主要被写体Sが含まれる画像領域を判別することができる。
そして、特定された主要画像領域A1の位置以外の背景領域A2内にフラッシュメモリ13に記憶されているCG画像50を合成するので、主要被写体Sを除いた背景領域A2の加工を容易に行うことができる。
【0052】
なお、上記実施形態にあっては、抽出処理後の画像I2に対して膨張処理を行った後(ステップS23)、膨張処理による膨張分を修正するための収縮処理を行う(ステップS26)ようにしたが、これに限られるものではなく、被写体画像にノイズが少なく、主要被写体Sに対応する主要画像領域A1を適正に特定することができる場合には、必ずしも上記の膨張処理や収縮処理を行う必要はない。
【0053】
また、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
以下に、撮像装置の変形例1〜3について説明する。
【0054】
<変形例1>
変形例1の撮像装置200は、図11〜図16に示すように、CG合成座標計算処理にて、モニタ表示用画像や記録用画像を複数の画像領域B、…に分割して、夫々の画像領域Bについて、周波数成分情報を取得して、当該周波数成分情報に基づいて、高周波成分が所定値よりも多い画像領域Bを主要画像領域A1を構成する画像領域と判断する処理を行う。
なお、変形例1の撮像装置200は、以下に説明するCG合成座標計算処理以外の点で上記実施形態の撮像装置100と略同様の構成をなし、その説明は省略する。
【0055】
即ち、図11に示すように、変形例1の撮像装置200のフラッシュメモリ13は、抽出プログラム13a、輪郭線特定プログラム13b、CG合成制御プログラム13cに加えて、分割プログラム13d、情報取得プログラム13eを記憶している。
【0056】
分割プログラム13dは、CPU12を分割手段として機能させるものである。即ち、分割プログラム13dは、モニタ表示用画像(記録用画像)I7を複数の画像領域B、…に分割する分割処理に係る機能をCPU12に実現させるためのプログラムである。
具体的には、CPU12による分割プログラム13dの実行に基づいて、モニタ表示用画像(記録用画像)I7の輝度信号Y(図14(a)参照)を複数の画像領域B、…(例えば、縦「YS」×横「XS」が6×8の48領域)に分割する。
【0057】
情報取得プログラム13eは、CPU12を情報取得手段として機能させるものである。即ち、情報取得プログラム13eは、分割処理によって分割された夫々の画像領域Bについて、周波数成分情報を取得する情報取得処理に係る機能をCPU12に実現させるためのプログラムである。
具体的には、CPU12による情報取得プログラム13eの実行に基づいて、分割処理によって分割された複数の画像領域B、…(例えば、48領域)の夫々について、2次元フーリエ変換を行って絶対値をとることにより周波数振幅情報を取得する。
【0058】
次に、CG合成座標計算処理について、図12〜図15を参照して説明する。
図12は、CG合成座標計算処理に係る動作の一例を示すフローチャートである。また、図13は、CG合成座標計算処理に係る複数の画像領域B、…の振幅値のソート結果を示す図である。また、図14(a)及び図14(b)並びに図15(a)〜図15(c)は、CG合成座標計算処理を説明するための画像を模式的に示す図である。
【0059】
CG合成座標計算処理にあっては、図12に示すように、CPU12は、フラッシュメモリ13内の分割プログラム13dを実行して、横方向の分割数「XS」=8、縦方向の分割数「YS」=6として、モニタ表示用画像(記録用画像)I7の輝度信号Y(図14(a)参照)を複数の画像領域B、…(例えば、48領域)に分割する(ステップS201;図14(b)参照)。
これにより、複数の画像領域B、…の各々について、横方向のサイズ(XStep)が輝度信号Yの横方向のサイズ(XSize)を「XS」で除算した値となり、縦方向のサイズ(YStep)が輝度信号Yの縦方向のサイズ(YSize)を「YS」で除算した値となる(ステップS202)。例えば、輝度信号Yの画像サイズが横方向400ドット、縦方向264ドットの場合、各画像領域BのXStepは50(400÷8)ドットとなり、YStepは44(264÷6)ドットとなる。
【0060】
次に、全ての画像領域Bについて周波数振幅情報を取得する情報取得処理を行う。
なお、横方向にx、縦方向にyのインデックスを用いて、複数の画像領域B、…のうち、左上隅の領域をx=1,y=1とし、右下隅の領域をx=XS,y=YSとする。
【0061】
先ず、CPU12は、フラッシュメモリ13内の情報取得プログラム13eを実行して、ループ変数yを1に設定した後(ステップS203)、yの値と縦方向の分割数「YS」を比較して、yの値が縦方向の分割数「YS」よりも大きいか否かを判定する(ステップS204)。
【0062】
ステップS204にて、yの値が縦方向の分割数「YS」以下であると判定されると(ステップS204;NO)、CPU12は、ループ変数xを1に設定した後(ステップS205)、xの値と横方向の分割数「XS」を比較して、xの値が横方向の分割数「XS」よりも大きいか否かを判定する(ステップS206)。
ここで、xの値が横方向の分割数「XS」以下であると判定されると(ステップS206;NO)、CPU12は、複数の領域のうち、x=1,y=1の画像領域BをI{x,y}に格納する(ステップS207)。
【0063】
続けて、CPU12は、I{x,y}に対して2次元フーリエ変換を行って振幅情報と位相情報を含んだ周波数成分情報を取得した後、絶対値をとることにより周波数振幅情報を算出してFFT_I{x,y}に格納する(ステップS208)。
ここで、各画像領域Bについて、周波数振幅情報の原点を中央に移動したものを図15(a)に図示しており、周辺部が白ければ白い程高周波成分が多いことを表している。
そして、CPU12は、FFT_I{x,y}に格納されている周波数振幅情報のうち、最大周波数の1/K(例えば、K=2)倍以上のものを積算して、FFT_IS{x,y}とする(ステップS209)。
その後、CPU12は、ループ変数xを+1インクリメント(x=x+1)して(ステップS210)、ステップS206に移行する。
【0064】
そして、ステップS206にて、xの値が横方向の分割数「XS」よりも大きいと判定されるまで(ステップS206;YES)、ステップS206〜S210の処理を繰り返し実行する。
xの値が横方向の分割数「XS」よりも大きいと判定されると(ステップS206;YES)、CPU12は、ループ変数yを+1インクリメント(y=y+1)して(ステップS211)、ステップS204に移行する。
【0065】
そして、ステップS204にて、yの値が縦方向の分割数「YS」よりも大きいと判定されるまで(ステップS204;YES)、ステップS204〜S210の処理を繰り返し実行する。
yの値が縦方向の分割数「YS」よりも大きいと判定されると(ステップS204;YES)、CPU12は、高周波成分が多いところを撮影対象、それ以外を背景領域A2とするための判定を行う。
【0066】
先ず、CPU12は、複数の画像領域B、…について、離散点からFFT後に得られる最大周波数の1/R(例えば、R=4)以上の周期となる高周波成分の振幅値(例えば、X周期;4/XStep、Y周期;4/YStep)を加算して、FFT_IS{x,y}に代入する(ステップS212)。これにより、FFT_IS{x,y}には、低い周波数を除去した高周波成分の振幅値が代入されることとなり、FFT_IS{x,y}の値が大きければ大きい程、その画像領域Bの空間周波数は高いことになる。
続けて、CPU12は、複数の画像領域B、…に係る全てのFFT_IS{x,y}をソートして、振幅値が急峻に変化している点を閾値THとする(ステップS213)。例えば、図13に示すように、横方向の分割数「XS」=8とし、縦方向の分割数「YS」=6とする48の画像領域Bの振幅値をソートした場合、100000を境にして振幅値が急峻に変化していることから、閾値THを100000とする。
【0067】
次に、CPU12は、複数の画像領域B、…について、当該画像領域Bに係る全てのFFT_IS{x,y}と閾値THを比較して、当該閾値THよりも小さいFFT_IS{x,y}の画像領域Bを背景領域A2とし、それ以外を主要被写体S(撮影対象)とする(ステップS214)。
このようにして、CPU12は、位置特定手段として、周波数成分情報に基づいて、高周波成分が所定値よりも多い画像領域Bを主要被写体Sに対応する主要画像領域A1(第1の画像領域)を構成する画像領域と判断する(図15(b)参照)。
なお、図15(b)には、背景領域A2を構成する画像領域Bが黒く塗りつぶされたものを表しており、それ以外の画像領域Bは、主要画像領域A1に対応している。
【0068】
次に、CPU12は、上記実施形態の撮像装置100におけるステップS27〜S29と略同様の処理を行って、背景領域A2におけるCG合成座標を算出する。具体的には、先ず、予めユーザによる操作入力部4の所定操作に基づいて指定されたCG画像50の合成位置に応じて分岐する(ステップS215)。
ここで、CG画像50の合成位置が主要被写体Sの左側に指定されている場合には、画像I8の左端から右側に向けて走査して、背景領域A2内でできる限り右側にCG画像50を合成できるようにCG合成座標を算出し(ステップS216)、一方、CG画像50の合成位置が主要被写体Sの右側に指定されている場合には、画像I8の右端から左側に向けて走査して、背景領域A2内でできる限り左側にCG画像50を合成できるようにCG合成座標を算出する(ステップS217:図15(c)参照)。
なお、図15(c)にあっては、CG合成座標を破線で囲まれた領域Cとして表している。
【0069】
その後、図3におけるステップS3A(或いは、図4におけるステップS4A)にて、CPU12がフラッシュメモリ13内のCG合成制御プログラム13cを実行して、画像エンジン8は、CG合成座標計算処理にて計算されたCG合成座標に基づいて、スルー画像(或いは、記録用画像)とCG画像50を合成してCG合成画像I9(図16参照)を生成し、続けて、ステップS4Aにて、当該CG合成画像I6を表示部3の表示画面3aに表示する(或いは、ステップS4Bにて、CG合成画像I9をフラッシュメモリ13に転送して記憶する)。
【0070】
従って、変形例1の撮像装置200によれば、CG合成座標計算処理にて、モニタ表示用画像や記録用画像を複数の画像領域B、…に分割して、夫々の画像領域Bについて、周波数成分情報を取得して、当該周波数成分情報に基づいて、高周波成分が所定値よりも多い画像領域Bを主要画像領域A1を構成する画像領域と判断するので、ノイズに影響されることなく、一の被写体画像から主要被写体Sが含まれる画像領域を判別することができる。
【0071】
<変形例2>
変形例2の撮像装置は、図17(a)及び図17(b)並びに図18(a)及び図18(b)に示すように、モニタ表示用画像I10の背景領域A2内でCG画像50を合成する位置をユーザによる操作入力部4の所定操作に基づいて入力して、入力された合成位置にCG画像50を合成する。
なお、変形例2の撮像装置は、以下に説明するCG合成位置決定処理以外の点で上記変形例1の撮像装置200と略同様の構成をなし、その説明は省略する。
【0072】
カーソルキー4bは、合成位置入力手段として、被写体画像に対するCG画像50の合成位置を指示入力する。
そして、CPU12は、ユーザによるカーソルキー4bの操作に応じて入力された所定の操作信号に基づいて、モニタ表示用画像I10におけるCG画像50の合成位置を決定するCG合成位置決定処理を行う。
具体的には、ユーザにより左カーソルキー(右カーソルキー)4bが操作される毎に、CPU12は、モニタ表示用画像I10におけるCG画像50の合成位置を決定していき、モニタ表示用画像I10の背景領域A2(図17(a)及び図18(a)参照)内でCG画像50が主要被写体Sに対して左回りに(右回りに)移動する。そして、表示部3の表示画面3aには、CG合成位置決定処理にて設定されたCG画像50の合成位置に基づいて、画像エンジン8によりCG画像50がモニタ表示用画像I10に合成された合成イメージI11(図17(b)及び図18(b)参照)が表示されることとなる。
このように、CPU12は、CG画像50の合成位置を決定する合成位置決定手段として機能する。
【0073】
なお、CG画像50は、左カーソルキー(右カーソルキー)4bの操作回数に応じて移動するようにしても良いし、押圧操作している時間だけ移動するようにしても良い。
【0074】
従って、変形例2の撮像装置によれば、モニタ表示用画像I10の背景領域A2内でCG画像50を合成する位置をユーザによる操作入力部4の所定操作に基づいて入力して、入力された合成位置にCG画像50を合成するので、CG画像50をモニタ表示画像における任意の位置に合成することができ、ユーザ所望のCG合成画像I11を得ることができる。
【0075】
<変形例3>
変形例3の撮像装置は、図19(a)及び図19(b)に示すように、被写体画像I12の背景領域A2内で主要被写体Sの周囲の領域の大きさに基づいて、CG画像50の合成位置を自動的に設定する。
具体的には、CPU12は、被写体画像I12の背景領域A2内で主要被写体Sの周囲(例えば、上側、左側、右側等)の領域の大きさを判定して、最も大きい領域内にCG画像50の合成位置を設定する。例えば、CPU12は、主要被写体Sから上側縁までの距離D1、左側縁までの距離D2、右側縁までの距離D3を算出して(図19(a)参照)、最も長い距離D3を有する右側領域をCG画像50が合成される領域として指定する(図19(b)参照)。
【0076】
従って、変形例3の撮像装置によれば、被写体画像I12の背景領域A2内で主要被写体Sの周囲の領域の大きさに基づいて、CG画像50の合成位置を自動的に設定するので、ユーザが操作入力部4等を所定操作することなく、背景領域A2内の適正な位置にCG画像50を合成することができる。
【0077】
なお、上記実施形態にあっては、被写体画像に対する所定の加工処理としてCG合成処理を例示したが、これに限られるものではなく、被写体画像における主要画像領域以外の背景領域に対する加工処理であれば如何なるものであっても良い。
【0078】
また、上記実施形態にあっては、主要画像領域A1の位置を特定する処理として、被写体画像を構成する画素集合の輪郭線を抽出して、抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、主要被写体Sの外周輪郭を特定するようにしたが、処理内容は一例であって、これに限られるものではない。
【0079】
さらに、素材画像として、CG画像50を例示したが、これに限られるものではなく、被写体画像に合成可能なものであれば如何なるものであっても良い。例えば、図示は省略するが、予め撮影しておいた人物や動物の画像などであっても良い。
【0080】
また、撮像装置100、200の構成は、上記実施形態に例示したものは一例であり、これに限られるものではない。
さらに、上記実施形態にあっては、位置特定手段、加工処理手段、抽出手段、輪郭線特定手段、分割手段、情報取得手段、合成位置決定手段としての機能を、CPU12によって所定のプログラム等が実行されることにより実現される構成としたが、これに限られるものではなく、例えば、各種機能を実現するためのロジック回路等から構成しても良い。
【0081】
加えて、画像合成装置として撮像装置100、200を例示したが、これに限られるものではなく、撮像部1により生成した複数の画像データをUSB接続端子5を介して接続されたコンピュータ等の外部機器に出力して、当該外部機器にて位置特定処理、CG合成処理、抽出処理、輪郭線特定処理、分割処理、情報取得処理、合成位置決定処理等を行うようにしても良い。
【図面の簡単な説明】
【0082】
【図1】本発明を適用した一実施形態の撮像装置の外観を模式的に示す図である。
【図2】図1の撮像装置の概略構成を示すブロック図である。
【図3】図1の撮像装置による表示画像CG合成処理に係る動作の一例を示すフローチャートである。
【図4】図1の撮像装置による撮像画像CG合成処理に係る動作の一例を示すフローチャートである。
【図5】図1の撮像装置によるCG合成座標計算処理に係る動作の一例を示すフローチャートである。
【図6】図5のCG合成座標計算処理における小領域削除処理に係る動作の一例を示すフローチャートである。
【図7】図5のCG合成座標計算処理における背景抽出処理に係る動作の一例を示すフローチャートである。
【図8】図5のCG合成座標計算処理を説明するための画像を模式的に示す図である。
【図9】図5のCG合成座標計算処理を説明するための画像を模式的に示す図である。
【図10】図1の撮像装置によるCG画像の合成処理後の画像を模式的に示す図である。
【図11】変形例1の撮像装置の概略構成を示すブロック図である。
【図12】図11の撮像装置によるCG合成座標計算処理に係る動作の一例を示すフローチャートである。
【図13】図12のCG合成座標計算処理に係る複数の画像領域の振幅値のソート結果を示す図である。
【図14】図12のCG合成座標計算処理を説明するための画像を模式的に示す図である。
【図15】図12のCG合成座標計算処理を説明するための画像を模式的に示す図である。
【図16】図11の撮像装置によるCG画像の合成処理後の画像を模式的に示す図である。
【図17】変形例2の撮像装置によるCG合成処理に係る画像を模式的に示す図である。
【図18】図17の撮像装置によるCG合成処理に係る画像を模式的に示す図である。
【図19】変形例3の撮像装置によるCG合成処理に係る画像を模式的に示す図である。
【符号の説明】
【0083】
100 撮像装置
1 撮像部
4 操作入力部
4b カーソルキー
8 画像エンジン
12 CPU
13 フラッシュメモリ
50 CG画像
I6、I9、I11 CG合成画像
【特許請求の範囲】
【請求項1】
一の被写体画像に含まれる主要被写体に対応する第1の画像領域の位置を特定する位置特定手段と、
前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記被写体画像を構成する画素集合の輪郭線を抽出する抽出手段と、
この抽出手段によって抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、前記主要被写体を描画した主要輪郭線を特定する輪郭線特定手段と、
を更に備え、
前記位置特定手段は、
前記輪郭線特定手段によって特定された前記主要輪郭線で囲まれた画像領域の位置を、前記主要画像領域の位置として特定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記一の被写体画像を複数の領域に分割する分割手段と、
この分割手段によって分割された夫々の領域について、周波数成分情報を取得する情報取得手段と、
を更に備え、
前記位置特定手段は、
前記情報取得手段によって取得された前記周波数成分情報に基づいて、高周波成分が所定値よりも多い領域を前記第1の画像領域を構成する画像領域と判断することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
素材画像を記憶する素材画像記憶手段を更に備え、
前記加工処理手段は、
前記素材画像記憶手段に記憶されている前記素材画像を前記第2の画像領域に合成する画像合成手段を含むことを特徴とする請求項1〜3の何れか一項に記載の画像処理装置。
【請求項5】
前記第2の画像領域における前記素材画像の合成位置を操作により入力する合成位置入力手段と、
この合成位置入力検出手段による入力に基づいて、前記素材画像の合成位置を決定する合成位置決定手段と、
を更に備え、
前記画像合成手段は、前記合成位置決定手段によって決定された前記合成位置に前記素材画像を合成することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
主要被写体を含む一の被写体画像を取得する撮像手段と、
この撮像手段により取得された前記一の被写体画像における前記主要被写体に対応する第1の画像領域の位置を特定する位置特定手段と、
前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段と、
を備えることを特徴とする撮像装置。
【請求項7】
コンピュータを、
一の被写体画像に含まれる主要被写体に対応する第1の画像領域の位置を特定する位置特定手段、
前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段、
として機能させることを特徴とするプログラム。
【請求項1】
一の被写体画像に含まれる主要被写体に対応する第1の画像領域の位置を特定する位置特定手段と、
前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記被写体画像を構成する画素集合の輪郭線を抽出する抽出手段と、
この抽出手段によって抽出された輪郭線のうちの所定値よりも小さい画素集合の輪郭線を除くことにより、前記主要被写体を描画した主要輪郭線を特定する輪郭線特定手段と、
を更に備え、
前記位置特定手段は、
前記輪郭線特定手段によって特定された前記主要輪郭線で囲まれた画像領域の位置を、前記主要画像領域の位置として特定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記一の被写体画像を複数の領域に分割する分割手段と、
この分割手段によって分割された夫々の領域について、周波数成分情報を取得する情報取得手段と、
を更に備え、
前記位置特定手段は、
前記情報取得手段によって取得された前記周波数成分情報に基づいて、高周波成分が所定値よりも多い領域を前記第1の画像領域を構成する画像領域と判断することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
素材画像を記憶する素材画像記憶手段を更に備え、
前記加工処理手段は、
前記素材画像記憶手段に記憶されている前記素材画像を前記第2の画像領域に合成する画像合成手段を含むことを特徴とする請求項1〜3の何れか一項に記載の画像処理装置。
【請求項5】
前記第2の画像領域における前記素材画像の合成位置を操作により入力する合成位置入力手段と、
この合成位置入力検出手段による入力に基づいて、前記素材画像の合成位置を決定する合成位置決定手段と、
を更に備え、
前記画像合成手段は、前記合成位置決定手段によって決定された前記合成位置に前記素材画像を合成することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
主要被写体を含む一の被写体画像を取得する撮像手段と、
この撮像手段により取得された前記一の被写体画像における前記主要被写体に対応する第1の画像領域の位置を特定する位置特定手段と、
前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段と、
を備えることを特徴とする撮像装置。
【請求項7】
コンピュータを、
一の被写体画像に含まれる主要被写体に対応する第1の画像領域の位置を特定する位置特定手段、
前記一の被写体画像における、前記位置特定手段により特定された前記第1の画像領域の位置以外の第2の画像領域に対して所定の加工処理を行う加工処理手段、
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図9】
【図11】
【図12】
【図13】
【図8】
【図10】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図9】
【図11】
【図12】
【図13】
【図8】
【図10】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2010−28346(P2010−28346A)
【公開日】平成22年2月4日(2010.2.4)
【国際特許分類】
【出願番号】特願2008−185854(P2008−185854)
【出願日】平成20年7月17日(2008.7.17)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成22年2月4日(2010.2.4)
【国際特許分類】
【出願日】平成20年7月17日(2008.7.17)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]