JP3983624B2 - 画像合成装置、画像合成方法、画像合成プログラム、および画像合成プログラムを記録した記録媒体 - Google Patents
画像合成装置、画像合成方法、画像合成プログラム、および画像合成プログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP3983624B2 JP3983624B2 JP2002233130A JP2002233130A JP3983624B2 JP 3983624 B2 JP3983624 B2 JP 3983624B2 JP 2002233130 A JP2002233130 A JP 2002233130A JP 2002233130 A JP2002233130 A JP 2002233130A JP 3983624 B2 JP3983624 B2 JP 3983624B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- subject
- overlap
- area
- background
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Studio Circuits (AREA)
- Studio Devices (AREA)
Description
【発明の属する技術分野】
本発明は、別々に撮影された複数の被写体を、同時に存在するかのように一枚の画像に合成し、またその際、被写体同士が重なりなく撮影/合成ができるように補助を行う装置および方法およびプログラムおよびプログラム媒体に関する。
【0002】
【従来の技術】
フィルムカメラやデジタルカメラで、例えば二人で並んで写真を撮る際、三脚を使ってセルフタイマーで撮影するか、通りがかりの人などに頼んで撮影してもらうしかない。
【0003】
しかし、三脚を持ち歩くのは大変であり、また、見ず知らずの他人に頼むのも気が引けるという問題がある。
【0004】
それに対して、特開2000−316125号公報(2000年11月14日公開)では、同一場所で撮影した複数枚の画像から被写体の領域を抽出し、被写体の画像を背景と合成したりしなかったりすることで、背景のみの画像や別の画像の被写体が同時に存在するかのような画像を合成することができる画像合成装置が開示されている。
【0005】
また、特開2001−333327号公報(2001年11月30日公開)では、撮影済みの参照画像中の指定された領域(被写体領域)を撮影中の画像に重ねてモニタ画面またはファインダ内に表示させることができると共に、被写体領域内の被写体を、撮影中の画像に合成した合成画像の画像データを作成することができるデジタルカメラおよび画像処理方法が開示されている。
【0006】
【発明が解決しようとする課題】
しかし、これら従来技術では、大きく2つの問題が出てくる。
【0007】
1つ目の問題は、参照画像中の被写体領域を単に切り出して別の画像と重ね合わせるだけでは、被写体領域の指定が不正確な場合に(1)合成結果の被写体が欠けたり、(2)余計なものが合成されたり、(3)指定が正確であっても合成境界が微妙に不自然になったりするという点である。
【0008】
例えば、(1)の、実際の被写体領域より参照画像中で指定した被写体領域(以下、指定被写体領域と呼ぶ)が欠けている場合は、合成画像上でもその被写体は欠けているので、明らかに不自然となる。
【0009】
また、(2)の、実際の被写体領域より参照画像中の指定被写体領域が大きすぎる場合は、参照画像上での被写体周囲の背景も含んでしまっていることになる。上でいう「余計なもの」とは、この含んでしまっている背景部分のことである。特開2001−333327号公報で説明される合成方法では、参照画像と撮影画像を違う場所で撮影することもありえるので、指定被写体領域に含まれてしまっている背景画像(参照画像上の背景)と、合成画像上でのその周囲の背景(撮影画像上の背景)とは異なることがある。この場合、合成画像上では、指定被写体領域で背景が突然変わるため、不自然な合成画像となる。
【0010】
仮に、同じ場所、同じ背景でどちらも撮影されたとしても、特開2001−333327号公報で説明される合成方法では、参照画像中の指定被写体領域を撮影画像上の任意の位置に配置・合成できるので、指定被写体領域に含まれてしまっている背景画像(参照画像上の背景)と、撮影画像上での合成位置周囲の背景(撮影画像の背景)とが、同じ位置の背景とは限らず、同様に合成結果は不自然となる。
【0011】
特開2001−333327号公報のように、参照画像中の指定被写体領域に対し、ユーザーがタブレットなどを使ってその輪郭を指定する場合、人間が輪郭を判断しながら指定するので指定被写体領域の指定が大きく間違うことは少ないが、1、2画素ないし数画素程度の誤りが出てくる可能性はある。もし、1画素の単位で人手で正確に指定しようとすると、大変な労力が必要となる。
【0012】
また、(3)の、指定が正確であっても合成境界が微妙に不自然になる場合には、(1)、(2)のような指定被写体領域が画素単位で正確であったとしても、指定被写体領域の合成結果として、その輪郭の画素が撮影画像の背景と馴染まない場合をも含んでいる。
【0013】
これは、指定被写体領域の輪郭は、画素単位の指定では精度が充分でなく、実際は1画素よりももっと細かい単位でないと表現できないためである。すなわち、輪郭の画素は、本来は被写体部分が(0.X)画素分、背景部分が(1.0−0.X)画素分となっており、画素値としては、被写体部分の画素値と背景部分の画素値とが割合に応じて足された値、すなわち平均化された値となっている。
【0014】
このため、被写体部分と背景部分との割合は、平均化された画素値からは逆算できないので、結局、合成する時は画素単位で扱うしかない。その結果、合成画像の輪郭の画素値には、参照画像の背景の値が含まれてしまい、周囲の撮影画像の背景と馴染まなくなってしまう。
【0015】
以上の(1)〜(3)の問題は、特開2000−316125号公報に開示された合成方法によっても解決できない。同公報には、同一場所または互いに近くの場所で撮影した複数枚の画像を重ねる前に位置合わせを行うことが開示されている。
【0016】
しかしながら、例えば同じ背景を使って2人が交互にお互いを撮影する場合、カメラの向きの違いによって撮影される背景の位置が移動するだけではなく、カメラの傾きによる画像の回転や、撮影者と被写体との距離のずれによる画像の拡大縮小や、撮影者の背丈の違いによってカメラの仰角が変わることによる画像の歪みが発生する。
【0017】
このため、重ね合わせようとする画像の位置合わせを単に行うだけでは、上記(1)〜(3)の問題が解消されず、合成結果は不自然になってしまう。
【0018】
2つ目の問題は、参照画像中の被写体領域と、別の被写体の含まれる撮影画像とを合成することを目的に撮影を行おうとすると、撮影時の被写体の位置に気をつけないと、それぞれの画像中の被写体の領域が合成画像上で互いに重なってしまったり、どちらかの被写体が合成画像からはみ出てしまう場合が出てくるという点である。
【0019】
この問題に対して、特開2000−316125号公報には、撮影済みの画像を使った合成方法が主に説明されているだけであり、被写体同士の重なりや合成画像からのはみだしを防ぐ撮影方法などには触れられていない。
【0020】
また、特開2001−333327号公報の画像処理方法によれば、参照画像中の被写体領域(ユーザーがタブレットなどを使って輪郭を指定する)と撮影中の画像とを重ねて表示することができるので、合成する場合の参照画像中の被写体領域と撮影中の画像中の被写体領域とに関して、被写体同士が重なるかどうかや、被写体領域が合成画像からはみだすかどうかを、撮影時に知ることができる。被写体の重なりやはみだしがある場合は、被写体やカメラを動かすことで撮影中の画像中の被写体の位置を変更することができ、重なりやはみだしが起こらない画像を撮影・記録することができるようになる。
【0021】
しかし、被写体領域の認識処理や、被写体領域同士が重なっているかどうか、合成画像から被写体領域がはみだしているかどうかの判断処理など、高度な処理を人間自身がしなければならないという不便さがある。また、参照画像中の被写体の領域は手で指定しなければいけないという不便さもある。
【0022】
本発明の第1の目的は、合成結果が不自然とならないような合成を行う画像合成装置(画像合成方法)を提供することであり、第2の目的は、別々に撮影された複数の被写体を、同時に存在するかのように一枚の画像に合成する際、合成画像上で被写体同士の重なりが起きないように撮影を補助する画像合成装置(画像合成方法)を提供することである。
【0023】
【課題を解決するための手段】
本発明に係る画像合成装置は、上記の課題を解決するために、背景と第1の被写体とを含む画像である第1被写体画像と、上記背景の少なくとも一部と第2の被写体とを含む画像である第2被写体画像との間での、背景部分の相対的な移動量、回転量、拡大縮小率、歪補正量のいずれかもしくは組み合わせからなる補正量を算出する、あるいは予め算出しておいた補正量を読み出す背景補正量算出手段と、第1被写体画像、第2被写体画像のどちらかを基準画像とし、他方の画像を、被写体以外の背景の部分が少なくとも一部重なるように前記背景補正量算出手段から得られる補正量で補正し、基準画像と補正した画像を重ねた画像を生成する重ね画像生成手段と、を有する。
【0024】
上記の構成において、「第1の被写体」、「第2の被写体」とは、合成を行おうとしている対象であり、一般には人物であることが多いが物などの場合もある。厳密には、「被写体」は、第1被写体画像と第2被写体画像との間で、背景部分が少なくとも一部重なるようにした時に、画素値が一致しない領域、すなわち変化がある領域は全て「被写体の領域」となる可能性を持つ。
【0025】
但し、背景部分で、風で木の葉が揺れたなどの小さな変化でも変化がある領域となってしまうので、小さな変化や小さな領域はある程度無視する方が、「被写体の領域」を的確に抽出でき、より自然な重ね画像を得ることができる。
【0026】
なお、例えば被写体が人物の場合、被写体は必ずしも一人であるとは限らず、複数の人物をまとめて「第1の被写体」や「第2の被写体」とする場合もある。つまり、複数人であっても、合成の処理の単位としてまとめて扱うものは一つの「被写体」となる。なお、人物でなく、物であっても同様である。
【0027】
また、被写体は、必ずしも一つの領域であるとは限らず、複数の領域からなる場合もある。「第1」、「第2」は、異なるコマ画像として単に区別する為につけたものであり、撮影の順番などを表すものではなく、本質的な違いはない。また、例えば、人物が服や物などを持っていて、「第1、第2の被写体を含まない背景だけの画像」にそれらが現れないのならば、それらも被写体に含まれる。
【0028】
「第1被写体画像」、「第2被写体画像」は、上記の「第1の被写体」、「第2の被写体」を含む別々の画像であり、一般には、カメラなどでその被写体を撮影した画像である。但し、画像上に被写体のみしか写っておらず、互いに共通する背景部分が全く写っていない場合は、合成に適さないので、少なくとも一部は互いに共通する背景部分が写っている必要がある。また、通常は、第1被写体画像、第2被写体画像は、同じ背景を使って、すなわちカメラをあまり動かさないで撮影する場合が多い。
【0029】
なお、被写体を撮影するカメラは、画像を静止画として記録するスチルカメラである必要はなく、画像を動画として記録するビデオカメラであってもよい。ビデオカメラで静止画としての重ね画像を生成する場合、撮影した動画を構成する1フレームの画像を被写体画像として取り出し、合成に用いることになる。
【0030】
「背景の部分」とは、第1被写体画像、第2被写体画像から「第1の被写体」、「第2の被写体」を除いた部分である。
【0031】
「移動量」は、基準画像と背景の少なくとも一部が重なる位置へ、他の画像を平行移動させる量だが、回転や拡大縮小の中心の対応点の移動量と言ってもよい。
【0032】
「歪補正量」とは、カメラやレンズの位置や方向が変わったことによる撮影画像の変化のうち、平行移動、回転、拡大縮小では補正できない残りの変化を補正する為の補正量である。例えば、高い建物を撮影した時に、上の方が遠近法の効果により同じ大きさであっても小さく写ってしまう「あおり」などとよばれる効果などを補正する場合などがこれに含まれる。
【0033】
「重ね画像生成手段」は、重ね画像を生成するが、必ずしも一つの画像データとして生成しなくてもよく、他の手段の画像データと合わせて合成したかのように見えるのでも構わない。例えば、表示手段上にある画像を表示する際、その画像に上書きする形で別の画像を一部表示すれば、見た目には2つの画像データから1つの合成画像データを生成し、その合成画像データを表示しているかのように見えるが、実際は、2つの画像データに基づく画像がそれぞれ存在するだけで、合成画像データは存在していない。
【0034】
背景補正量算出手段による補正量の算出には、例えば、ブロックマッチングなど、2つの画像間での部分的な位置の対応を算出する手法を採用することができる。これらの手法などを利用して、第1被写体画像、第2被写体画像の2つの画像間の対応を求めれば、背景部分に一致するところがあれば、その部分の位置的な対応を算出することができる。被写体部分は他の画像中には存在しないので、その部分は間違った対応が得られる。背景部分の正しい対応と被写体部分の間違った対応の中から、統計的な手法を使うなどして背景部分の正しい対応だけを得る。残った正しい対応から、背景部分の相対的な移動量、回転量、拡大縮小率、歪補正量のいずれかもしくは組み合わせからなる補正量が算出できる。
【0035】
重ね画像生成手段は、背景補正量算出手段により算出された補正量に基づき、基準画像に合わせて他方の画像を背景部分が一致するように補正した画像を作る。そして、重ね画像生成手段は、基準画像に補正した画像を重ねた画像を生成する。
【0036】
画像の重ね方としては、2つの画像の位置的に対応する画素の画像データを、0〜1の範囲で比例配分した任意の比率で混合すればよい。例えば、第1被写体画像の比率を1、第2被写体画像の比率を0とすれば、その画素には、第1被写体画像の画像データのみが書き込まれる。また、2つの画像の混合比率を1:1とすれば、その画素には、2つの画像の画像データを均等に合成した画像データが書き込まれる。
【0037】
なお、混合比率をどう設定するかは、本発明にとって本質的ではなく、どのような重ね画像を表示ないし出力したいかというユーザーの目的次第である。
【0038】
以上の処理によって、第1の被写体と第2の被写体とを背景部分を一致させた状態で一枚の画像上に合成することができる。
【0039】
二つの画像間の背景のずれや歪みを補正して合成することができるので、これによって、被写体など明らかに異なる領域を除いた以外の部分(すなわち背景部分)は、どのように重ねても合成結果がほぼ一致し、合成結果が不自然とならないという効果が出てくる。例えば被写体領域だけを主に合成しようとした時、被写体領域の抽出や指定が多少不正確であっても、被写体領域の周りの背景部分が合成先の画像の部分とずれや歪みがないので、不正確な領域の内外が連続した風景として合成され、見た目の不自然さを軽減するという効果が出てくる。
【0040】
被写体領域の抽出が画素単位で正確であったとしても、課題の項で説明した通り、1画素より細かいレベルでの不自然さは従来技術の方法では出てしまうが、本発明では、背景部分のずれや歪みを無くしてから合成しているので、輪郭の画素の周囲の画素は、同じ背景部分の位置の画素なので、合成してもほぼ自然なつながりとなる。このように、1画素より細かいレベルでの不自然さを防ぐ、あるいは軽減するという効果が出てくる。
【0041】
また、背景のずれや歪みを補正して合成するので、第1、第2被写体画像の撮影時にカメラなどを三脚などで固定する必要がなく、手などで大体の方向を合わせておけばよく、撮影が簡単になるという効果が出てくる。
【0042】
なお、背景補正量算出手段の動作である、「背景部分の相対的な移動量、回転量、拡大縮小率、歪補正量のいずれかもしくは組み合わせからなる補正量を算出する」を「背景部分の相対的な移動量に、相対的な回転量、拡大縮小率または歪補正量のいずれかもしくは複数を組み合わせた補正量を算出する」としてもよい。これにより、補正の精度が一層向上し、より自然な合成結果を得ることができる。
【0043】
さらに、背景補正量算出手段の上記2種類の動作をユーザーが入力手段を介して選択的に切り換えられるようにすれば、補正の精度を重視したい場合と、処理速度または処理負担軽減を重視したい場合とを使い分けることができ、画像合成装置の操作性が向上する。
【0044】
本発明に係る画像合成装置は、上記の課題を解決するために、被写体や風景を撮像する撮像手段を有し、第1被写体画像または第2被写体画像は、前記撮像手段の出力に基づいて生成されてもよい。
【0045】
上記の構成によれば、重ね画像を生成する画像合成装置が、撮像手段を具備することで、ユーザーが被写体や風景を撮影したその場で、重ね画像を生成することができるため、ユーザーにとっての利便性が向上する。また、重ね画像を生成した結果、もし被写体同士の重なりがあるなどの不都合があれば、その場で撮影し直すことができるという効果が出てくる。
【0046】
なお、撮像手段から得られる画像は、通常、画像合成装置に内蔵されているか否かを問わない主記憶や外部記憶などに記録し、シャッターボタンなどを利用して記録するタイミングをユーザーが指示する。そして、記録された画像を第1被写体画像、または第2被写体画像として、合成処理に利用することになる。
【0047】
本発明に係る画像合成装置は、上記の課題を解決するために、第1被写体画像と第2被写体画像のうち、後に撮影した方を基準画像としてもよい。
【0048】
上記の構成によれば、例えば、第1被写体画像、第2被写体画像の順に撮影したとすると、第2被写体画像を基準画像にする。そして、第2被写体画像を基準画像として、第1被写体画像を補正する。この際、第2被写体画像(基準画像)と第1被写体画像の間で、背景部分の移動量などの補正量を算出し、その補正量を使って第1被写体画像の補正を行う。第2被写体画像(基準画像)、補正された第1被写体画像を使って、合成画像を合成する。そして合成画像の表示などを行う。
【0049】
この結果、表示される合成画像は、直前に撮影したばかりの、あるいは合成画像をリアルタイム表示する形態では現在撮影中の第2被写体画像の背景の範囲となるので、撮影者にとっては違和感が無いという効果が出てくる。
【0050】
もし第1被写体画像を基準画像とすると、合成画像の背景の範囲は、第1被写体画像の背景の範囲となる。第1被写体画像の背景の範囲は、カメラの方向などが変わっていて、先ほど撮影した第2被写体画像の背景の範囲と変わっているかもしれず、撮影者が変わることもある。その場合、後で撮影した背景の範囲と、表示される合成画像の背景の範囲とが一致しないので、撮影者などにとって違和感が出てくる。
【0051】
さらに、上記の第2被写体画像の撮影から合成画像の表示をリアルタイムに繰り返すとすると、第2被写体画像を撮影画像に更新し続けているにも関わらず、合成画像の背景の範囲は第1被写体の背景の範囲のままなので、この違和感は一層増幅される。
【0052】
本発明に係る画像合成装置は、上記の課題を解決するために、前記重ね画像生成手段において、基準画像と補正した画像とを、それぞれ所定の透過率で重ねてもよい。
【0053】
上記の構成において、「所定の透過率」は、固定された値でもよいし、領域に応じて変化させる値や、領域の境界付近で徐々に変化させる値などでもよい
前記重ね画像生成手段は、重ね画像の画素位置を決め、基準画像上の画素位置の画素値と補正した他の画像上の画素位置の画素値とを得て、その二つの画素値を所定の透過率によって掛け合わせた値を重ね画像の画素値とする。この処理を重ね画像の全ての画素位置で行う。
【0054】
また、透過率を画素位置によって変えれば、場所によって基準画像の割合を強くしたり、補正画像の割合を強くしたりできる。
【0055】
これを使って、例えば、補正画像中の被写体領域だけを基準画像に重ねる時、被写体領域内は不透明(すなわち補正画像中の被写体の画像そのまま)で重ね、被写体領域周辺は被写体領域から離れるに従い基準画像の割合が強くなるように重ねる。すると、被写体領域、すなわち抽出した被写体の輪郭が間違っていたとしても、その周辺の画素は、補正画像から基準画像に徐々に変わっているので、間違いが目立たなくなるという効果が出てくる。
【0056】
また、例えば被写体領域だけを半分の透過度で重ねる、などの合成表示をすることで、表示されている画像のどの部分が以前に撮影した合成対象部分で、どの部分が今撮影している画像なのかをユーザーや被写体が判別しやすくなるという効果も出てくる。
【0057】
また、人間は、常識(画像理解)を使うことで、画像中の背景部分と被写体部分(輪郭)を区別する能力を通常、持っている。被写体領域を半分の透過度で重ねて表示しても、その能力は一般に有効である。
【0058】
従って、被写体領域を半分の透過度で重ねて表示することで、複数の被写体の領域が重なっている場合でも、それぞれの被写体の領域を前記能力で区別することができ、それらが合成画像上で位置的に重なっているかどうかを容易に判断することができる。
【0059】
第1被写体画像と第2被写体画像を左右に並べて見比べることでも重なりがあるかどうかを判断することは不可能ではないが、その際は、それぞれの画像中の被写体領域を前記能力で区別し、それぞれの画像の背景部分の重なりを考慮して、区別した被写体領域同士が重なるかどうかを頭の中で計算して判断しなければいけない。この一連の作業を頭の中だけで正確に行うことは、合成画像中の被写体領域を区別する先の方法と比べると、難しい。
【0060】
つまり、背景部分が重なるような位置合わせを機械に行わせることで、人間の高度な画像理解能力を使って、被写体領域同士が重なっているかどうかを判断し易い状況を作り出しているといえる。このように、被写体領域を半分の透過度で重ねて表示することで、被写体同士の重なりなどがある場合も、今撮影している被写体の位置を判別しやすくなるという効果も出てくる。
【0061】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0062】
本発明に係る画像合成装置は、上記の課題を解決するために、前記重ね画像生成手段において、基準画像と補正した画像の間の差分画像中の差のある領域を、元の画素値と異なる画素値の画像として生成してもよい。
【0063】
ここで、「差分画像」とは、二つの画像中の同じ位置の画素値を比較して、その差の値を画素値として作成する画像のことである。一般には、差の値は絶対値をとることが多い。
【0064】
「元の画素値と異なる画素値」とは、例えば、透過率を変えて半透明にしたり、画素値の明暗や色相などを逆にして反転表示させたり、赤や白、黒などの目立つ色にしたり、などを実現するような画素値である。また、領域の境界部分と内部とで、前述したように画素値を変えてみたり、境界部分を点線で囲ってみたり、点滅表示(時間的に画素値を変化させる)させてみたり、というような場合も含む。
【0065】
上記の構成によれば、基準画像と補正した他の画像との間で、同じ画素位置の画素値を得て、その差がある場合はその画素位置の重ね画像の画素値を他の領域とは異なる画素値とする。この処理を全ての画素位置で行うことで、差分部分の領域を元の画素値と異なる画素値の画像として生成することができる。
【0066】
これによって、二つの画像間で一致しない部分がユーザーに分かりやすくなるという効果が出てくる。例えば、第1や第2の被写体の領域は、基準画像上と補正画像上では、片方は被写体の画像、他方は背景部分の画像となるので、差分画像中の差のある領域として抽出される。抽出された領域を半透明にしたり、反転表示したり、目立つような色の画素値とすることで、被写体の領域がユーザーに分かりやすくなるという効果が出てくる。
【0067】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0068】
本発明に係る画像合成装置は、上記の課題を解決するために、基準画像と補正した画像の間の差分画像中から、第1の被写体の領域と第2の被写体の領域を抽出する被写体領域抽出手段を有し、前記重ね画像生成手段において、基準画像と補正した画像とを重ねる代わりに、基準画像または補正した画像と前記被写体領域抽出手段から得られる領域内の画像とを重ねる。
【0069】
ここで、「被写体の領域」とは、被写体が背景と分離される境界で区切られる領域である。例えば、第1被写体画像中で人物が服や物などを持っていて、第2被写体画像中でそれらが現れないのならば、それらも被写体であり、被写体領域に含まれる。なお、被写体の領域は、必ずしも繋がった一塊の領域とは限らず、複数の領域に分かれていることもある。
【0070】
「前記被写体領域抽出手段から得られる領域内の・・・画像を重ねる」とは、その領域以外は何も画像を生成しないということではなく、それ以外の領域は基準画像などで埋めることを意味する。
【0071】
背景部分は一致するように補正しているのだから、差分として現れるのは主に被写体部分となる。従って、被写体領域抽出手段で、差分画像に含まれている被写体領域を抽出することができる。このとき、差分画像からノイズなどを除去する(例えば、差分の画素値が閾値以下のものを除く)などの処理を施すと、被写体領域をより正確に抽出することができる。
【0072】
重ね画像を生成する際、各画素位置の画素値を決めるが、その画素位置が被写体領域抽出手段から得られる被写体領域内の場合のみ、被写体の画像を重ねるようにする。
【0073】
これによって、基準画像上に、補正された被写体画像中の被写体領域のみを合成することできるという効果が出てくる。あるいは、補正された被写体画像上に、基準画像中の被写体領域のみを合成することができるという効果も出てくる。
【0074】
なお、重ね画像生成手段における被写体領域の透過率を変える処理と組み合わせることで、どの領域を合成しようとしているかがユーザーに分かり易くなり、合成の結果として被写体同士に重なりなどが生じる場合には、それもさらに分かり易くなるという効果が出てくる。さらに、それによって、重なりが起きないように撮影を補助することができるという効果が出てくる。
【0075】
なお、重なりがある場合は、被写体やカメラを動かすなどして、重なりの無い状態で撮影し直すのが良い訳だが、この場合の補助とは、例えば、重なりが起きるかどうかをユーザーに認識し易くすることや、どのくらい被写体やカメラを動かせば重なりが解消できそうかを、ユーザーが判断する材料(ここでは合成画像)を与えること、などになる。
【0076】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0077】
本発明に係る画像合成装置の前記被写体領域抽出手段は、上記の課題を解決するために、第1被写体画像中あるいは補正された第1被写体画像中から第1の被写体の領域内の画像および第2の被写体の領域内の画像を抽出すると共に、第2被写体画像中あるいは補正された第2被写体画像中から第1の被写体の領域内の画像および第2の被写体の領域内の画像を抽出し、さらに皮膚色を基準として第1の被写体の画像および第2の被写体の画像を選別してもよい。
【0078】
上記の構成において、被写体領域抽出手段は、差分画像から抽出した被写体領域が、第1の被写体の領域あるいは第2の被写体の領域であることは分かるが、個々の被写体の領域が、第1の被写体の領域なのか第2の被写体の領域なのかは分からない。言い方を変えれば、その領域が示している被写体の画像は、第1被写体画像中に存在するのか、あるいは第2被写体画像中に存在するのか分からない、ということになる。
【0079】
そこで、被写体が人物であることが分かっているならば、個々の領域中の画素の色を、第1被写体画像(基準画像)と補正された第2被写体画像、または第2被写体画像(基準画像)と補正された第1被写体画像とでそれぞれ調べる。この場合、いずれにしても、基準画像と補正された画像とのそれぞれについて、被写体領域抽出手段が第1の被写体の領域内の画像および第2の被写体の領域内の画像を抽出するから、合計4つの画像部分が抽出されることになる。
【0080】
この抽出した4つの画像部分の中には、第1の被写体の画像部分、第2の被写体の形をした背景部分、第1の被写体の形をした背景部分、第2の被写体の画像部分とが含まれている。そこで、皮膚色を基準にすることで、皮膚色またはそれに近い色を持つ第1の被写体および第2の被写体の各画像部分を選り分けることができる。
【0081】
これによって、抽出した画像部分がどちらの被写体であるかを自動的に簡単に判別できる効果が出てくる。
【0082】
本発明に係る画像合成装置は、上記の課題を解決するために、前記被写体領域抽出手段は、第1被写体画像中あるいは補正された第1被写体画像中から第1の被写体の領域内の画像および第2の被写体の領域内の画像を抽出すると共に、第2被写体画像中あるいは補正された第2被写体画像中から第1の被写体の領域内の画像および第2の被写体の領域内の画像を抽出し、さらにその各領域外の画像の特徴を基準として第1の被写体の画像および第2の被写体の画像を選別してもよい。
【0083】
上記の構成において、被写体領域抽出手段が4つの画像部分を抽出する点は、前述のとおりである。但し、第1の被写体および第2の被写体の各画像部分を選り分ける基準として、前記のように皮膚色を使うのではなく、各領域外の画像の特徴を使う。
【0084】
ここで、「特徴」とは、着目した領域の画像の持つ性質、属性などであり、特徴量として数値化して表現できる性質が好ましい。特徴量としては、例えば、各色の画素値や、その色相、彩度、明度のほか、画像の模様や構造を表す統計量として、同時生起行列や差分統計量、ランレングス行列、パワースペクトル、それらの第2次統計量、高次統計量などがある。
【0085】
個々の領域中、すなわち抽出した画像部分の特徴量を、基準画像と補正された画像とでそれぞれ求める。またその領域の周囲の領域の特徴量も、基準画像と補正された画像とでそれぞれ求める。領域中の特徴量とその周囲の領域の特徴量の差を、第1被写体画像と第2被写体画像で比較し、差が大きい方を被写体領域の画像とする。
【0086】
これによって、抽出した画像部分がどちらの被写体であるかを自動的に簡単に判別できる効果が出てくる。
【0087】
本発明に係る画像合成装置は、上記の課題を解決するために、前記被写体領域抽出手段から得られる第1の被写体あるいは第2の被写体の領域の数が、合成する被写体の数として設定された値と一致しない時に、第1の被写体の領域と第2の被写体の領域が重なっていると判断する重なり検出手段を有することを特徴とする。
【0088】
上記の構成において、「第1の被写体あるいは第2の被写体の領域」とは、差分画像などから抽出される被写体の領域で、第1の被写体の領域かあるいは第2の被写体の領域かの区別がついていなくてもよい領域である。
【0089】
「合成する被写体」とは、合成処理の過程で求められる被写体のことではなく、実際に存在する被写体のことであり、ユーザーが合成しようとしている被写体のことである。但し、上述した通り、合成の処理の単位としてまとめて扱うものは一つの「被写体」なので、1つの被写体が複数の人物であることもありえる。
【0090】
また、被写体の数は画像合成装置に固定的に設定しておく形態でもよいが、使い勝手としては、重なり検出手段が重なり検出を行う以前に、撮影者等のユーザーの指示に基づいて画像合成装置に設定される形態とすることが好ましい。
【0091】
差分画像から被写体領域抽出手段によって抽出された被写体領域は、被写体同士が重なっていなければ、互いに分離しており、被写体同士が重なっていれば、第1の被写体の領域と第2の被写体の領域とは、連続した領域として一塊に統合されている。従って、抽出された被写体の領域の数と被写体の数(設定値)とを重なり検出手段が比較し、一致すれば被写体同士の重なりは無く、一致しなければ重なりがあると判断する。
【0092】
その判断結果は、重なりの有無を合成画面やランプなどで撮影者や被写体に通知、警告するのに利用することができる。
【0093】
これによって、被写体同士が重なり合っている部分があるかどうかをユーザーに判別させやすくすることができるという効果が出てくる。それによって、重なりが起きないように撮影を補助する効果については、前述したものと同様である。
【0094】
本発明に係る画像合成装置は、上記の課題を解決するために、前記重なり検出手段において重なりが検出される時、重なりが存在することを、ユーザーあるいは被写体あるいは両方に警告する重なり警告手段を有してもよい。
【0095】
ここで、「警告」には、表示手段などに文字や画像で警告することも含まれるし、ランプなどによる光やスピーカなどによる音声、バイブレータなどによる振動など、ユーザーや被写体が感知できる方法ならば何でも含まれる。
【0096】
これによって、被写体同士が重なり合っている場合に、重なり警告手段の動作によって警告されるので、ユーザーがそれに気づかずに撮影/記録したり合成処理したりということを防ぐことができ、さらに被写体にも位置調整等が必要であることを即時に知らせることができるという撮影補助の効果が出てくる。
【0097】
本発明に係る画像合成装置は、上記の課題を解決するために、前記重なり検出手段において、重なりが検出されない時、重なりが存在しないことを、ユーザーあるいは被写体あるいは両方に通知するシャッターチャンス通知手段を有してもよい。
【0098】
ここで、「通知」には、「警告」同様、ユーザーや被写体が感知できる方法ならば何でも含まれる。
【0099】
これによって、被写体同士が重なり合っていない時をユーザーが知ることができるので、撮影や撮影画像記録、合成のタイミングをそれに合わせて行えば、被写体同士が重ならずに合成することができるという撮影補助の効果が出てくる。
【0100】
また、被写体にも、シャッターチャンスであることを通知できるので、ポーズや視線などの備えを即座に行えるという撮影補助の効果も得られる。
【0101】
本発明に係る画像合成装置は、上記の課題を解決するために、被写体や風景を撮像する撮像手段を有し、前記重なり検出手段で重なりが検出されない時に、前記撮像手段から得られる画像を第1被写体画像、または第2被写体画像として記録する指示を生成する自動シャッター手段を有してもよい。
【0102】
上記の構成において、撮影画像を第1被写体画像、第2被写体画像として記録するというのは、例えば、主記憶や外部記憶に記録するなどで実現される。したがって、自動シャッター手段は、第1の被写体の領域と第2の被写体の領域とに重なりが無いという信号を重なり検出手段から入力したときに、主記憶や外部記憶に対する記録制御処理の指示を出力する。
【0103】
そして、背景補正量算出手段や重ね画像生成手段は、主記憶や外部記憶に記録されている画像を読み込むことで、第1被写体画像、第2被写体画像を得ることができるようになる。
【0104】
なお、自動シャッター手段が自動的に指示を出しても、即座に画像が記録されるとは限らない。例えば、同時にシャッターボタンも押されているとか、自動記録モードになっているなどの状態でないと記録されないようにしてもよい。
【0105】
これによって、被写体同士が重なり合っていない時に自動的に撮影が行われるので、ユーザー自身が重なりがあるかどうかを判別してシャッターを押さなくても良いという撮影補助の効果が出てくる。
【0106】
本発明に係る画像合成装置は、上記の課題を解決するために、被写体や風景を撮像する撮像手段を有し、前記重なり検出手段で重なりが検出される時に、前記撮像手段から得られる画像を、第1被写体画像、あるいは第2被写体画像として記録することを禁止する指示を生成する自動シャッター手段を有してもよい。
【0107】
上記の構成によれば、自動シャッター手段は、重なり検出手段から重なりがあるという信号を得たら、撮像手段から得られる画像を主記憶や外部記憶などに記録することを禁止する指示を出力する。この結果、例えば、シャッターボタンが押されたとしても、撮像手段から得られる画像は記録されない。なお、この禁止処理は、自動禁止モードになっているなどの状態でないと行われないようにしてもよい。
【0108】
これによって、被写体同士が重なり合ってる時は撮影が行われないので、ユーザーが誤って重なりがある状態で撮影/記録してしまうことを防ぐ撮影補助の効果が出てくる。
【0109】
本発明に係る画像合成方法は、上記の課題を解決するために、背景と第1の被写体とを含む画像である第1被写体画像と、上記背景の少なくとも一部と第2の被写体とを含む画像である第2被写体画像との間での、背景部分の相対的な移動量、回転量、拡大縮小率、歪補正量のいずれかもしくは組み合わせからなる補正量を算出する、あるいは予め算出しておいた補正量を読み出す背景補正量算出ステップと、第1被写体画像、第2被写体画像のどちらかを基準画像とし、他方の画像を被写体以外の背景の部分が少なくとも一部重なるように前記背景補正量算出ステップから得られる補正量で補正し、基準画像と補正した画像を重ねた画像を生成する重ね画像生成ステップと、を有する。
【0110】
これによる種々の作用効果は、前述したとおりである。
【0111】
本発明に係る画像合成プログラムは、上記の課題を解決するために、上記画像合成装置が備える各手段として、コンピュータを機能させてもよい。
【0112】
本発明に係る画像合成プログラムは、上記の課題を解決するために、上記画像合成方法が備える各ステップをコンピュータに実行させてもよい。
【0113】
本発明に係る記録媒体は、上記の課題を解決するために、上記画像合成プログラムを記録してもよい。
【0114】
これにより、上記記録媒体、またはネットワークを介して、一般的なコンピュータに画像合成プログラムをインストールすることによって、該コンピュータを用いて上記の画像合成方法を実現する、言い換えれば、該コンピュータを画像合成装置として機能させることができる。
【0115】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【0116】
まず、言葉の定義について説明しておく。
【0117】
「第1の被写体」、「第2の被写体」とは、合成を行おうとしている対象であり、一般には人物であることが多いが物などの場合もある。厳密には、「被写体」は、第1被写体画像と第2被写体画像との間で、背景部分が少なくとも一部重なるようにした時に、画素値が一致しない領域、すなわち変化がある領域は全て「被写体の領域」となる可能性を持つ。但し、背景部分で、風で木の葉が揺れたなどの小さな変化でも変化がある領域となってしまうので、小さな変化や小さな領域はある程度無視する方が好ましい。
【0118】
なお、例えば被写体が人物の場合、被写体は必ずしも一人であるとは限らず、複数の人物をまとめて「第1の被写体」や「第2の被写体」とする場合もある。つまり、複数人であっても、合成の処理の単位としてまとめて扱うものは一つの「被写体」となる。
【0119】
なお、人物でなく、物であっても同様である。また、被写体は、必ずしも一つの領域であるとは限らず、複数の領域からなる場合もある。「第1」、「第2」は、異なるコマ画像として単に区別する為につけたものであり、撮影の順番などを表すものではなく、本質的な違いはない。また、例えば、人物が服や物などを持っていて、「第1の被写体または第2の被写体を含まない背景だけの画像」にそれらが現れないのならば、それらも被写体に含まれる。
【0120】
「第1被写体画像」、「第2被写体画像」は、上記の「第1の被写体」、「第2の被写体」を含む別々の画像であり、一般には、カメラなどでその被写体を別々に撮影した画像である。但し、画像上に被写体のみしか写っておらず、互いに共通する背景部分が全く写っていない場合は、その共通する背景部分を元にした位置合わせができないので、合成に適さない。したがって、少なくとも一部は(合成した被写体の周囲を自然にするために、より好ましくは、合成しようとする被写体の周囲において)互いに共通する背景部分が写っている必要がある。また、通常は、第1被写体画像、第2被写体画像は、同じ背景を使って、すなわちカメラをあまり動かさないで撮影する場合が多い。
【0121】
「背景部分」とは、第1被写体画像、第2被写体画像から「第1の被写体」、「第2の被写体」をそれぞれ除いた部分である。
【0122】
「移動量」は、平行移動させる量だが、回転や拡大縮小の中心の対応点の移動量と言ってもよい。
【0123】
「歪補正量」とは、カメラやレンズの位置や方向が変わったことによる撮影画像の変化のうち、平行移動、回転、拡大縮小では補正できない残りの変化を補正する為の補正量である。例えば、高い建物を撮影した時に、上の方が遠近法の効果により同じ大きさであっても小さく写ってしまう「あおり」などとよばれる効果などを補正する場合などがこれに含まれる。
【0124】
「重ね画像生成手段」は、重ね画像を生成するが、必ずしも一つの画像として生成しなくてもよく、他の手段との協働で合成したかのように見せる処理を行うのでも構わない。例えば、表示手段上にある画像を表示する際、その画像に上書きする形で別の画像を一部表示すれば、見た目には2つの画像から合成画像を生成し、その合成画像を表示しているかのように見えるが、実際は、2つの画像がそれぞれ存在するだけで、合成画像は存在していない。
【0125】
「画素値」とは、画素の値であり、一般に所定のビット数を使って表される。例えば、白黒二値の場合は1ビットで表現され、256階調のモノクロの場合、8ビット、赤、緑、青の各色256階調のカラーの場合、24ビットで表現される。カラーの場合、赤、緑、青の光の3原色に分解されて表現されることが多い。
【0126】
なお、似た言葉として、「濃度値」、「輝度値」などがある。これは目的によって使い分けているだけであり、「濃度値」は主に画素を印刷する場合、「輝度値」は主にディスプレイ上に表示する場合に使われるが、ここでは目的は限定していないので、「画素値」と表現することにする。
【0127】
「透過率」とは、複数の画素の画素値に所定の割合の値を掛けて、その和を新たな画素値とする処理において、掛ける「所定の割合の値」のことである。通常、0以上、1以下の値である。また、1つの新たな画素値で使われる各画素の透過率の和は1とする場合が多い。「透過率」でなく、「不透明度」と言う場合もある。「透明度」は1から「不透明度」を引いた値である。
【0128】
「所定の透過率」には、固定された値、領域に応じて変わる値、領域の境界付近で徐々に変わる値なども含まれる。
【0129】
「差分画像」とは、二つの画像中の同じ位置の画素値を比較して、その差の値を画素値として作成する画像のことである。一般には、差の値は絶対値をとることが多い。
【0130】
「元の画素値と異なる画素値」とは、例えば、透過率を変えて半透明にしたり、画素値の明暗や色相などを逆にして反転表示させたり、赤や白、黒などの目立つ色にしたり、などを実現するような画素値である。また、領域の境界部分と内部とで、上記のように画素値を変えてみたり、境界部分を点線で囲ってみたり、点滅表示(時間的に画素値を変化させる)させてみたり、というような場合も含む。
【0131】
「被写体の領域」とは、被写体が背景と分離される境界で区切られる領域である。例えば、第1被写体画像中で人物が服や物などを持っていて、第2被写体画像中でそれらが現れないのならば、それらも被写体であり、被写体の領域に含まれる。なお、被写体の領域は、必ずしも繋がった一塊の領域とは限らず、複数の領域に分かれていることもある。
【0132】
「前記被写体領域抽出手段から得られる領域のみを重ねる」とは、その領域以外は何も画像を生成しないということではなく、それ以外の領域は基準画像などで埋めることを意味する。
【0133】
「特徴」とは、その領域の画像の持つ性質などであり、特徴量として数値化して表現できる性質が好ましい。特徴量としては、例えば、各色の画素値や、その色相、彩度、明度のほか、画像の模様や構造を表す統計量として、同時生起行列や差分統計量、ランレングス行列、パワースペクトル、それらの第2次統計量、高次統計量などがある。
【0134】
「第1の被写体あるいは第2の被写体の領域」とは、差分画像などから抽出される被写体の領域で、第1の被写体の領域かあるいは第2の被写体の領域かの区別がついていなくてもよい領域である。
【0135】
「合成しようとしている被写体」とは、合成処理の過程で求められる被写体のことではなく、実際に(カメラの前に)存在する被写体のことであり、第1被写体画像および第2被写体画像のどちらか一方に定めた基準画像に対して、ユーザーが合成しようとしている被写体のことである。但し、上述した通り、合成の処理の単位としてまとめて扱うものは一つの「被写体」なので、1つの被写体が複数の人物/物であることもありえる。
【0136】
「警告」には、表示手段などに文字や画像を表示して警告することも含まれるし、ランプなどによる光やスピーカなどによる音声、バイブレータなどによる振動など、ユーザーや被写体が感知できる方法ならば何でも含まれる。
【0137】
「通知」は、「警告」同様、ユーザーや被写体が感知できる方法ならば何でも含まれる。
【0138】
「フレーム(枠)」とは、画像全体の外形輪郭をさす。被写体が画像の外形輪郭に一部かかっているような場合、フレーム(枠)にかかる、とか、フレーム(枠)から切れる、などと表現することもある。
【0139】
図1は、本発明の実施の一形態に係る画像合成方法を実施する画像合成装置を示す構成図である。
【0140】
すなわち、画像合成装置の要部を、撮像手段1、第1被写体画像取得手段2、第2被写体画像取得手段3、背景補正量算出手段4、補正画像生成手段5、差分画像生成手段6、被写体領域抽出手段7、重なり検出手段8、重ね画像生成手段9、重ね画像表示手段10、重なり警告手段11、シャッターチャンス通知手段12、自動シャッター手段13の主要な機能ブロックに展開して示すことができる。
【0141】
図2は、図1の各手段1〜13を具体的に実現する装置の構成例である。
【0142】
CPU(central processing unit)70は、背景補正量算出手段4、補正画像生成手段5、差分画像生成手段6、被写体領域抽出手段7、重なり検出手段8、重ね画像生成手段9、重ね画像表示手段10、重なり警告手段11、シャッターチャンス通知手段12、自動シャッター手段13として機能し、これら各手段4〜13の処理手順が記述されたプログラムを主記憶74、外部記憶75、通信デバイス77を介したネットワーク先などから得る。
【0143】
なお、撮像手段1、第1被写体画像取得手段2、第2被写体画像取得手段3、についても、撮像素子や、撮像素子が出力する画像データの各種処理に対する内部制御などの為にCPUなどを使っている場合もある。
【0144】
また、CPU70は、CPU70を含めてバス79を通じ相互に接続されたディスプレイ71、撮像素子72、タブレット73、主記憶74、外部記憶75、シャッターボタン76、通信デバイス77、ランプ78、スピーカ80とデータのやりとりを行ないながら、処理を行なう。
【0145】
なお、データのやりとりは、バス79を介して行う以外にも、通信ケーブルや無線通信装置などデータを送受信できるものを介して行ってもよい。また、各手段1〜13の実現手段としては、CPUに限らず、DSP(digital signal processor)や処理手順が回路として組み込まれているロジック回路などを用いることもできる。
【0146】
ディスプレイ71は、通常はグラフィックカードなどと組み合わされて実現され、グラフィックカード上にVRAM(video random access memory)を有し、VRAM上のデータを表示信号に変換して、モニターなどのディスプレイ(表示/出力媒体)に送り、ディスプレイは表示信号を画像として表示する。
【0147】
撮像素子72は、風景等を撮影して画像信号を得るデバイスであり、通常、レンズなどの光学系部品と受光素子およびそれに付随する電子回路などからなる。ここでは、撮像素子72は、出力信号をA/D変換器などを通して、デジタル画像データに変換する所まで含んでいるとし、バス79を通じて、第1被写体画像取得手段2、第2被写体画像取得手段3などに撮影した画像の画像データを送るとする。撮像素子として一般的なデバイスとしては、例えば、CCD(charge coupled device)などがあるが、その他にも風景等を画像データとして得られるデバイスならば何でも良い。
【0148】
ユーザの指示を入力する手段として、タブレット73、シャッターボタン76などがあり、ユーザの指示はバス79を介して各手段1〜13に入力される。この他にも各種操作ボタン、マイクによる音声入力など、様々な入力手段が使用可能である。タブレット73は、ペンとペン位置を検出する検出機器からなる。シャッターボタン76は、メカニカルもしくは電子的なスイッチなどからなり、ユーザーがボタンを押すことで、通常は、撮像素子72で撮影された画像を主記憶74や外部記憶75などに記録したりする一連の処理を開始させるスタート信号を生成する。
【0149】
主記憶74は、通常はDRAM(dynamic random access memory)やフラッシュメモリなどのメモリデバイスで構成される。なお、CPU内部に含まれるメモリやレジスタなども一種の主記憶として解釈してもよい。
【0150】
外部記憶75は、HDD(hard disk drive)やPC(personal computer) カードなどの装脱着可能な記憶手段である。あるいはCPU70とネットワークを介して有線または無線で接続された他のネットワーク機器に取り付けられた主記憶や外部記憶を外部記憶75として用いることもできる。
【0151】
通信デバイス77は、ネットワークインターフェースカードなどにより実現され、無線や有線などにより接続された他のネットワーク機器とデータをやりとりする。
【0152】
スピーカ80は、バス79などを介して送られて来る音声データを音声信号として解釈し、音声として出力する。出力される音声は、単波長の単純な音の場合もあるし、音楽や人間の音声など複雑な場合もある。出力する音声が予め決まっている場合、送られて来るデータは音声信号ではなく、単なるオン、オフの動作制御信号だけという場合もある。
【0153】
次に、図1の各手段1〜13を各手段間のデータ授受の観点から説明する。
【0154】
なお、各手段間でのデータのやりとりは、特に注釈なく「**手段から得る」、「**手段へ送る(渡す)」という表現をしている時は、主にバス79を介してデータをやりとりしているとする。その際、直接各手段間でデータのやりとりをする場合もあれば、主記憶74や外部記憶75、通信デバイス77を介したネットワークなどを間に挟んでデータをやりとりする場合もある。
【0155】
撮像手段1は主に撮像素子72からなり、撮像した風景などを画像データとして第1被写体画像取得手段2、第2被写体画像取得手段3に送る。
【0156】
第1被写体画像取得手段2は、例えば撮像手段1、主記憶74、および/または外部記憶75などで構成され、第1被写体画像を、撮像手段1、主記憶74、外部記憶75、および/または通信デバイス77を介したネットワーク先などから得る。なお、第1被写体画像取得手段2は、内部制御などの為にCPUなどを含む場合もある。
【0157】
撮像手段1を使う場合は、第1の被写体が含まれる現在の風景(第1被写体画像)を撮像素子72で撮影することになり、通常はシャッターボタン76などを押したタイミングなどで撮影し、撮影された画像は、主記憶74、外部記憶75、および/または通信デバイス77を介したネットワーク先などに記録される。
【0158】
一方、第1被写体画像取得手段2が、主記憶74、外部記憶75、および/または通信デバイス77を介したネットワーク先などから第1被写体画像を得る場合は、既に撮影されて予め用意してある画像を読み出すことになる。なお、通信デバイス77を介したネットワーク先などにカメラがあり、ネットワークを通して撮影する場合もある。
【0159】
第1被写体画像は、背景補正量算出手段4、補正画像生成手段5、差分画像生成手段6、被写体領域抽出手段7、および/または重ね画像生成手段9などに送られる。
【0160】
第2被写体画像取得手段3は、例えば撮像手段1、主記憶74、および/または外部記憶75などで構成され、第2の被写体が含まれる画像(以降、「第2被写体画像」と呼ぶ)を、撮像手段1、主記憶74、外部記憶75、および/または通信デバイス77を介したネットワーク先などから得る。なお、第2被写体画像取得手段3は、内部制御などの為にCPUなどを含む場合もある。画像の中身が違う以外は、画像の取得方法に関しては、第1被写体画像取得手段2と同様である。
【0161】
第2被写体画像は、背景補正量算出手段4、補正画像生成手段5、差分画像生成手段6、被写体領域抽出手段7、および/または重ね画像生成手段9などに送られる。
【0162】
背景補正量算出手段4としてのCPU70は、第1被写体画像および第2被写体画像中の被写体以外の背景の相対的な移動量、回転量、拡大縮小率、歪補正量のいずれかもしくは任意の組み合わせからなる補正量を算出する。第1被写体画像および第2被写体画像の一方(基準画像)と他方の画像との間の補正量が最低限求まればよい。
【0163】
背景補正量算出手段4は、算出した補正量を補正画像生成手段5に送る。なお、予め算出しておいた補正量を背景補正量算出手段4が読み出す場合は、主記憶74、外部記憶75、および/または通信デバイス77を介したネットワーク先などから補正量を読み出すことになる。
【0164】
補正画像生成手段5としてのCPU70は、第1被写体画像、第2被写体画像のどちらかを基準画像とし、他方の画像を被写体以外の背景の部分が重なるように背景補正量算出手段4から得られる補正量で補正した画像(以下、補正画像と呼ぶ)を生成し、差分画像生成手段6および重ね画像生成手段9へ送る。なお、予め生成しておいた補正画像を補正画像生成手段5が読み出す場合は、主記憶74、外部記憶75、および/または通信デバイス77を介したネットワーク先などから読み出すことになる。
【0165】
差分画像生成手段6としてのCPU70は、補正画像生成手段5で決めた基準画像と補正画像生成手段5から得られる補正画像との間の差分画像を生成して、生成した差分画像を被写体領域抽出手段7および重ね画像生成手段9へ送る。
【0166】
被写体領域抽出手段7としてのCPU70は、差分画像生成手段6から得られる差分画像から第1、第2の被写体の領域を抽出して、抽出した領域を重なり検出手段8および重ね画像生成手段9へ送る。
【0167】
重なり検出手段8としてのCPU70は、被写体領域抽出手段7から得られる第1、第2の被写体の領域から第1、第2の被写体同士の重なりを検出して、重なりが存在するかどうかの情報と重なり領域の情報とを、重ね画像生成手段9、重なり警告手段11、シャッターチャンス通知手段12および自動シャッター手段13に送る。
【0168】
重ね画像生成手段9としてのCPU70は、第1被写体画像取得手段2から得られる第1被写体画像、第2被写体画像取得手段3から得られる第2被写体画像、補正画像生成手段5から得られる補正画像を、全部あるいは一部重ねた画像を生成し、生成した画像を重ね画像表示手段10に送る。
【0169】
また、重ね画像生成手段9は、差分画像生成手段6から得られる差分画像画像中の差のある領域を、元の画素値と異なる画素値の画像として生成する場合もある。
【0170】
また、重ね画像生成手段9は、被写体領域抽出手段7から得られる第1の被写体と第2の被写体の領域のみを基準画像などに重ねる場合もある。
【0171】
また、重ね画像生成手段9は、重なり検出手段8から得られる重なりの領域を元の画素値と異なる画素値の画像として生成する場合もある。
【0172】
重ね画像表示手段10としてのCPU70は、重ね画像生成手段9から得られる重ね画像をディスプレイ71などに表示する。
【0173】
また、重ね画像表示手段10は、重なり警告手段11から得られる警告情報に応じて、警告表示を行う場合や、シャッターチャンス通知手段12から得られるシャッターチャンス情報に応じて、シャッターチャンスである旨の表示を行う場合や、自動シャッター手段13から得られるシャッター情報に応じて、自動シャッターが行われた旨の表示を行う場合もある。
【0174】
重なり警告手段11としてのCPU70は、重なり検出手段8から得られる重なり情報から、重なりが存在する場合、ユーザーあるいは被写体あるいは両方に重なりがあることを通知する。
【0175】
通知には、通知内容を文字などにして重ね画像表示手段10に送ってディスプレイ71に表示させたり、ランプ78を使って光で知らせたり、スピーカ80を使って音で知らせたりする等の種々の形態を採用できる。通知することができるのならば、それ以外のデバイスなどを使っても良い。
【0176】
シャッターチャンス通知手段12としてのCPU70は、重なり検出手段8から得られる重なり情報から、重なりが存在しない場合、ユーザーあるいは被写体あるいは両方に重なりが無いことを通知する。通知方法に関しては、重なり警告手段11の説明と同様である。
【0177】
自動シャッター手段13としてのCPU70は、重なり検出手段8から得られる重なり情報から、重なりが存在しない場合、第2被写体画像取得手段3に対し、撮像手段1から得られる画像を主記憶74や外部記憶75などに記録するように自動的に指示を出す。
【0178】
ここでは、撮像手段1から得られる画像は、第1被写体画像または第2被写体画像として主記憶74や外部記憶75などに最終的に記録、保存され、合成されるような使い方を主に想定している。例えば、第1の被写体を先に撮影した後で、第2の被写体を撮影するとするとき、第1被写体画像を撮像手段1から得た場合には、得る毎に記録、保存するが、第2被写体画像は撮像手段1から得られても、すぐには保存されない。
【0179】
すなわち、撮像手段1から得た画像を第2被写体画像とする場合、その得られた第2被写体画像と保存されている第1被写体画像とを使って、重なり検出などの処理を行い、重ね画像表示手段10などでの各種表示や警告、通知などの処理を行う、という一連の処理を繰り返す。そして、自動シャッター手段13により記録、保存を指示された時、第2被写体画像が最終的に記録、保存される。
【0180】
なお、自動シャッター手段13による指示が存在し、かつ、シャッターボタン143がユーザーにより押される場合に、第2被写体画像を記録、保存するようにしてもよい。
【0181】
また、自動シャッター手段13が、指示を出した結果、撮像画像が記録されたことをユーザーあるいは被写体あるいは両方に通知してもよい。通知方法に関しては、重なり警告手段11の説明と同様である。
【0182】
また、自動シャッター手段13としてのCPU70は、記録の指示を行うだけでなく、重なり検出手段8から得られる重なり情報から、重なりが存在する場合、第2被写体画像取得手段3に撮像手段1から得られる画像を主記憶74や外部記憶75などに記録するのを禁止するように自動的に指示を出す。この動作は、上述した自動記録する場合の逆となる。
【0183】
この場合、自動シャッター手段13による保存禁止の指示が存在する場合、シャッターボタン143がユーザーにより押されても、第2被写体画像は記録、保存されないことになる。
【0184】
図3(a)は、本発明に係る画像合成装置の背面からの外観例を示している。本体140上に表示部兼タブレット141、ランプ142、およびシャッターボタン143がある。
【0185】
表示部兼タブレット141は入出力装置(ディスプレイ71およびタブレット73等)および重ね画像表示手段10に相当する。表示部兼タブレット141上には、図3(a)のように、重ね画像生成手段9で生成された合成画像重なり警告手段11、シャッターチャンス通知手段12、自動シャッター手段13などからの通知/警告情報などが表示される。また、画像合成装置の各種設定メニューなどを表示して、タブレットを使って指やペンなどで設定を変更したりするのにも使われる。
【0186】
なお、各種設定などの操作手段として、タブレットだけでなく、ボタン類などがこの他にあってもよい。また、表示部兼タブレット141は、本体140に対する回転や分離などの方法を用いて、撮影者だけでなく、被写体側でも見られるようになっていてもよい。
【0187】
ランプ142は、重なり警告手段11、シャッターチャンス通知手段12または自動シャッター手段13などからの通知や警告に使われたりする。
【0188】
シャッターボタン143は、第1被写体画像取得手段2または第2被写体画像取得手段3が撮像手段1から撮影画像を取り込む/記録するタイミングを指示する為に主に使われる。
【0189】
また、この例では示していないが、内蔵スピーカなどを通知/警告手段として使ってもよい。
【0190】
図3(b)は、本発明に係る画像合成装置の前面からの外観例を示している。本体140前面にレンズ部144が存在する。レンズ部144は、撮像手段1の一部である。なお、図3(b)の例では示していないが、前面に被写体に情報(前記の通知や警告)を伝えられるように、表示部やランプ、スピーカなどがあってもよい。
【0191】
図4は、画像データのデータ構造例を説明する説明図である。画像データは画素データの2次元配列であり、「画素」は、属性として位置と画素値を持つ。ここでは画素値として光の3原色(赤、緑、青)に対応したR、G、Bの値を持つとする。図4の横に並んだR、G、Bの組で1画素のデータとなる。但し、色情報を持たないモノクロの輝度情報だけを持つ場合は、R、G、Bの代わりに輝度値を1画素のデータとして持つとする。
【0192】
位置はX−Y座標(x、y)で表す。図4では左上原点とし、右方向を+X方向、下方向を+Y方向とする。
【0193】
以降では説明の為、位置(x、y)の画素を「P(x、y)」と表すが、画素P(x、y)の画素値も「画素値P(x、y)」あるいは単に「P(x、y)」と表す場合もある。画素値がR、G、Bに分かれている場合、各色毎に計算は行うが、色に関する特別な処理でなければ、同じ計算処理をR、G、Bの値毎に行えばよい。従って、以降では共通した計算方法として「画素値P(x、y)」を使って説明する。
【0194】
図5は、本発明の実施の一形態に係る画像合成方法の一例を示すフローチャート図である。
【0195】
まずステップS1(以下、「ステップS」を「S」と略記する。)では、第1被写体画像取得手段2が、第1被写体画像を取得し、連結点P20(以下、「連結点P」を「P」と略記する)を経てS2へ処理が進む。第1被写体画像は、撮像手段1を使って撮影してもよいし、予め主記憶74、外部記憶75または通信デバイス77を介したネットワーク先などに用意してある画像を読み出してもよい。
【0196】
S2では、第2被写体画像取得手段3が、上記第1被写体画像と少なくとも一部共通する背景部分を持つ第2被写体画像を取得し、P30を経てS3へ処理が進む。ここでの処理は後で図13を用いて詳しく説明するが、第2被写体画像の取得方法自体は、第1被写体画像と同様である。なお、S1とS2の処理の順番は逆でも良いが、後に撮影する方を基準画像とすると、撮影時の合成画像の表示に違和感が少ない効果が出てくる。
【0197】
S3では、背景補正量算出手段4が、第1被写体画像および第2被写体画像から背景補正量を算出して、P40を経てS4へ処理が進む。第1被写体画像、第2被写体画像はそれぞれ、第1被写体画像取得手段2(S1)、第2被写体画像取得手段3(S2)から得られる。
【0198】
なお、以降、第1被写体画像、第2被写体画像を使う際、特にことわりの無い限り、これらの画像の取得元の手段/ステップはS3での取得元の手段/ステップと同じなので、以降はこれらの画像の取得元の手段/ステップの説明は省く。
【0199】
S3の処理の詳細は後で図14を用いて説明する。
【0200】
S4では、補正画像生成手段5が、背景補正量算出手段4から得た背景補正量を使って基準画像以外の第1被写体画像または第2被写体画像を補正し、差分画像生成手段6が、補正画像生成手段5で補正された画像と基準画像との間の差分画像を生成して、P50を経てS5へ処理が進む。S4の処理の詳細は後で図16を用いて説明する。
【0201】
S5では、被写体領域抽出手段7が、差分画像生成手段6(S4)から得られる差分画像から、第1、第2の被写体の領域(以降、第1被写体領域、第2被写体領域と呼ぶ)を抽出し、重なり検出手段8が被写体同士の重なりを検出して、P60を経てS6へ処理が進む。S5の処理の詳細は後で図18を用いて説明する。
【0202】
S6では、重なり警告手段11、シャッターチャンス通知手段12、自動シャッター手段13のうちの一つ以上の手段が、重なり検出手段8(S5)から得られる重なりに関する情報に応じて様々な処理を行い、P70を経てS7へ処理が進む。S6の処理の詳細は後で図20から図22を用いて説明する。
【0203】
S7では、重ね画像生成手段9が、第1被写体画像、第2被写体画像、およびそれらの内の基準画像ではない方の画像を補正画像生成手段5(S4)で補正した画像、被写体領域抽出手段7(S5)から得られる第1、第2被写体領域、重なり検出手段8(S6)から得られる第1、第2の被写体の重なりに関する情報などから、これら2枚の画像を重ねる「重ね画像」を生成して、P80を経てS8へ処理が進む。S7の処理の詳細は後で図23を用いて説明する。
【0204】
S7では、重ね画像表示手段10が、重ね画像生成手段9(S7)から得られる重ね画像をディスプレイ71などに表示して、処理を終了する。
【0205】
これらS1からS7の処理で、第1被写体画像、第2被写体画像を使って、第1の被写体と第2の被写体を1枚の画像上に合成し、また被写体同士の重なり具合に応じて様々な処理が行えるようになる。
【0206】
詳細な処理やその効果については、後で詳しく説明するとして、まず簡単な例で処理の概要を説明する。
【0207】
図6(a)はS1で得る第1被写体画像の例である。背景の手前、左側に第1の被写体たる人物(1)が立っている。分かりやすいように人物(1)の顔部分には「1」と記しておく。なお、今後、特にことわりなく「右側」「左側」といった場合、図上での「右側」「左側」という意味だとする。この方向は、撮影者/カメラから見た方向だと思えばよい。
【0208】
図7(a)はS2で得る第2被写体画像の例である。背景の手前、右側に第2の被写体たる人物(2)が立っている。分かりやすいように人物(2)の顔部分には「2」と記しておく。
【0209】
図7(c)は、図6(a)の第1被写体画像と図7(a)の第2被写体画像との間で背景補正量を求め、第1被写体画像を基準画像として、その背景補正量を用いて第2被写体画像を補正した画像である。
【0210】
補正された画像は実線の枠で囲われた範囲であり、補正のされ方が分かるように、元の図7(a)の第2被写体画像と図6(a)の第1被写体画像の範囲を図7(c)上に点線の枠で示してある。図7(a)の背景は、図6(a)の背景の少し左上側の風景を撮影して得られている。このため、図7(a)の第2被写体画像を図6(a)の第1被写体画像の背景と重なるように補正するには、図7(a)の少し右下側の風景を選択する必要がある。従って、図7(c)は、図7(a)より少し右下側の風景となるように補正されている。元の図7(a)の範囲は点線で示されている。図7(a)より右下側の風景の画像は存在しないので、図7(c)では右端の点線から右にはみ出した部分、および下端の点線から下にはみ出した部分が空白となっている。逆に図7(a)の左上側の部分は切り捨てられている。
【0211】
ここでは拡大縮小や回転などの補正はなく、単なる平行移動だけの補正結果になっている。すなわちS3で得られる背景補正量は、ここでは実線の枠と点線の枠のずれが示す平行移動量となる。
【0212】
図8(a)は、S4で、図6(a)の第1被写体画像と図7(c)の補正された第2被写体画像との間で生成した差分画像である。差分画像では差分量0の部分(すなわち、背景の一致部分)は黒い領域で示されている。差分がある部分は、被写体の領域内とノイズ部分であり、被写体の領域部分は背景部分と被写体部分の画像が重なり合った妙な画像になっている。(なお、補正によってどちらかの画像しか画素が存在しない領域(例えば図7(c)の右下側に位置する実線と点線の間の逆L字領域)は差分の対象からは外し、差分量は0としている)。
【0213】
S6の重なりに関する処理は様々な処理方法があるが、この例では重なりは検出されないので、ここでは説明を簡単にする為に特に処理は行わないことにしておく。
【0214】
図9(a)は、後述する図19(d)に示す第2被写体領域に相当する部分の画像を、図6(a)の第1被写体画像(基準画像)に重ねて(上書きして)生成した画像である。図6(a)と図7(a)の別々に写っていた被写体が同じ画像上に重なりなく並んでいる。重ね方に関しても、様々な処理方法があるので、後で詳しく説明する。図9(a)の画像が重ね画像表示手段10上に合成画像として表示される。
【0215】
これによって、別々に撮影された被写体を同時に撮影したかのような画像を合成できるようになる効果が出てくる。
【0216】
以上の説明により、処理の概要を一通り説明したが、S5で被写体領域同士で重なりがある場合のS6の処理例の概要について説明していないので、以降、簡単に触れておく。
【0217】
図10は、図7(a)とは別の第2被写体画像の例である。図7(a)と比べると、第2の被写体が同一の背景に対して少し左に位置している。なお、第1被写体画像は図6(a)と同じものを使うとする。
【0218】
図11(c)は、第1被写体領域と第2被写体領域との合わさった領域を示している。図中の領域202が第1被写体領域と第2被写体領域とで構成されている。ここでは、同じ背景に対する第1、第2の被写体の各位置の関係で、第1被写体領域と第2被写体領域とに重なりが生じたため、領域202が結合された領域として示されている。
【0219】
図12は、S6で重なりがある場合にS7で生成される重ね画像の一例を示した図である。領域202は、第1被写体領域と第2被写体領域とが結合された1つの領域として扱われるので、一括して半透明に表示されている。また、重ね画像に上書きして、第1の被写体と第2の被写体が重なっていることを示すメッセージが表示されている。
【0220】
この重ね画像(含むメッセージ)を表示することで、第1の被写体と第2の被写体が重なっていることが、ユーザーや被写体に分かりやすくなるという効果が出てくる。
【0221】
以上の説明により、S5で被写体領域同士で重なりがある場合のS6の処理例の概要について説明した。
【0222】
なお、これを典型的な利用シーン例で考えると、まず図6(a)のような第1の被写体をカメラ(画像合成装置)で撮影し、記録する。次に同じ背景で図7(a)のような第2の被写体を撮影する。
【0223】
なお、第1の被写体と第2の被写体の撮影は、第1の被写体と第2の被写体が交互に行うことで、第3者がいなくても二人だけでも撮影が可能である。同じ背景で撮影する為にはカメラは動かさない方が良いが、背景にあわせて補正するので、三脚などで固定までしなくても、手で大体同じ位置で同じ方向を向いて撮影すれば良い。なお、被写体の位置関係は図6(a)、図7(a)のような左右だけでなく、任意の位置関係でよい。
【0224】
そして、2つの画像を撮影した後、S3からS7の処理を行い、図9(a)や図12のような表示(や後で説明する警告/通知など)を行う。
【0225】
もし、被写体が重なっているなどの表示や通知がある場合、再度、S1からS7の処理を繰り返してもよい。すなわち第1被写体画像、第2被写体画像を撮影し、重ね画像を生成、表示などする。表示される処理結果に満足がいくまで何度でも繰り返せば良い。
【0226】
しかし、第2の被写体が位置を移動する場合などは、第1の被写体は必ずしも撮りなおさなくてもよく、第2の被写体だけ撮り直せば済むこともある。その場合は、S2からS7を繰り返せばよい。
【0227】
この場合、S2の第2被写体画像取得からS7の表示までを自動的に繰り返せば、すなわち第2被写体画像取得をシャッターボタンを押さずに動画を撮影するように連続的に取得し、処理、表示も含めて繰り返すようにすれば、カメラや第2の被写体の移動などに追従してリアルタイムに処理結果が確認できることになる。従って、第2の被写体の移動位置が適切かどうか(重なっていないかどうか)をリアルタイムに知ることができ、重なりが無い合成結果を得る為の第2の被写体の撮影が容易になるという利点が出てくる。
【0228】
なお、この繰り返し処理を開始するには、メニューなどから処理開始を選択するなどして、専用モードに入る必要がある。適切な移動位置になったらシャッターボタンを押すことで、第2被写体画像を決定して(記録し)、この繰り返し処理/専用モードを終了させればよい(終了といっても、最後の合成結果を得るS7までは処理を続けてもよい)。
【0229】
また、第1被写体画像が良くない場合、例えば、背景の真中に第1の被写体が位置し、第2の被写体をどう配置しても第1の被写体に重なってしまうか、重ならないようにすると第2の被写体が重ね画像からフレームアウトしてしまうような場合、S1の第1被写体画像の取得からやり直しても良い。
【0230】
以降では、上で説明した処理の詳細を説明する。
【0231】
図13は、図5のS2の処理、すなわち第2被写体画像を取得する処理の一方法を説明するフローチャート図である。
【0232】
P20を経たS2−1では、第2被写体画像取得手段3が、第2被写体画像を取得し、S2−2へ処理が進む。ここでの処理は、図5のS1の第1被写体画像の取得と取得方法自体は同様である。
【0233】
S2−2では、同手段3が、自動シャッター手段13から画像を記録するように指示があるかどうかを判断し、指示があればS2−3へ処理が進み、指示がなければP30へ抜ける。
【0234】
S2−3では、同手段3が、S2−1で取得した第2被写体画像を主記憶74、外部記憶75などに記録して、P30へ処理が抜ける。
【0235】
以上のS2−1からS2−3の処理で、図5のS2の処理が行われる。
【0236】
なお、自動シャッター手段13以外であっても、撮影者によって手動でシャッターボタンが押されたり、セルフタイマーでシャッターが切られた場合などにも撮影画像を記録してもよいが、それはS1、S2−1の処理に含まれるとする。
【0237】
図14は、図5のS3の処理、すなわち背景補正量を算出する処理の一方法を説明するフローチャート図である。
【0238】
背景補正量を算出する方法は色々考えられるが、ここではブロックマッチングを使った簡易的な手法について説明する。
【0239】
P30を経たS3−1では、背景補正量算出手段4が、第1被写体画像をブロック領域に分割する。図6(b)は図6(a)の第1被写体画像をブロック領域に分割した状態を説明する説明図である。点線で区切られた矩形が各ブロック領域である。左上のブロックを「B(1,1)」とし、その右が「B(1,2)」、下が「B(2,1)」というように表現することにする。図6(b)ではスペースの都合上、例えばB(1,1)のブロックではブロックの左上に「11」と記している。
【0240】
S3−2では、第1被写体画像のブロックが、第2被写体画像上でマッチングする位置を、同手段4が求めて、S3−3へ処理が進む。「(ブロック)マッチング」とは、この場合、第1被写体画像の各ブロックと最もブロック内の画像が似ているブロック領域を第2被写体画像上で探す処理である。
【0241】
説明の為、ブロックを定義する画像(ここでは第1被写体画像)を「参照画像」と呼び、似ているブロックを探す相手の画像(ここでは第2被写体画像)を「探索画像」と呼び、参照画像上のブロックを「参照ブロック」、探索画像上のブロックを「探索ブロック」と呼ぶことにする。参照画像上の任意の点(x、y)の画素値をPr(x、y)、探索画像上の任意の点(x、y)の画素値をPs(x、y)とする。
【0242】
なお、背景補正量は相対的なものなので、上記とは逆に、参照画像と探索画像を、第2被写体画像と第1被写体画像として良い。
【0243】
今、参照ブロックが正方形で1辺の大きさがm画素だとする。すると参照ブロックB(i,j)の左上の画素の位置は、
(m×(i−1),m×(j−1))
となり、参照ブロックB(i,j)の左上から画素数にして(dx、dy)離れた画素値は、
Pr(m×(i−1)+dx、m×(j−1)+dy)
となる。
【0244】
探索ブロックの左上位置を(xs、ys)とした時、参照ブロックB(i,j)と探索ブロックの類似度S(xs、ys)は次の2式で求められる。
【0245】
D(xs、ys;dx、dy)=|Ps(xs+dx、ys+dy)−Pr(m×(i−1)+dx、m×(j−1)+dy|
m−1 m−1
S(xs、ys)=Σ Σ D(xs、ys;dx、dy)
dx=0 dy=0
D(xs、ys;dx、dy)は、参照ブロックと探索ブロックの左上から(dx、dy)離れたそれぞれの画素値の間の差の絶対値である。そして、S(xs、ys)は、その差の絶対値をブロック内の全画素について足したものである。
【0246】
もし、参照ブロックと探索ブロックが全く同じ画像である(対応する画素値が全て等しい)場合、S(xs、ys)は0となる。似ていない部分が増えると、すなわち画素値の差が大きくなると、S(xs、ys)は大きな値となっていく。従って、S(xs、ys)が小さいほど似たブロックということになる。
【0247】
S(xs、ys)は、探索ブロックの左上位置を(xs、ys)とした時の類似度なので、(xs、ys)を探索画像上で変えれば、それぞれの場所での類似度が得られる。全ての類似度の中で最小となる類似度の位置(xs、ys)をマッチングした位置とすればよい。マッチングした位置の探索ブロックを「マッチングブロック」と呼ぶ。
【0248】
図15は、このマッチングの様子を説明した図だが、図15(a)の画像を参照画像、図15(b)の画像を探索画像とし、画像の中身としてはカギ括弧型の線がそれぞれ少し位置がずれて存在しているとする。参照画像中の参照ブロック100は、カギ括弧型の線のちょうど角の部分に位置しているとする。探索画像中の探索ブロックとして、探索ブロック101、102、103があったとする。参照ブロック100と探索ブロック101、参照ブロック100と探索ブロック102、参照ブロック100と探索ブロック103でそれぞれ類似度を計算すると、探索ブロック101が最も小さな値となるので、探索ブロック101を参照ブロック100に対するマッチングブロックとすればよい。
【0249】
以上は一つの参照ブロックB(i,j)のマッチングについて説明したが、それぞれの参照ブロックについて、マッチングブロックを求めることができる。図6(b)の42個の参照ブロックにそれぞれに対して、第2被写体画像のそれぞれで、マッチングブロックを探すとする。
【0250】
なお、マッチングブロックの類似度の求め方については、ここでは各画素値の差分の絶対値を使ったが、それ以外にも様々な方法があり、いずれの手法を使っても良い。
【0251】
例えば、相関係数を使う方法や周波数成分を使う方法などもあるし、各種高速化手法などもある。また、参照ブロックの位置や大きさなどの設定の仕方も色々考えられるが、ブロックマッチングの細かな改良方法は本発明の主旨ではないのでここでは省略する。
【0252】
なお、参照ブロックの大きさについては、あまり小さくしすぎるとブロック内にうまく特徴が捉えきれずマッチング結果の精度が悪くなるが、逆に大きくしすぎると被写体や画像のフレーム枠を含んでしまいマッチング結果の精度が悪くなったり、回転、拡大縮小などの変化に弱くなってしまうので、適当な大きさにすることが望ましい。
【0253】
次に、S3−3で、同手段4が、S3−2で求めたマッチングブロックの中から背景部分に相当する探索ブロックだけを抜き出して、S3−4へ処理が進む。
【0254】
S3−2で求めたマッチングブロックは、最も差分が少ない探索ブロックを選んだだけなので、同じ画像であることが保証されてはおらず、たまたま何かの模様などが似ているだけの場合もある。また、そもそも第1の被写体の為、参照ブロック自体が背景部分でなかったり、参照ブロックは背景部分だが、第2の被写体の為、参照ブロックに相当する画像部分が第2被写体画像上に存在しない場合もあるので、その場合はいいかげんな場所にマッチングブロックが設定されていることになる。
【0255】
そこで各マッチングブロックから、参照ブロックと同じ画像部分ではないと判断されるものを取り除くことが必要となる。残ったマッチングブロックは参照ブロックと同じ画像部分であると判断されたものなので、結果的に第1や第2の被写体を除いた背景部分だけが残ることになる。
【0256】
マッチングブロックの選別手法は色々考えられるが、ここでは最も単純な方法として、類似度S(xs、ys)を所定の閾値で判断することにする。すなわち、各マッチングブロックのS(xs、ys)が閾値を超えていたら、そのマッチングは不正確であるとして取り除くという手法である。S(xs、ys)は、ブロックの大きさに影響されるので、閾値はブロックの大きさを考慮して決めるのが望ましい。
【0257】
図7(b)は、図7(a)の第2被写体画像のS3−2のマッチング結果から、不正確なマッチングブロックを取り除いた結果である。正しいと判断されたマッチングブロックには、対応する参照ブロックと同じ番号が振ってある。これにより、被写体部分が含まれない、あるいはほとんど含まれない背景部分のマッチングブロックだけが残っているのが分かる。
【0258】
しかも、残ったマッチングブロックは、第1被写体画像と第2被写体画像とに共通して写り込んだ同一の背景部分であると判断できる。もし、第1被写体画像と第2被写体画像とが共通する背景部分を全く持っていないとすると、S3−3の処理の結果、残るマッチングブロックは0となる。
【0259】
S3−4では、同手段4が、S3−3で得た背景部分のマッチングブロックから、第2被写体画像の背景補正量を求めて、P40へ処理が抜ける。
【0260】
背景補正量として、例えば回転量θ、拡大縮小量R、および/または平行移動量(Lx、Ly)を求めるのだが、計算方法は色々考えられる。ここでは2つのブロックを使った最も簡単な方法について説明する。
【0261】
なお、回転量、拡大縮小量、平行移動量以外の歪補正量は、よほど撮影時にカメラを動かすなどしない限り、使わなくても背景部分がほぼ重なり、差分画像でノイズが充分少ない補正ができる場合が多い。回転量、拡大縮小量、平行移動量以外の歪補正量を得るには、最低でも3点あるいは4点以上ブロックを使うことが必要であり、透視変換を考慮した計算が必要となるが、パノラマ画像の合成などでも使われている公知の手法(例えば、「共立出版:bit1994年11月号別冊『コンピュータ・サイエンス』」のP90など)なので、この処理の詳細についてはここでは省略する。
【0262】
まず、できるだけ互いの距離が離れているマッチングブロックを2つ選ぶ。なお、S3−3で残ったマッチングブロックが1つしか無いときは、以降の拡大縮小率、回転量を求める処理は省いて、対応する参照ブロックの位置との差分を平行移動量として求めればよい。S3−3で残ったマッチングブロックが1つも無かったら、第1、第2被写体画像などを撮影し直した方が良いと思われるので、その旨の警告を出すなどするとよい。
【0263】
選び方は色々考えられるが、例えば、
1)マッチングブロック中の任意の2つを選び、その二つのブロックの中心位置間の距
離を計算する、
2)1)の計算を全てのマッチングブロックの組み合わせで行う、
3)2)の中で最も距離が大きい組み合わせを背景補正量の算出に使う2つのブロック
として選ぶ、
という方法が考えられる。
【0264】
ここで、上記3)として挙げたように、互いの距離が最も離れているマッチングブロックを使う利点としては、拡大縮小率や回転量などを求める際の精度が良くなることがあげられる。マッチングブロックの位置は画素単位となるので、精度も画素単位となってしまう。例えば、横に50画素離れた位置で上に1画素分ずれた時の角度は、横に5画素離れた位置で上に0.1画素分ずれた時の角度と同じになる。しかし、0.1画素のずれはマッチングでは検出できない。従って、できるだけ離れたマッチングブロックを使った方が良い。
【0265】
2つのブロックを使っているのは、単に計算が簡単だからである。もっと多くのブロックを使って平均的な拡大縮小率や回転量などを求めるようにすると、誤差が減少する利点が出てくる。
【0266】
例えば図7(b)の例では、互いの距離が最も離れている2つのマッチングブロックは、ブロック15、61の組み合わせとなる。
【0267】
次に、選んだ2つのマッチングブロックの中心位置を、探索画像上の座標で表した(x1’、y1’)、(x2’、y2’)、それに対応する参照ブロックの中心位置を参照画像上の座標で表した(x1、y1)、(x2、y2)とする。
【0268】
まず、拡大縮小率について求める。
【0269】
マッチングブロックの中心間の距離Lmは、
Lm=((x2’― x1’)×(x2’― x1’)+(y2’― y1’)×(y2’― y1’))1/2
参照ブロックの中心間の距離Lrは、
Lr=((x2― x1)×(x2― x1)+(y2― y1)×(y2― y1))1/2
となり、拡大縮小率Rは、
R=Lr/Lm
で求められる。
【0270】
次に回転量について求める。
【0271】
マッチングブロックの中心を通る直線の傾きθmは、
θm=arctan((y2’― y1’)/(x2’― x1’))
(但し、x2’= x1’の時はθm=π/2)
参照ブロックの中心を通る直線の傾きθrは、
θr=arctan((y2― y1)/(x2― x1))
(但し、x2= x1の時はθr=π/2)
で求められる。なお、arctanは、tanの逆関数とする。
【0272】
これより、回転量θは、
θ=θr―θm
で求められる。
【0273】
最後に平行移動量であるが、これは対応するブロック同士の中心位置が等しくなればよいので、例えば、(x1’、y1’)と(x1、y1)が等しくなるようにすると、平行移動量(Lx、Ly)は、
(Lx、Ly)=(x1’― x1、y1’― y1)
となる。回転量と拡大縮小量は、どこを中心にしても良いので、ここでは平行移動で一致する点、すなわち対応するブロックの中心を回転中心、拡大縮小中心とすることにする。
【0274】
従って、探索画像中の任意の点(x’,y’)を補正された点(x”,y”)に変換する変換式は、
x”=R×(cosθ×(x’−x1’)−sinθ×(y’−y1’))+x1
y”=R×(sinθ×(x’−x1’)+cosθ×(y’−y1’))+y1
となる。回転量、拡大縮小量、平行移動量と述べたが、正確にはここでは、θ、R,(x1 、y1 )、(x1’、y1’)のパラメータを求めることになる。なお、補正量/変換式の表し方は、これに限定される訳ではなく、その他の表し方でもよい。
【0275】
この変換式は、探索画像上の点(x’,y’)を補正画像上の点(x”,y”)に変換するものだが、補正画像上の点(x”,y”)は、参照画像に(背景部分が)重なるようになるのだから、意味的には、探索画像から参照画像への(背景部分が重なるような)変換とみなせる。従って、この変換式を探索画像上の点(Xs,Ys)を参照画像上の点(Xr,Yr)への変換関数Fsr、
(Xr,Yr)=Fsr(Xs,Ys)
と表現することにする。
【0276】
なお、先の式は逆に補正された点(x”,y”)から探索画像中の任意の点(x’,y’)への変換式、
x’=(1/R)×(cosθ×(x”−x1)+sinθ×(y”−y1))+x1’
y’=(1/R)×(sinθ×(x”−x1)−sinθ×(y”−y1))+y1’
にも変形できる。これも変換関数Frsで表せば、
(Xs,Ys)=Frs(Xr,Yr)
となる。変換関数Frsは変換関数Fsrの逆変換関数とも言う。
【0277】
図6(a)、図7(a)の例では回転や拡大縮小はなく、単なる平行移動だけであるが、詳細は後で図7(c)で説明する。
【0278】
以上のS3−1からS3−4の処理で、図5のS3の背景補正量算出の処理が行われる。
【0279】
図16は、図5のS4の処理、すなわち第2被写体画像の補正画像を生成し、第1被写体画像との差分画像を生成する処理の一方法を説明するフローチャート図である。
【0280】
P40を経たS4−1では、補正画像生成手段5が、背景補正量算出手段4(S3)で得られる補正量を使って、第2被写体画像を第1被写体画像に背景部分が重なるように補正した画像を生成し、S4−2へ処理が進む。なお、ここで生成される補正された第2被写体画像を「補正第2被写体画像」(図7(c)参照)と呼ぶことにする。
【0281】
補正には、変換関数Fsrあるいは逆変換関数Frsを使えばよい。一般に、きれいな変換画像を生成する為には、変換画像(ここでは補正第2被写体画像)の画素位置に対応する元画像(ここでは第2被写体画像)の画素位置を求め、その画素位置から変換画像の画素値を求める。この時、使用する変換関数はFsrになる。
【0282】
また、一般に求めた元画像の画素位置は整数値とはならないので、そのままでは求めた元画像の画素位置の画素値は求められない。そこで、通常は何らかの補間を行う。例えば最も一般的な手法として、求めた元画像の画素位置の周囲の整数値の画素位置の4画素から一次補間で求める手法がある。一次補間法に関しては、一般的な画像処理の本など(例えば、森北出版:安居院猛、中嶋正之共著「画像情報処理」のP54)に載っているので、ここでは詳しい説明を省略する。
【0283】
図7(c)は、図7(a)の第2被写体画像と図6(a)の第1被写体画像とから、第2被写体画像が第1被写体画像の背景部分に重なるように生成した補正第2被写体画像の例である。この例での補正は平行移動だけである。補正の様子が分かるように、図7(a)の第2被写体画像の範囲を点線で示してある。図7(a)の第2被写体画像よりフレーム枠全体が少し右下に移動している。
【0284】
補正の結果、対応する第2被写体画像が存在しない部分が出てくる。例えば、図7(c)の右端の点線と実線の間の部分は、図7(a)の第2被写体画像には存在しない部分なので、抜けている。これは、下の道路を示す水平線が右端までいかずに途切れているのでも分かる。その部分は、S4−2で説明するマスク画像を使って除外するので適当な画素値のままとしておいても問題はない。
【0285】
なお、図17(a)は補正に回転が必要な場合の第2被写体画像の例である。第1被写体画像は、図6(a)と同じとする。画面全体が図7(a)と比べて少し左回りに回転している。
【0286】
図17(b)は、図17(a)の第2被写体画像と図6(a)の第1被写体画像とでブロックマッチングを行った結果である。ブロックは回転などがあっても、回転量やブロックの大きさがそれほど大きくなければ、ブロック内での画像変化は少ないので、回転に追従して正確なマッチングがある程度可能である。
【0287】
図17(c)は、図17(b)のブロックマッチング結果をもとに背景補正量を算出し、補正した第2被写体画像である。図6(a)の第1被写体画像と背景部分が重なるようになり、回転が補正されているのが分かる。補正の様子がわかるように、図17(a)の画像枠を点線で示してある。
【0288】
S4−2では、補正画像生成手段5が、補正第2被写体画像のマスク画像を生成して、S4−3へ処理が進む。
【0289】
マスク画像は、補正画像を生成する際、補正画像上の各画素に対応するオリジナル画像上の画素位置が先に説明した式で求められるが、その画素位置がオリジナル画像の範囲に収まっているかどうかで判断して、収まっていればマスク部分として補正画像上の対応する画素の画素値を例えば0(黒)にし、収まっていなければ例えば255(白)にすればよい。マスク部分の画素値は0、255に限らず自由に決めてよいが、以降では、0(黒)、255(白)で説明する。
【0290】
図7(d)は、図7(c)のマスク画像の例である。実線のフレーム枠中の黒く塗りつぶされた範囲がマスク部分である。このマスク部分は、補正された画像中でオリジナルの画像(補正前の画像)が画素を持っている範囲を示している。従って、図7(d)では、対応する第2被写体画像が存在しない右下端部分がマスク部分とはなっておらず、白くなっている。
【0291】
S4−3では、差分画像生成手段6が、第1被写体画像と、補正画像生成手段5(S4−1)から得られる補正第2被写体画像とそのマスク画像とを用いて、第1被写体画像と補正第2被写体画像との差分画像を生成してS4−4へ処理が進む。
【0292】
差分画像を生成するには、ある点(x、y)のマスク画像上の点の画素値が0かどうかを見る。0(黒)ならば補正第2被写体画像上に補正された画素が存在するはずなので、差分画像上の点(x、y)の画素値Pd(x、y)は、
Pd(x、y)=|P1(x、y)−Pf2(x、y)|
より、第1被写体画像上の画素値P1(x、y)と補正第2被写体画像上の画素値Pf2(x、y)の差の絶対値とする。
【0293】
ある点(x、y)のマスク画像上の点の画素値が0(黒)でないならば、
Pd(x、y)=0
とする。
【0294】
これらの処理を、点(x、y)を差分画像の左上から右下まですべての画素について繰り返せばよい。
【0295】
図8(a)は、図6(a)の第1被写体画像と図7(c)の補正第2被写体画像、図7(d)のマスク画像から生成された差分画像の例である。人物(1)と人物(2)の領域以外の所は背景が一致している、あるいはマスク範囲外として差分が0となる。この結果、主に人物(1)の領域と人物(2)の領域内がそれぞれ、人物(1)の画像と背景の画像、人物(2)の画像と背景の画像が交じり合ったような画像となっている。
【0296】
通常、S3での補正量の算出の誤差や、補正画像生成の補間処理などの誤差、背景部分の画像自体の撮影時間の差による微妙な変化などによって、人物(1)の領域と人物(2)の領域以外にも小さな差分部分は出てくる。通常は数画素程度の大きさで、差もあまり大きくないことが多い。図8(a)でも人物(1)の領域と人物(2)の領域の周辺に白い部分がいくつか出てきている。
【0297】
一方、図17(b)の場合のマスク画像は図17(d)のようになる。なお、拡大縮小や回転の補正量がある場合でも、S4−1、S4−2で補正やマスク画像生成を行ってしまえば、後の処理は手順としては変わりないので、以降の説明では、第2被写体画像は図17(a)は使わず、図7(a)のものを使う。
【0298】
以上のS4−1からS4−3の処理で、図5のS4の差分画像生成の処理が行える。
【0299】
図18は、図5のS5の処理、すなわち被写体領域を抽出する処理の一方法を説明するフローチャート図である。
【0300】
P50を経たS5−1では、被写体領域抽出手段7が、差分画像生成手段6(S5)から得られる差分画像から、「ラベリング画像」(「ラベリング画像」の意味については後で説明する)を生成して、S5−2へ処理が進む。
【0301】
まず準備として、差分画像から2値画像を生成する。2値画像の生成方法も色々考えられるが、例えば、差分画像中の各画素値を所定の閾値と比較して、閾値より大きければ黒、以下ならば白、などとしてやればよい。差分画像がR,G,Bの画素値からなる場合は、R,G,Bの画素値を足した値と閾値を比較すればよい。
【0302】
図8(b)は、図8(a)の差分画像から生成した2値画像の例である。黒い領域が領域110から117の8つ存在し、大きな人型の領域112、113以外は小さな領域である。
【0303】
次に、生成した2値画像からラベリング画像を生成するが、一般に「ラベリング画像」とは、2値画像中の白画素同士あるいは黒画素同士が連結している塊を見つけ、その塊に番号(「ラベリング値」と以降、呼ぶ)を振っていく処理により生成される画像である。多くの場合、出力されるラベリング画像は多値のモノクロ画像であり、各塊の領域の画素値は全て振られたラベリング値になっている。
【0304】
なお、同じラベリング値を持つ画素の領域を「ラベル領域」と以降呼ぶことにする。また、連結している塊を見つけ、その塊にラベリング値を振っていく処理手順の詳細については、一般的な画像処理の本など(例えば、昭晃堂:昭和62年発行「画像処理ハンドブック」P318)に載っているので、ここでは省略し、処理結果例を示す。
【0305】
2値画像とラベリング画像とは、2値か多値かの違いなので、ラベリング画像例は図8(b)で説明する。図8(b)の領域110から117の番号の後に「110(1)」などと括弧書きで番号がついているが、これが各領域のラベリング値である。これ以外の領域はラベリング値0が振られているとする。
【0306】
なお、ラベリング画像図8(b)は、紙面上で多値画像を図示するのが難しいので2値画像のように示してあるが、実際はラベリング値による多値画像になっているので、表示する必要はないが実際に画像として表示した場合は図8(b)とは異なる見え方をする。
【0307】
S5−2では、被写体領域抽出手段7が、S5−1で得られるラベリング画像中の「ノイズ」的な領域を除去して、S5−3へ処理が進む。「ノイズ」とは目的のデータ以外の部分を一般に指し、ここでは人型の領域以外の領域を指す。
【0308】
ノイズ除去にも様々な方法があるが、簡単な方法として、例えばある閾値以下の面積のラベル領域は除くという方法がある。これには、まず各ラベル領域の面積を求める。面積を求めるには、全画素を走査し、ある特定のラベリング値を持つ画素がいくつ存在するか数えればよい。全ラベリング値について面積(画素数)を求めたら、それらの内、所定の閾値以下の面積(画素数)のラベル領域は除去する。除去処理は、具体的には、そのラベル領域をラベリング値0にしてしまうか、新たなラベリング画像を作成し、そこにノイズ以外のラベル領域をコピーする、でもよい。
【0309】
図8(c)は、図8(b)のラベリング画像からノイズ除去した結果である。人型の領域112、113以外はノイズとして除去されてしまっている。
【0310】
なお、被写体以外のラベル領域を除去するノイズ除去処理の完全自動化が難しいなら、例えば、どの領域が被写体領域であるかを、タブレットやマウスなどの入力手段を使ってユーザーに指定してもらう方法も考えられる。指定方法も、被写体領域の輪郭まで指定してもらう方法と、輪郭はラベリング画像の各ラベル領域の輪郭を使い、どのラベル領域が被写体領域であるかどうかを指定してもらう方法などが考えられる。
【0311】
また、図8(b)ではたまたま一人の領域がうまく一つのラベル領域となっているが、画像によっては、一人の被写体であっても複数のラベル領域に分かれてしまうことがある。例えば、被写体領域中の真中辺りの画素が、背景と似たような色や明るさの画素の場合、差分画像中のその部分の画素値が小さいので、被写体領域の真中辺りが背景と認識されてしまい、被写体領域が上下や左右に分断されて抽出されてしまうことがある。その場合、後の被写体の重なり検出や合成処理などでうまく処理できない場合が出てくる可能性がある。
【0312】
そこで、ラベリング画像のラベル領域を膨張させて、距離的に近いラベル領域を同じラベル領域として統合してしまう処理を入れるという方法もある。さらに、領域を抽出する手法の1つである「スネーク」を統合に利用する方法も考えられる。膨張やスネークの処理手順の詳細については、一般的な画像処理の本など(例えば、昭晃堂:昭和62年発行「画像処理ハンドブック」P320、またはKass A., et al.,”Snakes: Active Contour Models”,Int. J. Comput. Vision, pp.321−331(1988))に載っているので、ここでは省略する。
【0313】
また、距離的に近いラベル領域の統合に使わなくても、第1、第2の被写体領域同士に重なりがあることを見逃す危険性を減らすことに使う為に、抽出した被写体領域を一定量膨張させるという方法もある。
【0314】
なお、ここでは、膨張や統合は特に行わない処理例で説明している。
【0315】
S5−3では、重なり検出手段8が、S5−2で得られるノイズ除去されたラベリング画像から被写体同士の重なりがあるかどうかを検出し、重なりが検出されなければS5−4へ進み、重なりが検出されればS5−5へ進む。
【0316】
重なりの検出方法には様々な方法が考えられるが、ここでは簡単に求められる方法として、撮影/合成したい被写体の数と、ノイズ除去されたラベリング画像中の被写体の領域数とを使う方法について説明する。
【0317】
まず、撮影/合成したい被写体の数は予めプログラムや外部記憶、ユーザー入力などによって指定されているとする。例えば、カメラに「2集団撮影モード」(被写体数2)、「3集団撮影モード」(被写体数3)などのモード設定があり、これをユーザーが設定する。
【0318】
なお、ここでは「被写体の数」は領域として一塊になっている人物などの数である。例えば、第1の被写体、第2の被写体としてそれぞれ1人ずつならば、被写体の数は2となる。第1の被写体は1人として、もし、第2の被写体が2人の場合、その2人がくっつきあって写る場合は、一塊の領域となっているので、第2の被写体を1とし、被写体の数は合計2となるが、2人が距離を空けて離れている場合は、一塊の領域となっていないので、第2の被写体を2とし、被写体の数は合計3となる。
【0319】
被写体の領域数は、ノイズ除去されたラベリング画像中の異なるラベル値の領域数を数えればよい(ラベリング値0の部分は除く)。
【0320】
そこで、重なり検出手段8は、得られた撮影/合成したい被写体の数と、ノイズ除去されたラベリング画像中の被写体の領域数とが一致するかどうかを見て、一致するならば被写体同士が重なっていないと判断し、一致しない場合は被写体同士が重なっていると判断する。
【0321】
この重なり検出手段8による判断の原理は次の通りである。説明を簡単にする為、ここでは撮影/合成したい被写体の数は2とする。
【0322】
もし被写体同士が重なっていないならば、当然、第1の被写体の領域と第2の被写体の領域は分離しているはずである。従って、被写体同士が重なっていない場合、ノイズ除去した後の被写体の領域の数は2となるはずである。
【0323】
もし被写体同士が重なっているのならば、第1の被写体の領域と第2の被写体の領域は重なっている部分で統合されるため、分離していないはずである。従って、被写体同士が重なっている場合、ノイズ除去した後の被写体の領域の数は1となるはずである。
【0324】
撮影/合成したい被写体の数が3でも同様の考え方で、もし被写体同士が重なっていないならば、それぞれの領域は分離されているので、ノイズ除去した後の被写体の領域の数は3となるはずである。もし被写体同士が重なっているのならば、3つの被写体の領域の少なくともいずれか一組は重なっている部分で統合されるため、分離していないはずである。従って、被写体同士が重なっている場合、ノイズ除去した後の被写体の領域の数は1あるいは2となるはずである。
【0325】
図6(a)、図7(a)ではそれぞれ被写体となる人物が1人なので、撮影/合成したい被写体の数は2で設定されているとする。図8(c)では、領域の数は、人型の領域112、113の2つなので、得られた撮影/合成したい被写体の数と、ノイズ除去されたラベリング画像中の被写体の領域数とが一致する。従って、この場合、重なり検出手段8は被写体同士が重なっていないと判断する。
【0326】
重なりがある例として、第2被写体画像の図10を使う場合を考える。第1被写体画像は図6(a)をそのまま使う。これらから生成された差分画像が図11(a)である。図11(a)では、被写体同士が重なってしまい、重なった腕の部分は、第1の被写体と第2の被写体の画像が交じり合った画像となり、それ以外の被写体の部分は、第1の被写体と背景部分、第2の被写体と背景部分の画像が交じり合った画像となっている。図11(a)のラベリング画像が図11(b)であり、図11(b)からノイズ除去を施したものが図11(c)である。
【0327】
図11(c)では、第1の被写体と第2の被写体の領域は腕の部分で結合されてしまっているので、1塊の領域202しか残らない。この場合、ノイズ除去されたラベリング画像中の被写体の領域数は1となるので、撮影/合成したい被写体の数と一致せず、重なりがあると判断されることになる。
【0328】
なお、重なり検出の方法として、第1の被写体と第2の被写体の輪郭を正確に求めて、その輪郭同士が重なっているかどうかで判断する方法もある。輪郭が正確に求まるのならば、重なりの検出を行うことも可能であり、さらに重なり領域を使った表示、重なり回避などの様々な処理を行うことも可能である。
【0329】
しかし、被写体の領域を画像処理だけで完全に正確に抽出することは一般に難しく、人間の知識や人工知能的な高度な処理が一般に必要とされる。領域を抽出する手法の1つである「スネーク」などもあるが、完璧ではない。なお、第1被写体画像および第2被写体画像に加えて、各被写体画像と少なくとも一部共通する背景部分が写っていて被写体は写っていない背景画像を利用するのであれば、重なりの有無にかかわらず、被写体の領域を抽出することができる。これに対し、第1被写体画像と第2被写体画像からだけで、重なりがあるかもしれない被写体の輪郭を正確に抽出するのは難しい。
【0330】
従って、ここでは上述した簡単な方法で重なりの有無だけを検出することにする。
【0331】
S5−4では、被写体領域抽出手段7が、ノイズ除去されたラベリング画像中の被写体の領域について、どちらが第1被写体領域で、どちらが補正第2被写体領域なのかを判断して、P60へ抜ける。
【0332】
上述の背景画像を用いる方法では、背景画像と第1被写体画像との差分画像、背景画像と第2被写体画像との差分画像を使っているので、被写体領域はそれぞれ抽出できる。抽出された被写体領域は、それぞれ第1被写体領域と第2被写体領域となる。つまり、第1被写体領域と第2被写体領域とは独立して抽出できる。
【0333】
しかし、本発明では背景画像を使わないので、第1被写体画像と第2被写体画像との差分画像からは、第1被写体の領域と第2被写体領域は独立して抽出できず、第1被写体領域と第2被写体領域とが混ざった形でしか抽出できない。つまり、図8(c)のようなノイズ除去されたラベリング画像からは、被写体領域112、113が2つ得られるだけで、2つの領域112、113のうち、どちらが第1被写体領域でどちらが第2被写体領域なのかは、これだけでは被写体領域抽出手段7が判断できない。
【0334】
どちらが第1被写体領域か第2被写体領域か判断できないというのは、見方を変えると、第1、第2の被写体の画像か背景部分の画像かを被写体領域抽出手段7が判断できない、ということでもある。
【0335】
例えば、第1被写体画像(図6(a))と第2被写体画像(図7(a))から、図8(c)の領域112、113に相当する範囲をそれぞれ抜き出したのが図19(a)〜(d)である。すなわち、図19(a)は、第1被写体画像の領域112の範囲、図19(b)は、第2被写体画像の領域112の範囲、図19(c)は、第1被写体画像の領域113の範囲、図19(d)は、第2被写体画像の領域113の範囲である。
【0336】
背景部分以外は、第1被写体画像中には第1の被写体だけ、第2被写体画像中には第2の被写体だけが写っていることが前提なので、実際には、「図19(a)が第1の被写体の画像で図19(d)が第2の被写体の画像」、あるいは「図19(b)が第1の被写体の画像で図19(c)が第2の被写体の画像」のどちらかが正しいことなる。
【0337】
従って、第1被写体領域と第2被写体領域を区別するには、図19(a)、(d)と図19(b)、(c)のどちらが被写体範囲の画像かを識別すればよい。
【0338】
どちらが被写体範囲の画像かを識別するには様々な方法が考えられるが、例えば、被写体や背景の特徴が予めわかっているのならば、それを利用して区別する方法がある。
【0339】
例えば、被写体が人物であることが分かっているのならば、被写体範囲の画像には肌色が多く含まれている可能性が高い。従って、肌色が多く含まれる方を被写体範囲の画像とすればよい。
【0340】
色の認識の仕方にも様々な方法があるが、例えば、図4のR、G、Bの画素値から、色相H、彩度S、明度Iを求め、主に色相Hを使って認識する方法がある。色相H、彩度S、明度Iの求め方には各種方式があり、一般的な画像処理の本など(例えば、東京大学出版会、1991年発行「画像解析ハンドブック」P485〜491)に載っているので、ここでは詳細は省略するが、例えば同書籍中の「HSI6角錐カラーモデルによる変換」方法では、色相Hは0から2πの値域を持つ。
【0341】
具体的には、被写体領域抽出手段7が標準となる肌色のHの範囲を決める。次に、同手段7が図19(a)〜(d)の領域の各画素のHを求め、標準となる肌色のHの範囲に入っていれば、肌色としてカウントする。続いて、同手段7が図19(a)、(d)の肌色のカウント数と、図19(b)、(c)の肌色のカウント数のどちらが多いか比較し、多い方が被写体範囲の画像とすればよい。
【0342】
特徴量を使って、どちらが被写体範囲の画像かを識別する方法として、肌色を使う以外にも、例えば、周囲の背景部分と似ているかどうかで識別する方法がある。
【0343】
この場合、まず、被写体領域抽出手段7が被写体領域中の特徴量(後述)を第1被写体画像、第2被写体画像で求める。次に、同手段7が被写体領域の周囲の領域(例えば周囲20ドットなど)の特徴量を求める。被写体領域の周囲は背景部分であり、背景部分は重なるように補正しているので、これは片方だけでも良い場合もある。そして、同手段7が、背景部分の特徴量と近い特徴量をもつ方を背景部分の画像、近くない方を被写体領域の画像と判断すればよい。
【0344】
上記の特徴量としては、上述したようなR、G、Bの画素値や、色相H、彩度S、明度Iの他にも、テクスチャなども利用可能である。テクスチャを特徴量として求める方法は様々考案されているが、例えば、明度Iのヒストグラムなどがある。これは、ある領域中の画素に対して、全体の和が1.0となるように正規化された明度IのヒストグラムP(i)、(i=0、1、‥‥、n−1)、を取り、平均μ、分散(σ¢2)、歪度Ts、尖度Tkを、被写体領域抽出手段7が以下の式によって求める。なお、(X¢Y)は、XのY乗を意味する。
【0345】
n−1
μ=Σ i×P(i)
i=0
n−1
σ¢2=Σ ((i−μ)¢2)×P(i)
i=0
n−1
Ts=(Σ ((i−μ)¢3)×P(i))/(σ¢3)
i=0
n−1
Tk=(Σ ((i−μ)¢4)×P(i))/(σ¢4)
i=0
以上の4つの値を特徴量として使う。
【0346】
特徴量としては、その他にも、同時生起行列や差分統計量、ランレングス行列、パワースペクトル、それらの第2次統計量、高次統計量を使う方法などがあるが、一般的な画像処理の本など(例えば、東京大学出版会、1991年発行「画像解析ハンドブック」P517〜538)に載っているので、ここでは詳細は省略する。
【0347】
これにより、図19の場合、図19(a)、(d)が、被写体領域抽出手段7によって被写体範囲の画像と判断されたとする。すると、領域112が第1被写体領域、領域113が第2被写体領域となる。
【0348】
なお、ここでの処理は、S5−3で被写体同士の重なりが無い場合に実行される処理なので、図8(c)のように第1の被写体と第2の被写体が完全に分離した状態になっているはずである。図11(c)のように、第1の被写体と第2の被写体が統合した状態にはなっていないはずである。
【0349】
S5−5では、S5−3で、撮影/合成したい被写体の数と、ノイズ除去されたラベリング画像中の被写体の領域数とが一致しなかったため、被写体領域抽出手段7が、ノイズ除去されたラベリング画像中の被写体の領域を、第1被写体領域と第2被写体領域が統合された領域(以降、「被写体統合領域」と呼ぶ)と定めて、P60へ処理が抜ける。
【0350】
この場合、被写体領域抽出手段7によって第1被写体領域と第2被写体領域を独立して抽出することはあきらめ、統合された領域として処理する。なお、上述したように、第1の被写体と第2の被写体の輪郭を正確に求められる場合は、S5−3やS5−5の処理を行わず、S5−4の処理を行えばよい。
【0351】
以上のS5−1からS5−5の処理で、図5のS5の被写体領域抽出処理が行われる。
【0352】
図20は、図5のS6の処理、すなわち重なりに関する処理の一方法を説明するフローチャート図である。重なりに関する別の処理方法に関しては、後で図21、23を使って説明する。
【0353】
P60を経たS6−1では、重なり警告手段11において、重なり検出手段8(S5)から得られる重なりがあるかどうかの情報から、重なりがある場合はS6A−2へ処理が進み、無い場合はP70へ抜ける。
【0354】
S6A−2では、重なり警告手段11が、第1の被写体と第2の被写体に重なりがあることをユーザー(撮影者)あるいは被写体あるいはその両方に警告して、P70へ抜ける。
【0355】
警告の通知の仕方としては色々考えられる。
【0356】
例えば、合成画像を利用して通知する場合、重なりのある被写体領域を目立つように合成画像に重ねて表示すればよい。図12はこれを説明する例である。
【0357】
図12では、図11(c)の領域202、すなわち第1の被写体と第2の被写体の重なり合った領域が、合成画像上に重ねて半透明で表示されている。領域202の部分を赤などの目立つ色のフィルタをかける(領域202に色セロハンを当てるイメージ)とさらに良い。あるいは、領域202の領域やその枠を点滅させて表示させても良い。これらの合成方法については、後で図23で説明する。
【0358】
図12では、さらに文字で警告を行っている例である。図12の上の方に合成画像に重ねて警告ウィンドウを出し、その中で「被写体が重なっています!」というメッセージを表示している。これも目立つような配色にしたり、点滅させたりしてもよい。
【0359】
合成画像に対する上書きは、重なり警告手段11の指示により、重ね画像生成手段9で行っても良いし、重ね画像表示手段10で行っても良い。警告ウィンドウを点滅などさせる場合は元の合成画像を残しておく必要があるかもしれないので、重ね画像表示手段10に対して、例えば主記憶74または外部記憶75から警告ウィンドウのデータを間歇的に読み出して与える等して行った方がよい場合が多い。
【0360】
これらの警告表示を図3(a)のモニター141上に表示すれば、撮影しながら重なり状態を確認することができて、撮影に便利である。この時、撮影者は被写体(人物(2))に対して、「重なっているからもっと右の方に動いてくれ」などと、次に撮影した画像を第2被写体画像などとして使う場合に、重なり状態を解消するような指示を行うことができるという利点がある。
【0361】
なお、次に撮影した画像を第2被写体画像などとして使う場合とは、ユーザーがメニューやシャッターボタンで第2被写体画像の記録(メモリ書き込み)を指示する場合か、先に説明したように、第2被写体画像を動画的に撮影し補正重ね画像をほぼリアルタイムに表示する繰り返し処理の専用モードになっている場合などが考えられる。
【0362】
また、図3(a)のモニター141は撮影者の方を向いているが、被写体の方にモニターを向けることができる装置ならば、重なり状態を被写体も確認することができ、撮影者に指示されなくても、被写体が自発的に重なりを解消するように動くこともできるようになる。モニター141とは別のモニターを用意して、それを被写体が見られるようにするのでもよい。
【0363】
また、先に専用モードとして説明したように図5のS3からS7の処理を繰り返すのならば、現在の重なり状態がほぼリアルタイムで分かるので、被写体の移動によって重なりが解消できたかどうかがほぼリアルタイムで分かり、撮影が便利で効率よくできる。図5のS3からS7の処理は、充分速いCPUやロジック回路などを使えば、それほど時間は必要ない。実使用上は、1秒に1回程度以上の速さの繰り返し処理を実現できれば、ほぼリアルタイムの表示と言って良い。
【0364】
なお、S4で補正画像を生成する際、第1被写体画像を基準画像にすると、合成画像も第1被写体画像がベースとなる。モニター141に写る背景の範囲は第1被写体画像の背景の範囲となる。上述したリアルタイムに繰り返し処理を行う場合、カメラを振ると撮影される背景の範囲が変わるが、撮影される画像は第2被写体画像であって、第1被写体画像ではない。従って、モニター141に写る背景の範囲は、第1被写体画像の背景の範囲のまま変わらない。このため、撮影している範囲がモニター141に写らない/反映されないというのは、ユーザーにとって違和感がある。
【0365】
これに対し、第2被写体画像を基準画像にすると、モニター141に写る背景の範囲は第2被写体画像の背景の範囲となる。上述したリアルタイムに繰り返し処理を行う場合、カメラを振ると撮影される背景の範囲が変わり、撮影される画像は第2被写体画像(基準画像)なので、モニター141に写る背景の範囲は、撮影中の背景の範囲となる。これにより、撮影している範囲がモニター141に写る/反映されるので、ユーザーにとって違和感が少ないという効果が出てくる。
【0366】
また、重なり合った被写体領域を合成画像と重ねて表示した結果、重なり具合と合成画像のフレーム枠との関係を見て、被写体がどう動いても重なりが生じたり、被写体がフレームアウトしてしまうとユーザーが判断できれば、もう一度、第1被写体画像の撮影からやり直した方が良いという判断を行うこともできるようになる。
【0367】
また、警告の通知の仕方として、図3(a)のランプ142を点燈あるいは点滅させることで知らせることもできる。警告なので、ランプの色は赤やオレンジなどの色にしておくと分かりやすい。ランプの点滅などは一般にモニター141に撮影者が注目していなくても気づきやすいという利点がある。
【0368】
また、図12のように被写体の重ね画像を表示せず、重なりがあることだけを、警告メッセージやランプで知らせてもよい。この場合、どのくらい重なっているかはすぐには分からないが、重なりがあるかないかだけ分かれば、後は被写体が移動するなどして警告通知が無くなるかどうかを見ていれば重なりの無い合成画像を得るという目的は達せられる。従って、警告メッセージやランプで重なりがあることを知らせるだけにすることにより、重なり部分を表示させる処理が省けるという利点が出てくる。
【0369】
また、図3(a)ではランプ142を撮影者側のみ見られるような配置にしているが、もちろん、被写体側からも分かるように、図3(b)の本体140の前面側につけてもよい。効果については、モニターを被写体が見られる場合と同様である。
【0370】
また、図3(a)にはないが、モニター141とは別にファインダーのような画像を確認できる別の手段がある場合、そちらにモニター141と同じ警告通知を表示したり、ファインダー内部にランプを組み込んでおき、通知する方法も考えられる。
【0371】
また、図3(a)、図3(b)では示していないが、図2のスピーカ80を使って警告通知を行っても良い。重なりがある場合に警告ブザーを鳴らしたり、「重なっています」などの音声を出力したりなどして、警告通知を行う。この場合にもランプと同様の効果が期待できる。スピーカを使う場合、光と違って指向性があまりないので、一つのスピーカで撮影者も被写体も両方重なり状態を知ることができるという利点がある。
【0372】
以上のS6−1からS6A−2の処理で、図5のS6の重なりに関する処理が行える。
【0373】
図21は、図5のS6の処理、すなわち重なりに関する処理の別の一方法を説明するフローチャート図である。
【0374】
P60を経たS6−1では、シャッターチャンス通知手段12が、重なり検出手段8(S5)から得られる情報に基づいて重なりがあるかどうかを判断し、重なりがある場合はP70へ処理が抜け、無い場合はS6B−2へ処理が進む。
【0375】
S6B−2では、シャッターチャンス通知手段12が、第1の被写体と第2の被写体に重なりがないことをユーザー(撮影者)あるいは被写体あるいはその両方に通知して、P70へ抜ける。
【0376】
この通知は、実際には、重なりが無いことを通知するというより、重なりがないことによる副次的な操作、具体的には第2被写体を記録するシャッターチャンスであることを通知するような使われ方が最も一般的である。その場合、その通知は、主に撮影者に対するものとなる。
【0377】
シャッターチャンスの通知方法に関しては、図20で説明したような方法がほぼそのまま使える。例えば、図12のメッセージを「シャッターチャンスです!」などと変えるなどすればよい。その他、ランプ、スピーカについても、色や出力する音の内容などは多少変わるが、通知手法としては同様に利用できる。
【0378】
シャッターチャンスであることが分かれば、撮影者はシャッターを切ることで被写体同士に重なりのない状態で撮影/記録することができ、また、被写体もシャッターを切られるかもしれない準備(例えば目線の方向や顔の表情など)を行うことができるという利点が出てくる。
【0379】
以上のS6−1からS6B−2の処理で、図5のS6の重なりに関する処理が行える。
【0380】
図22は、図5のS6の処理、すなわち重なりに関する処理のさらに別の一方法を説明するフローチャート図である。
【0381】
P60を経たS6−1では、自動シャッター手段13が、重なり検出手段8(S5)から得られる情報に基づいて重なりがあるかどうかを判断し、重なりがある場合はP70へ処理が抜け、無い場合はS6C−2へ処理が進む。
【0382】
S6C−2では、自動シャッター手段13が、シャッターボタンが押されているかどうかを判断し、押されていればS6C−3へ進み、押されていなければP70へ抜ける。
【0383】
S6C−3では、自動シャッター手段13が、第2被写体画像の記録を第2被写体画像取得手段3へ指示して、P70へ処理が抜ける。第2被写体画像取得手段3は、指示に従い、撮影画像を主記憶74、外部記憶75などに記録する。
【0384】
これによって、被写体同士が重なっていない時にシャッターボタンが押されていれば、自動的に撮影画像を記録することができるようになるという効果が出てくる。同時に、誤って重なっている状態で撮影画像を記録してしまうことを防ぐ効果も出てくる。
【0385】
実際の使われ方としては、被写体の様子などを見て、今なら撮影画像を記録しても良いと思ったら撮影者がシャッターボタンを押すが、その時点で必ずしも記録される訳ではなく、重なりがある場合は記録されない。すなわち、自動シャッター手段13が、重なりがあると判断した場合には、撮影者がシャッターボタンを押しても第2被写体画像取得手段3による記録動作が行われないように、第2被写体画像の記録を禁止する。
【0386】
なお、記録されない場合は、その旨を表示やランプ、スピーカなどの通知手段で撮影者などに知らせた方が、シャッターを押したが撮影されてないことが分かってよい。
【0387】
そして、被写体が動くなどして、重なりがない状態になった時に、再度シャッターボタンが押されれば、今度は記録される。記録されたことが分かるように、表示やランプ、スピーカなどの通知手段で撮影者などに知らせるとよい。
【0388】
シャッターボタンを毎度押すのではなく、押しっぱなしにするならば、重なっている状態から重なりがなくなった瞬間に自動的に記録されることになる。但し、重なりがなくなった瞬間だとまだ被写体が静止しておらず撮影画像がぶれてしまったり、被写体が撮影される状態(被写体が他所を向いている時など)になっていない場合があるので、その場合は自動的に記録するまでに少し時間をあけると良い。
【0389】
以上のS6−1からS6C−3の処理で、図5のS6の重なりに関する処理が行える。
【0390】
なお、図20〜23の処理は必ずしも排他的な処理ではなく、任意に組み合わせて処理することも可能である。組み合わせの例として、次のような利用シーンが可能となる。
【0391】
『被写体同士が重なっている時は「重なっています」と警告がなされ、この時にシャッターボタンを押しても撮影画像は記録されない。警告に応じて被写体が動き、重なりがなくなったらシャッターチャンスランプが点燈する。シャッターチャンスランプが点燈している間にシャッターボタンを押したら撮影画像が記録される。』
次に、図23は、図5のS7の処理、すなわち重ね画像を生成する処理の一方法を説明するフローチャート図である。
【0392】
P70を経たS7−1では、重ね画像生成手段9が、生成する重ね画像の最初の画素位置をカレント画素に設定してS7−2へ処理が進む。最初の画素位置は、例えば左上などの隅から始まることが多い。
【0393】
なお、「画素位置」は、画像上の特定の位置を表し、左上隅を原点、右方向を+X軸、下方向を+Y軸としたX−Y座標系で表現されることが多い。画素位置は、画像を表すメモリ上のアドレスに対応し、画素値はそのアドレスのメモリの値である。
【0394】
S7−2では、重ね画像生成手段9が、カレント画素位置は存在するかどうかを判断し、存在するならばS7−3へ処理が進み、存在しないならばP80へ抜ける。
【0395】
S7−3では、重ね画像生成手段9が、カレント画素位置が被写体統合領域内かどうかを判断し、被写体統合領域内ならばS7−4へ処理が進み、そうでないならばS7−5へ処理が進む。
【0396】
被写体統合領域内かどうかは、重なり検出手段8(S5−5)で被写体統合領域が得られ、かつ、被写体統合領域画像中のカレント画素位置が黒(0)かどうかで判断できる。
【0397】
S7−4では、重ね画像生成手段9が、設定に応じた合成画素を生成して、重ね画像のカレント画素位置の画素値として書き込む。
【0398】
設定とは、つまりどのような合成画像を合成するかということである。例えば、図9(b)のように第1の被写体を半透明で合成するのか、図9(a)のように不透明で第1の被写体をそのまま上書きで合成するのか、図12のように第1の被写体も第2の被写体も半透明で合成するのか、などである。ここでは、被写体統合領域内を扱っているので、実質的には、その領域の合成割合(透過率)に関する設定となる。
【0399】
合成割合(透過率)が決まれば、第1被写体画像のカレント画素位置の画素値P1と補正画像生成手段5(S4)から得られる補正第2被写体画像のカレント画素位置の画素値Pf2を得て、所定の透過率A(0.0から1.0の間の値)で合成画素値(P1×(1−A)+Pf2×A)を求めればよい。
【0400】
例えば図12のような被写体統合領域内を半透明とするには、透過率Aを0.5とすればよい。
【0401】
S7−5では、S7−3でカレント画素が被写体統合領域に属さないと判断された場合に、重ね画像生成手段9が、カレント画素位置が第1被写体領域内かどうかを判断し、第1被写体領域内ならばS7−6へ処理が進み、そうでないならばS7−7へ処理が進む。
【0402】
第1被写体領域内かどうかは、被写体領域抽出手段7(S5)から得られる第1被写体領域画像を使い、カレント画素位置が黒(0)かどうかで判断できる。なお、被写体統合領域が存在する場合は、第1被写体領域は存在しないことが分かっているので、第1被写体領域内かどうか判断せずに(S7−5を省略)、直接、S7−7へ処理を進めてもよい。
【0403】
なお、第1被写体領域であるかどうかで特に処理を変えない場合は、S7−5,S7−6は省いて、S7−3からS7−7へ進めばよい。
【0404】
S7−6では、重ね画像生成手段9が、設定に応じた合成画素を生成して、重ね画像のカレント画素位置の画素値として書き込む。ここでの処理は、被写体統合領域(画像)が第1被写体領域(画像)に変わるだけで、S7−4と同様である。
【0405】
図9(b)のように第1の被写体を半透明で合成するのなら、第1の被写体の透過率を0.5とすればよく、図9(a)のように不透明で第1の被写体をそのまま上書きで合成するのならば、第1の被写体の透過率を0.0とすればよい。
【0406】
S7−7では、S7−5でカレント画素が第1被写体領域にも属さないと判断された場合に、重ね画像生成手段9が、カレント画素位置が第2被写体領域内かどうかを判断し、第2被写体領域内ならばS7−8へ進み、そうでないならばS7−9へ処理が進む。ここでの処理は、第1被写体領域が第2被写体領域に変わるだけで、S7−5と同様である。
【0407】
S7−8では、重ね画像生成手段9が、設定に応じた合成画素を生成して、重ね画像のカレント画素位置の画素値として書き込む。ここでの処理は、第1被写体領域が第2被写体領域に変わるだけで、S7−6と同様である。
【0408】
S7−9では、S7−7でカレント画素が第2被写体領域にも属さないと判断された場合に、重ね画像生成手段9が、第1被写体画像(基準画像)のカレント画素位置の画素値を重ね画像のカレント画素位置の画素値として書き込む。すなわち、この場合のカレント画素位置は、被写体統合領域内でも第1被写体領域内でも第2被写体領域内でもないので、結局、背景部分に相当する。
【0409】
S7−10では、重ね画像生成手段9が、カレント画素位置を次の画素位置に設定して、S7−2へ処理が戻る。
【0410】
以上のS7−1からS7−10の処理で、図5のS7の重ね画像生成に関する処理が行われる。
【0411】
なお、上記の処理ではS7−4やS7−6、S7−9で第1被写体画像や補正第2被写体画像を処理しているが、生成する重ね画像に、S7−1の前に最初に、第1被写体画像または補正第2被写体画像を全画素コピーしてしまい、その後、各画素位置の処理で第1被写体領域および/または第2被写体領域だけを処理する方法も考えられる。全画素コピーの方が処理手順は単純になるが、処理時間は若干増えるかもしれない。
【0412】
なお、ここでは合成画像の大きさを基準画像の大きさにしているが、これより小さくしたり、大きくしたりすることも可能である。例えば図7(c)で補正画像を生成する際、一部を切り捨ててしまっていたが、補正画像の大きさを大きくして切り捨てないようにすれば、合成画像を大きくする時のために、切り捨てずに残した画像を合成に使い、それによって背景を広げることも可能となる。いわゆるパノラマ画像合成のようなことが可能となる効果が出てくる。
【0413】
図9(b)は、第1被写体領域だけを半透明に合成した重ね画像である。図9(c)は、第2被写体領域だけを半透明に合成した重ね画像である。図9(a)は、両方とも半透明にはせず、どちらも上書きして生成した重ね画像である。また、図12は、両方とも半透明にして合成した重ね画像である。
【0414】
どの合成方法をとるかは目的によるので、ユーザーがそのときの目的に応じた合成方法を選択できるようにすれば良い。
【0415】
例えば、第1被写体画像を既に撮影/記録してあり、第2被写体画像を重なり無く撮影する場合などのためには、第1の被写体の詳細な画像は必要なく、第1の被写体が大体どの辺に存在し、第2の被写体と重なりがあるかどうかが分かればよいので、半透明の合成で構わない。また、第2の被写体は、撮影する瞬間にどういう表情をしているとかの詳細が分からないとうまくシャッターを切れないので、半透明ではなく上書きで合成する方が良い。従って、図9(b)のような合成方法が向いている。
【0416】
また、既に説明したように、合成画像の背景の範囲が撮影中の画像(第2被写体)の背景の範囲となる方が違和感が少ないなら、第2被写体画像を基準画像にして、かつ、第2の被写体を撮影中であることが分かり易いように図9(b)のように合成する方が向いている。
【0417】
また、合成する被写体の領域が分かった方が撮りやすいというユーザーにとっては、撮影中は両者を半透明で合成した方が良い場合や、第2の被写体だけを半透明にした方が良い場合もあるかもしれない。
【0418】
また、第2の被写体の撮影/記録が済んで、第1被写体画像、第2被写体画像を使って、最終的な合成画像を作成したい場合は、半透明な被写体では困るので、どちらも上書きで合成する必要がある。従って、図9(a)のような合成方法が向いている。
【0419】
また、被写体領域取得手段7(S5)から得られる被写体領域が、前述したように既に膨張されていれば、被写体だけでなく、その周囲の背景部分も一緒に合成してしまうが、既に補正画像生成手段5(S4)で背景部分は一致するように補正処理されているので、実際の被写体の輪郭の領域よりも多少、抽出する被写体領域が大きめになって背景部分まで含んでしまっていても、合成境界で不自然になることはないという効果が出てくる。
【0420】
なお、被写体領域を膨張させて処理するのであれば、合成境界をより自然に見せるように、外部も含めた被写体領域の合成境界付近、あるいは被写体領域内部だけの合成境界付近で、透明度を徐々に変化させて合成させるという方法もある。例えば、被写体領域の外部にいくに従って、背景部分の画像の割合を強くし、被写体領域の内部にいくに従って、被写体領域部分の画像の割合を強くする、といった具合である。
【0421】
これにより、もし合成境界付近で補正誤差による多少の背景のずれがあったとしても、不自然さを目立たなくすることができるという効果が出てくる。補正誤差でなく、そもそも被写体領域の抽出が間違っている場合や、撮影時間のずれなどに起因する背景部分の画像の変化(例えば、風で木が動いた、日が陰った、関係無い人が通った、など)があったとしても、同様に、不自然さを目立たなくすることができるという効果が出てくる。
【0422】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0423】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0424】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,磁気テープ,不揮発性のメモリカード,等を用いることができる。
【0425】
また、上記プログラムコードは、通信ネットワークのような伝送媒体を介して、他のコンピュータシステムから画像合成装置の主記憶74または外部記憶75へダウンロードされるものであってもよい。
【0426】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0427】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0428】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになる。
【0429】
本発明は上述した各実施形態に限らず、請求項に示した範囲で種々の変更が可能である。
【0430】
【発明の効果】
本発明に係る画像合成装置は、以上のように、背景と第1の被写体とを含む画像である第1被写体画像と、上記背景の少なくとも一部と第2の被写体とを含む画像である第2被写体画像との間での、背景部分の相対的な移動量、回転量、拡大縮小率、歪補正量のいずれかもしくは組み合わせからなる補正量を算出する、あるいは予め算出しておいた補正量を読み出す背景補正量算出手段と、第1被写体画像、第2被写体画像のどちらかを基準画像とし、他方の画像を被写体以外の背景の部分が少なくとも一部重なるように前記背景補正量算出手段から得られる補正量で補正し、基準画像と補正した画像を重ねた画像を生成する重ね画像生成手段と、を有する。
【0431】
これにより、二つの画像間の背景のずれや歪みを補正して合成することができるので、これによって、被写体など明らかに異なる領域を除いた以外の部分(すなわち背景部分)は、どのように重ねても合成結果がほぼ一致し、合成結果が不自然とならないという効果が出てくる。例えば被写体領域だけを主に合成しようとした時、被写体領域の抽出や指定が多少不正確であっても、被写体領域の周りの背景部分が合成先の画像の部分とずれがないので、不正確な領域の内外が連続した風景として合成され、見た目の不自然さを軽減するという効果が出てくる。
【0432】
また、これにより、たとえ被写体領域の抽出が画素単位で正確であったとしても、課題の項で説明した通り、1画素より細かいレベルでの不自然さは従来技術の方法では出てしまうが、本発明では、背景部分のずれや歪みを無くしてから合成しているので、輪郭の画素の周囲の画素は、同じ背景部分の位置の画素となり、合成してもほぼ自然なつながりとなる。このように、1画素より細かいレベルでの不自然さを防ぐ、あるいは軽減するという効果が出てくる。
【0433】
また、背景のずれや歪みを補正して合成するので、第1、第2被写体画像の撮影時にカメラなどを三脚などで固定する必要がなく、手などで大体の方向を合わせておけばよく、撮影が簡単になるという効果が出てくる。
【0434】
本発明に係る画像合成装置は、以上のように、被写体や風景を撮像する撮像手段を有し、第1被写体画像または第2被写体画像は、前記撮像手段の出力に基づいて生成されてもよい。
【0435】
これによって、重ね画像を生成する画像合成装置が、撮像手段を具備することで、ユーザーが被写体や風景を撮影したその場で、重ね画像を生成することができるため、ユーザーにとっての利便性が向上する。また、重ね画像を生成した結果、もし被写体同士の重なりがあるなどの不都合があれば、その場で撮影し直すことができるという効果が出てくる。
【0436】
本発明に係る画像合成装置は、以上のように、第1被写体画像と第2被写体画像のうち、後に撮影した方を基準画像としてもよい。
【0437】
これにより、表示される合成画像は、直前に撮影したばかりの、あるいは合成画像をリアルタイム表示する形態では現在撮影中の第2被写体画像の背景の範囲となるので、撮影者にとっては違和感が無いという効果が出てくる。
【0438】
本発明に係る画像合成装置は、以上のように、前記重ね画像生成手段において、基準画像と補正した画像とを、それぞれ所定の透過率で重ねてもよい。
【0439】
上記の構成において、所定の透過率で重ねる形態には、透過率を画素位置によって変える形態がふくまれる。例えば、補正画像中の被写体領域だけを基準画像に重ねる時、被写体領域内は不透明(すなわち補正画像中の被写体の画像そのまま)で重ね、被写体領域周辺は被写体領域から離れるに従い基準画像の割合が強くなるように重ねる。すると、被写体領域、すなわち被写体の輪郭が間違っていたとしても、その周辺の画素は、補正画像から基準画像に徐々に変わっているので、間違いが目立たなくなるという効果が出てくる。
【0440】
また、所定の透過率で重ねる形態には、被写体領域だけを半分の透過度で重ねる、などの形態も含まれる。この結果、表示されている画像のどの部分が以前に撮影した合成対象部分で、どの部分が今撮影している画像なのかをユーザーや被写体が判別しやすくなるという効果も出てくる。それにより、被写体同士の重なりなどがある場合も、判別しやすくなるという効果も出てくる。
【0441】
本発明に係る画像合成装置は、以上のように、前記重ね画像生成手段において、基準画像と補正した画像の間の差分画像中の差のある領域を、元の画素値と異なる画素値の画像として生成してもよい。
【0442】
これによって、二つの画像間で一致しない部分がユーザーに分かりやすくなるという効果が出てくる。例えば、第1や第2の被写体の領域は、基準画像上と補正画像上では、片方は被写体の画像、他方は背景部分の画像となるので、差分画像中の差のある領域として抽出される。抽出された領域を半透明にしたり、反転表示したり、目立つような色の画素値とすることで、被写体の領域がユーザーに分かりやすくなるという効果が出てくる。
【0443】
本発明に係る画像合成装置は、以上のように、基準画像と補正した画像の間の差分画像中から、第1の被写体の領域と第2の被写体の領域を抽出する被写体領域抽出手段を有し、前記重ね画像生成手段において、基準画像と補正した画像とを重ねる代わりに、基準画像または補正した画像と前記被写体領域抽出手段から得られる領域内の画像とを重ねる。
【0444】
これによって、基準画像上に、補正された被写体画像中の被写体領域のみを合成することできるという効果が出てくる。あるいは、補正された被写体画像上に、基準画像中の被写体領域のみを合成することができるということもできる。
【0445】
また、重ね画像生成手段における被写体領域の透過率を変える処理と組み合わせることで、どの領域を合成しようとしているかがユーザーに分かり易く、もし被写体同士に重なりなどがあれば、それもさらに分かり易くなるという効果が出てくる。さらに、それによって、重なりが起きないように撮影を補助することができるという効果が出てくる。重なりがある場合は、被写体やカメラを動かすなどして、重なりの無い状態で撮影し直すのが良い訳だが、この場合の補助とは、例えば、重なりが起きるかどうかをユーザーに認識し易くすることや、どのくらい被写体やカメラを動かせば重なりが解消できそうかを、ユーザーが判断する材料(ここでは合成画像)を与えること、などになる。
【0446】
本発明に係る画像合成装置は、以上のように、被写体領域抽出手段は、第1被写体画像中あるいは補正された第1被写体画像中から第1の被写体の領域内の画像および第2の被写体の領域内の画像を抽出すると共に、第2被写体画像中あるいは補正された第2被写体画像中から第1の被写体の領域内の画像および第2の被写体の領域内の画像を抽出し、さらに皮膚色を基準として第1の被写体の画像および第2の被写体の画像を選別してもよい。
【0447】
これによって、抽出した画像部分がどちらの被写体であるかを自動的に簡単に判別できる効果が出てくる。
【0448】
本発明に係る画像合成装置は、以上のように、前記被写体領域抽出手段は、第1被写体画像中あるいは補正された第1被写体画像中から第1の被写体の領域内の画像および第2の被写体の領域内の画像を抽出すると共に、第2被写体画像中あるいは補正された第2被写体画像中から第1の被写体の領域内の画像および第2の被写体の領域内の画像を抽出し、さらにその各領域外の画像の特徴を基準として第1の被写体の画像および第2の被写体の画像を選別してもよい。
【0449】
これによって、抽出した画像部分がどちらの被写体であるかを自動的に簡単に判別できる効果が出てくる。
【0450】
本発明に係る画像合成装置は、以上のように、前記被写体領域抽出手段から得られる第1の被写体あるいは第2の被写体の領域の数が、合成する被写体の数として設定された値と一致しない時に、第1の被写体の領域と第2の被写体の領域が重なっていると判断する重なり検出手段を有することを特徴とする。
【0451】
これによって、重なり検出手段の判断結果は、重なりの有無を合成画面やランプなどで撮影者や被写体に通知、警告するのに利用することができる。その結果、被写体同士が重なり合っている部分があるかどうかをユーザーに判別させやすくすることができるという効果が出てくる。それによって、重なりが起きないように撮影を補助する効果については、前述したものと同様である。
【0452】
本発明に係る画像合成装置は、以上のように、前記重なり検出手段において重なりが検出される時、重なりが存在することを、ユーザーあるいは被写体あるいは両方に警告する重なり警告手段を有してもよい。
【0453】
これによって、被写体同士が重なり合っている場合に警告されるので、ユーザーがそれに気づかずに撮影/記録したり合成処理したりということを防ぐことができ、さらに被写体にも位置調整等が必要であることを即時に知らせることができるという撮影補助の効果が出てくる。
【0454】
本発明に係る画像合成装置は、以上のように、前記重なり検出手段において、重なりが検出されない時、重なりが存在しないことを、ユーザーあるいは被写体あるいは両方に通知するシャッターチャンス通知手段を有してもよい。
【0455】
これによって、被写体同士が重なり合っていない時をユーザーが知ることができるので、撮影や撮影画像記録、合成のタイミングをそれに合わせて行えば、被写体同士が重ならずに合成することができるという撮影補助の効果が出てくる。
【0456】
また、被写体にも、シャッターチャンスであることを通知できるので、ポーズや視線などの備えを即座に行えるという撮影補助の効果も得られる。
【0457】
本発明に係る画像合成装置は、被写体や風景を撮像する撮像手段を有し、前記重なり検出手段で重なりが検出されない時に、前記撮像手段から得られる画像を第1被写体画像、または第2被写体画像として記録する指示を生成する自動シャッター手段を有してもよい。
【0458】
これによって、被写体同士が重なり合っていない時に自動的に撮影が行われるので、ユーザー自身が重なりがあるかどうかを判別してシャッターを押さなくても良いという撮影補助の効果が出てくる。
【0459】
本発明に係る画像合成装置は、上記の課題を解決するために、被写体や風景を撮像する撮像手段を有し、前記重なり検出手段で重なりが検出される時に、前記撮像手段から得られる画像を、第1被写体画像、あるいは第2被写体画像として記録することを禁止する指示を生成する自動シャッター手段を有してもよい。
【0460】
これによって、被写体同士が重なり合ってる時は撮影が行われないので、ユーザーが誤って重なりがある状態で撮影/記録してしまうことを防ぐ撮影補助の効果が出てくる。
【0461】
本発明に係る画像合成方法は、以上のように、背景と第1の被写体とを含む画像である第1被写体画像と、上記背景の少なくとも一部と第2の被写体とを含む画像である第2被写体画像との間での、背景部分の相対的な移動量、回転量、拡大縮小率、歪補正量のいずれかもしくは組み合わせからなる補正量を算出する、あるいは予め算出しておいた補正量を読み出す背景補正量算出ステップと、第1被写体画像、第2被写体画像のどちらかを基準画像とし、他方の画像を被写体以外の背景の部分が少なくとも一部重なるように前記背景補正量算出ステップから得られる補正量で補正し、基準画像と補正した画像を重ねた画像を生成する重ね画像生成ステップと、を有する。
【0462】
これによる種々の効果は、前述したとおりである。
【0463】
本発明に係る画像合成プログラムは、以上のように、上記画像合成装置が備える各手段として、コンピュータを機能させてもよい。
【0464】
本発明に係る画像合成プログラムは、以上のように、上記画像合成方法が備える各ステップをコンピュータに実行させてもよい。
【0465】
本発明に係る記録媒体は、上記画像合成プログラムを記録してもよい。
【0466】
これにより、上記記録媒体、またはネットワークを介して、一般的なコンピュータに画像合成プログラムをインストールすることによって、該コンピュータを用いて上記の画像合成方法を実現する、言い換えれば、該コンピュータを画像合成装置として機能させることができる。
【図面の簡単な説明】
【図1】 本発明の画像合成装置の機能的な構成を示すブロック図である。
【図2】 各手段を具体的に実現する装置の構成例を説明するブロック図である。
【図3】 (a)は、上記画像合成装置の背面の外観例を示す模式的な斜視図、(b)は、上記画像合成装置の前面の外観例を示す模式的な斜視図である。
【図4】 画像データのデータ構造例を説明する説明図である。
【図5】 画像合成方法全体の流れを示すフローチャート図である。
【図6】 (a)は、第1被写体画像の例を示す説明図、(b)は、(a)の第1被写体画像中の参照マッチングブロックの配置を説明する説明図である。
【図7】 (a)は、第2被写体画像の例を示す説明図、(b)は、(a)の第2被写体画像中の検出されたマッチングブロックの配置を説明する説明図、(c)は、(a)の第2被写体画像を補正した補正第2被写体画像を説明する説明図、(d)は、(c)の補正第2被写体画像のマスク画像を説明する説明図である。
【図8】 (a)は、図6(a)の第1被写体画像と図7(c)の補正第2被写体画像の差分画像例を示す説明図、(b)は、(a)の差分画像から生成したラベル画像例を示す説明図、(c)は、(b)のラベル画像からノイズ部分を除去したラベル画像例を示す説明図である。
【図9】 (a)は、図6(a)の第1被写体画像に図19(d)の第2被写体領域部分を重ねて合成した重ね画像例を示す説明図、(b)は、図6(a)の第1被写体画像に、図19(b)の第1被写体領域部分を半透明にして重ね、図19(d)の第2被写体領域部分を重ねて合成した重ね画像例を示す説明図、(c)は、図6(a)の第1被写体画像に、図19(d)の第2被写体領域部分を半透明にして重ねて合成した重ね画像例を示す説明図である。
【図10】 図6(a)の第1被写体と被写体領域同士が重なる第2被写体画像の例を示す説明図である。
【図11】 (a)は、図6(a)の第1被写体画像と図10の第2被写体画像の補正画像との差分画像例を示す説明図、(b)は、(a)の差分画像から生成したラベル画像例を示す説明図、(c)は、(b)のラベル画像からノイズ部分を除去したラベル画像例を示す説明図である。
【図12】 図11(c)の被写体領域部分を半分の透過率で重ねて合成し、重なりの警告メッセージを表示させた例を示す説明図である。
【図13】 第2被写体画像を取得する処理の一方法を説明するフローチャート図である。
【図14】 背景補正量を算出する処理の一方法を説明するフローチャート図である。
【図15】 (a)は、マッチングを説明する参照画像の例を示す説明図、(b)は、マッチングを説明する探索画像の例を示す説明図である。
【図16】 第2被写体画像の補正画像を生成し、第1被写体画像との差分画像を生成する処理の一方法を説明するフローチャート図である。
【図17】 (a)は、回転している第2被写体画像の例を示す説明図、(b)は、(a)の第2被写体画像中の検出されたマッチングブロックの配置を説明する説明図、(c)は、(a)の第2被写体画像を補正した補正第2被写体画像を説明する説明図、(d)は、(c)の補正第2被写体画像画像のマスク画像を説明する説明図である。
【図18】 被写体領域を抽出する処理の一方法を説明するフローチャート図である。
【図19】 (a)は、図6(a)の第1被写体画像中の第1被写体領域の画像を示す説明図、(b)は、図7(a)の第2被写体画像中の第1被写体領域の画像を示す説明図、(c)は、図6(a)の第1被写体画像中の第2被写体領域の画像を示す説明図、(d)は、図6(a)の第2被写体画像中の第2被写体領域の画像を示す説明図である。
【図20】 被写体領域の重なりを警告する処理の一方法を説明するフローチャート図である。
【図21】 被写体領域に重なりが無い時に、シャッターチャンスを通知する処理の一方法を説明するフローチャート図である。
【図22】 被写体領域に重なりが無い時に、自動シャッターを行う処理の一方法を説明するフローチャート図である。
【図23】 重なり画像を生成する処理の一方法を説明するフローチャート図である。
【符号の説明】
1 撮像手段
2 第1被写体画像取得手段
3 第2被写体画像取得手段
4 背景補正量算出手段
5 補正画像生成手段
6 差分画像生成手段
7 被写体領域抽出手段
8 重なり検出手段
9 重ね画像生成手段
10 重ね画像表示手段
11 重なり警告手段
12 シャッターチャンス通知手段
13 自動シャッター手段
74 主記憶(記録媒体)
75 外部記憶(記録媒体)
112 領域(第1被写体領域)
113 領域(第2被写体領域)
140 本体(画像合成装置)
141 表示部兼タブレット
143 シャッターボタン
202 領域
Claims (12)
- 背景と第1の被写体とを含む画像である第1被写体画像と、上記背景の少なくとも一部と第2の被写体とを含む画像である第2被写体画像との間での、背景部分の相対的な移動量、回転量、拡大縮小率、歪補正量のいずれかもしくは組み合わせからなる補正量を算出する、あるいは予め算出しておいた補正量を読み出す背景補正量算出手段と、
第1被写体画像、第2被写体画像のどちらかを基準画像とし、他方の画像を、被写体以外の背景の部分が少なくとも一部重なるように前記背景補正量算出手段から得られる補正量で補正し、基準画像と補正した画像の間の差分画像中から、第1の被写体の領域と第2の被写体の領域を抽出する被写体領域抽出手段と、
基準画像または補正した画像と前記被写体領域抽出手段から得られる領域内の画像とを重ねた画像を生成する重ね画像生成手段と、
前記被写体領域抽出手段から得られる第1の被写体あるいは第2の被写体の領域の数が、合成する被写体の数として設定された値と一致しない時に、第1の被写体の領域と第2の被写体の領域が重なっていると判断する重なり検出手段と、
を有することを特徴とする画像合成装置。 - 被写体や風景を撮像する撮像手段を有し、
第1被写体画像または第2被写体画像は、前記撮像手段の出力に基づいて生成され、
第1被写体画像と第2被写体画像のうち、後に撮影した方を基準画像とする
ことを特徴とする請求項1に記載の画像合成装置。 - 前記重ね画像生成手段において、基準画像と補正した画像とを、それぞれ所定の透過率で重ねる
ことを特徴とする請求項1に記載の画像合成装置。 - 前記重ね画像生成手段において、基準画像と補正した画像の間の差分画像中の差のある領域の画素値を、ユーザが識別できるように、元の画素値と異なる画素値に変更する
ことを特徴とする請求項1に記載の画像合成装置。 - 前記第1の被写体または第2の被写体の撮像中に、前記重なり検出手段において重なりが検出される時、重なりが存在することを、ユーザーあるいは撮像中の第1の被写体または第2の被写体あるいは両方に警告する重なり警告手段を有する
ことを特徴とする請求項1に記載の画像合成装置。 - 前記第1の被写体または第2の被写体の撮像中に、前記重なり検出手段において、重なりが検出されない時、重なりが存在しないことを、ユーザーあるいは撮像中の第1の被写体または第2の被写体あるいは両方に通知するシャッターチャンス通知手段を有する
ことを特徴とする請求項1に記載の画像合成装置。 - 被写体や風景を撮像する撮像手段を有し、
前記重なり検出手段で重なりが検出されない時に、前記撮像手段から得られる画像を第1被写体画像、または第2被写体画像として記録する指示を生成する自動シャッター手段を有することを特徴とする請求項1に記載の画像合成装置。 - 被写体や風景を撮像する撮像手段を有し、
前記重なり検出手段で重なりが検出される時に、前記撮像手段から得られる画像を、第1被写体画像、あるいは第2被写体画像とすることを禁止する自動シャッター手段を有する
ことを特徴とする請求項1に記載の画像合成装置。 - 背景と第1の被写体とを含む画像である第1被写体画像と、上記背景の少なくとも一部と第2の被写体とを含む画像である第2被写体画像との間での、背景部分の相対的な移動量、回転量、拡大縮小率、歪補正量のいずれかもしくは組み合わせからなる補正量を算出する、あるいは予め算出しておいた補正量を読み出す背景補正量算出ステップと、
第1被写体画像、第2被写体画像のどちらかを基準画像とし、他方の画像を被写体以外の背景の部分が少なくとも一部重なるように前記背景補正量算出ステップから得られる補正量で補正し、基準画像と補正した画像の間の差分画像中から、第1の被写体の領域と第2の被写体の領域を抽出する被写体領域抽出ステップと、
基準画像または補正した画像と前記被写体領域抽出手段から得られる領域内の画像とを重ねた画像を生成する重ね画像生成ステップと、
前記被写体領域抽出ステップから得られる第1の被写体あるいは第2の被写体の領域の数が、合成する被写体の数として設定された値と一致しない時に、第1の被写体の領域と第2の被写体の領域が重なっていると判断する重なり検出ステップと、
を有することを特徴とする画像合成方法。 - 請求項1から8のいずれか1項に記載の画像合成装置が備える各手段として、コンピュータを機能させるための画像合成プログラム。
- 請求項9に記載の画像合成方法が備える各ステップを、コンピュータに実行させるための画像合成プログラム。
- 請求項11に記載の画像合成プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002233130A JP3983624B2 (ja) | 2002-08-09 | 2002-08-09 | 画像合成装置、画像合成方法、画像合成プログラム、および画像合成プログラムを記録した記録媒体 |
US10/523,770 US7623733B2 (en) | 2002-08-09 | 2003-07-03 | Image combination device, image combination method, image combination program, and recording medium for combining images having at least partially same background |
PCT/JP2003/008510 WO2004015987A1 (ja) | 2002-08-09 | 2003-07-03 | 画像合成装置、画像合成方法、画像合成プログラム、および画像合成プログラムを記録した記録媒体 |
AU2003246268A AU2003246268A1 (en) | 2002-08-09 | 2003-07-03 | Image combination device, image combination method, image combination program, and recording medium containing the image combination program |
CNB038216264A CN100477745C (zh) | 2002-08-09 | 2003-07-03 | 图像合成装置和图象合成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002233130A JP3983624B2 (ja) | 2002-08-09 | 2002-08-09 | 画像合成装置、画像合成方法、画像合成プログラム、および画像合成プログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004072685A JP2004072685A (ja) | 2004-03-04 |
JP3983624B2 true JP3983624B2 (ja) | 2007-09-26 |
Family
ID=32018340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002233130A Expired - Fee Related JP3983624B2 (ja) | 2002-08-09 | 2002-08-09 | 画像合成装置、画像合成方法、画像合成プログラム、および画像合成プログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3983624B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4529489B2 (ja) * | 2004-03-08 | 2010-08-25 | ヤマハ株式会社 | 画像生成装置および楽器 |
JP4378258B2 (ja) | 2004-10-14 | 2009-12-02 | 富士フイルム株式会社 | 画像補正装置およびその制御方法 |
WO2009040872A1 (ja) | 2007-09-25 | 2009-04-02 | Fujitsu Limited | 画像合成装置及び方法 |
EP2425400B1 (en) * | 2009-04-29 | 2013-03-13 | Koninklijke Philips Electronics N.V. | Method of selecting an optimal viewing angle position for a camera |
JP5445127B2 (ja) * | 2009-12-28 | 2014-03-19 | カシオ計算機株式会社 | 画像処理装置及び方法、並びにプログラム |
JP5434621B2 (ja) | 2010-01-19 | 2014-03-05 | ソニー株式会社 | 情報処理装置、情報処理方法、及びそのプログラム |
JP5411806B2 (ja) * | 2010-05-25 | 2014-02-12 | 日本放送協会 | 画像合成装置およびそのプログラム |
US9153004B2 (en) | 2010-08-30 | 2015-10-06 | Rakuten, Inc. | Product image interpolating device, method and non-transitory information recording medium |
JP4763847B1 (ja) * | 2010-08-30 | 2011-08-31 | 楽天株式会社 | 画像変換装置、画像処理装置、ならびに、画像処理システム |
JP4783859B1 (ja) * | 2010-08-30 | 2011-09-28 | 楽天株式会社 | 画像変換装置、画像処理システム、画像変換方法、プログラム、ならびに、情報記録媒体 |
JP6280382B2 (ja) | 2013-03-08 | 2018-02-14 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
US10474921B2 (en) | 2013-06-14 | 2019-11-12 | Qualcomm Incorporated | Tracker assisted image capture |
JP5884811B2 (ja) | 2013-11-18 | 2016-03-15 | コニカミノルタ株式会社 | Ar表示装置、ar表示制御装置、印刷条件設定システム、印刷システム、印刷設定表示方法およびプログラム |
JP6402469B2 (ja) | 2014-04-04 | 2018-10-10 | 富士電機株式会社 | 安全制御装置および安全制御システム |
JP7023662B2 (ja) * | 2017-10-04 | 2022-02-22 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理装置の制御方法およびプログラム |
CN109120866B (zh) * | 2018-09-27 | 2020-04-03 | 腾讯科技(深圳)有限公司 | 动态表情生成方法、装置、计算机可读存储介质和计算机设备 |
-
2002
- 2002-08-09 JP JP2002233130A patent/JP3983624B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004072685A (ja) | 2004-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3983624B2 (ja) | 画像合成装置、画像合成方法、画像合成プログラム、および画像合成プログラムを記録した記録媒体 | |
WO2004015987A1 (ja) | 画像合成装置、画像合成方法、画像合成プログラム、および画像合成プログラムを記録した記録媒体 | |
US9547791B2 (en) | Image processing system, image processing apparatus, image processing method, and program | |
US9959681B2 (en) | Augmented reality contents generation and play system and method using the same | |
JP4363151B2 (ja) | 撮影装置、その画像処理方法及びプログラム | |
US20180182065A1 (en) | Apparatus, system, and method of controlling display, and recording medium | |
US6621938B1 (en) | Image capture apparatus and method | |
JP5360450B2 (ja) | 画像処理装置、画像処理方法及びコンピュータプログラム | |
CN114049459A (zh) | 移动装置、信息处理方法以及非暂态计算机可读介质 | |
JP2009086703A (ja) | 画像表示装置、画像表示方法、及び画像表示プログラム | |
JP5966584B2 (ja) | 表示制御装置、表示制御方法およびプログラム | |
KR101613438B1 (ko) | 증강현실 컨텐츠의 생성 및 재생 시스템과, 이를 이용한 방법 | |
JP5009204B2 (ja) | 撮影装置および撮影装置における画像合成方法 | |
JP2009223835A (ja) | 撮影装置、画像処理装置、これらにおける画像処理方法およびプログラム | |
JP3983623B2 (ja) | 画像合成装置、画像合成方法、画像合成プログラム、および画像合成プログラムを記録した記録媒体 | |
JP5519376B2 (ja) | 電子機器 | |
KR101518696B1 (ko) | 증강현실 컨텐츠의 생성 및 재생 시스템과, 이를 이용한 방법 | |
JP2007166383A (ja) | デジタルカメラ及び画像合成方法並びにプログラム | |
JP2006128793A (ja) | 撮像装置、及びその制御方法 | |
JP7110163B2 (ja) | 画像処理装置、撮影装置、画像処理方法、及び画像処理プログラム | |
JP4363153B2 (ja) | 撮影装置、その画像処理方法及びプログラム | |
JP2021129293A (ja) | 画像処理装置、画像処理システム、画像処理方法およびプログラム | |
JP4458720B2 (ja) | 画像入力装置およびプログラム | |
KR20200114170A (ko) | 배경 제거 사진 촬영과 이를 이용한 합성사진 촬영 방법 및 컴퓨터 프로그램 | |
CN111083345A (zh) | 独照生成装置和方法及其非易失性计算机可读媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070611 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070611 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070704 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120713 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120713 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130713 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |