(58)【調査した分野】(Int.Cl.,DB名)
前記特徴点検出手段により検出された複数の特徴点に基づいて、前記第1の画像及び前記第2の画像における前記複数の領域の各々に対応する複数のベクトルを算出するベクトル算出手段と、
前記ベクトル算出手段により算出された複数のベクトルに基づいて、前記複数の領域から特定の領域を選択する、
ことを特徴とする請求項1から3の何れか1項に記載の画像処理装置。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について、図面を用いて説明する。
【0012】
図1は、本発明の一実施形態に係る画像処理装置1のハードウェアの構成を示すブロック図である。
画像処理装置1は、例えばデジタルカメラとして構成される。
【0013】
画像処理装置1は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、画像処理部14と、バス15と、入出力インターフェース16と、撮像部17と、入力部18と、出力部19と、記憶部20と、通信部21と、ドライブ22と、を備えている。
【0014】
CPU11は、ROM12に記録されているプログラム、又は、記憶部20からRAM13にロードされたプログラムに従って各種の処理を実行する。
【0015】
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0016】
画像処理部14は、DSP(Digital Signal Processor)や、VRAM(Video Random Access Memory)等から構成されており、CPU11と協働して、画像のデータに対して各種画像処理を施す。
【0017】
CPU11、ROM12及びRAM13は、バス15を介して相互に接続されている。このバス15にはまた、入出力インターフェース16も接続されている。入出力インターフェース16には、撮像部17、入力部18、出力部19、記憶部20、通信部21及びドライブ22が接続されている。
【0018】
撮像部17は、図示はしないが、光学レンズ部と、イメージセンサと、を備えている。
【0019】
光学レンズ部は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。フォーカスレンズは、イメージセンサの受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。光学レンズ部にはまた、必要に応じて、焦点、露出、ホワイトバランス等の設定パラメータを調整する周辺回路が設けられる。
【0020】
イメージセンサは、光電変換素子や、AFE(Analog Front End)等から構成される。光電変換素子は、例えばCMOS(Complementary Metal Oxide Semiconductor)型の光電変換素子等から構成される。光電変換素子には、光学レンズ部から被写体像が入射される。そこで、光電変換素子は、被写体像を光電変換(撮像)して画像信号を一定時間蓄積し、蓄積した画像信号をアナログ信号としてAFEに順次供給する。
AFEは、このアナログの画像信号に対して、A/D(Analog/Digital)変換処理等の各種信号処理を実行する。各種信号処理によって、ディジタル信号が生成され、撮像部17の出力信号として出力される。
このような撮像部17の出力信号を、以下、「撮像画像のデータ」と呼ぶ。撮像画像のデータは、CPU11や画像処理部14等に適宜供給される。
【0021】
入力部18は、シャッタスイッチ等の各種ボタンで構成され、ユーザの指示操作に応じて各種情報や命令を入力する。
出力部19は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
記憶部20は、ハードディスク或いはDRAM(Dynamic Random Access Memory)等で構成され、各種画像のデータを記憶する。
通信部21は、インターネットを含むネットワークを介して他の装置(図示せず)との間で行う通信を制御する。
【0022】
ドライブ22には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア31が適宜装着される。ドライブ22によってリムーバブルメディア31から読み出されたプログラムは、必要に応じて記憶部20にインストールされる。また、リムーバブルメディア31は、記憶部20に記憶されている画像のデータ等の各種データも、記憶部20と同様に記憶することができる。
【0023】
図2は、このような画像処理装置1の機能的構成のうち、パノラマ画像生成処理を実行するための機能的構成を示す機能ブロック図である。ここで、「パノラマ画像生成処理」とは、連続して取得した複数の撮像画像のデータを用いてパノラマ画像のデータを生成する処理をいう。なお、「パノラマ画像」とは、35ミリ銀塩フィルムにより撮像された2:3の縦横比の画像や、デジタルカメラにより撮像された3:4の縦横比の画像と比較して、横長又は縦長の広角画像の一例である。
【0024】
画像処理装置1がパノラマ画像生成処理を実行する場合には、CPU11は、撮像制御部51及び記憶制御部52として機能する。この場合、記憶部20には、撮像画像のデータやパノラマ画像のデータ等の各種画像のデータを記憶する領域として画像記憶部53が設けられる。
【0025】
撮像制御部51は、撮像部17による各種撮像動作を制御する。
詳細には、ユーザが、デジタルカメラとしての画像処理装置1を保持したまま、入力部18のシャッタスイッチを押下操作すると、画像処理装置1は、パノラマ画像生成処理を開始する。パノラマ画像生成処理が開始すると、撮像制御部51は、撮像部17の連続撮像の動作を開始させ、一定時間経過するたびに、又は画像処理装置1が所定量移動するたびに画像を撮像させる。
この間、ユーザがシャッタスイッチの押下操作の状態を維持したままの状態が所定時間経過した場合やデジタルカメラが所定量移動した場合等の所定条件が満たされると、撮像制御部51は、撮像部17における連続撮像の動作を終了させ、パノラマ画像生成処理を終了する。
【0026】
記憶制御部52は、パノラマ画像生成処理の結果生成されたパノラマ画像のデータ等の各種画像のデータを画像記憶部53に記憶させる制御を実行する。
【0027】
また、画像処理装置1がパノラマ画像生成処理を実行する場合には、画像処理部14は、画像取得部54、位置合わせ部55及びパノラマ画像生成部56として機能する。
【0028】
画像取得部54は、撮像部17の連続撮像の動作により出力されてくる複数の撮像画像のデータ、即ち連続的に撮像された複数の画像のデータを逐次取得する。
【0029】
位置合わせ部55は、画像取得部54により取得された複数の撮像画像のデータの夫々を処理対象として、当該複数の撮像画像のうち隣接する撮像画像同士の位置合わせを行う。なお、隣接する撮像画像とは、連続的に撮像された複数の撮像画像のうちのn枚目(nは1以上の整数値)の撮像画像とn+1枚目の撮像画像とをいう。
ここで、人物等の動体がデジタルカメラの移動とは関係なく移動することを原因として違和感の有るパノラマ画像のデータが生成されることを防止するため、本実施形態の位置合わせ部55は、特徴点検出部551と、特徴点追跡部552と、類似度算出部553と、画像位置合わせ部554と、を含んで構成される。このとき、特徴点検出部551が特徴点検出手段として機能し、特徴点追跡部442がベクトル算出手段として機能し、類似度算出部553及び画像位置合わせ部554が領域選択手段として機能する。
【0030】
特徴点検出部551は、画像取得部54により取得された複数の撮像画像のデータの夫々を処理対象として、撮像画像の中から複数の特徴点を検出する。即ち、特徴点検出部551は、画像取得部54が撮像画像のデータを取得するたびに、取得した撮像画像の中から複数の特徴点を検出する。なお、特徴点検出部551は、検出した特徴点を画像取得部54が取得した撮像画像のデータと対応付けて画像記憶部53に記憶する。
このとき、特徴点検出部551は、撮像画像を複数の連続した領域(エリア)に分割した上で、当該複数の領域の各々の中から特徴点を検出する。なお、撮像画像を分割する領域は、任意の形状とすることができ、例えば、矩形状の領域を採用することができる。また、複数の領域は、後述するように、デジタルカメラの移動方向(以下、「パノラマ撮像方向」と呼ぶ)及び当該方向と略直交する方向に連続して配置されているものとする。なお、略直交とは、手振れ等によりパノラマ撮像方向が直線状にならないことがあるためであり、説明を簡易にするのであれば、水平方向のパノラマ撮像方向に対して垂直方向が略直交する方向となる。
ここで、撮像画像の中から特徴点を検出する方法は、これまで公知の方法を採用することができ、例えば、SIFT(Scale Invariant Feature Transform)を用いることとしてもよく、また、ハリスのコーナー検出を用いることとしてもよく、また、その他の方法を用いることとしてもよい。
【0031】
特徴点追跡部552は、隣接する撮像画像の夫々における複数の特徴点を処理対象として、複数の特徴点毎に、隣接する撮像画像において当該特徴点がどの様に移動したかを示すベクトル、いわゆる移動ベクトルを算出する。即ち、特徴点追跡部552は、特徴点検出部551がn+1枚目の撮像画像の中から複数の特徴点を検出すると、検出したn+1枚目の撮像画像の特徴点の中から画像記憶部53に記憶されたn枚目の撮像画像の特徴点と対応する対応点を特定し、n枚目の撮像画像の特徴点からn+1枚目の撮像画像の対応点までのベクトルを、当該特徴点のベクトルとして算出する。このとき、特徴点追跡部552は、算出したベクトルをn枚目の撮像画像のデータと対応付けて画像記憶部53に記憶する。なお、本実施形態においてベクトルとは、特徴点の移動した方向及び移動の大きさ(距離)を示す。
【0032】
類似度算出部553は、特徴点追跡部552が算出したベクトルを処理対象として、画像中の領域毎のベクトルの類似度を算出する。動体は、デジタルカメラの移動と関係なく移動するため、類似度算出部553は、ベクトルの類似度を算出することで、n枚目の撮像画像の中の動体の位置を特定する。このようにして特定した動体の位置を避けて隣接する撮像画像同士を位置合わせすることで、違和感の有るパノラマ画像のデータが生成されることを防止することができる。
ここで、パノラマ画像生成処理では、パノラマ撮像方向と略直交する方向の直線状に沿って、隣接する撮像画像のデータの位置合わせを行うことが一般的である。そこで、類似度算出部553は、複数の領域のうちパノラマ撮像方向に略直交する方向に隣接して配置された一群の領域の夫々で、ベクトルの類似度を算出する。なお、デジタルカメラでは、レンズの歪曲等の関係から撮像画像の端(上端、下端、左端、右端)に若干の補正が加えられていることがあるため、類似度算出部553は、撮像画像の端部を除いた中心付近の領域のみを対象としてベクトルの類似度を算出することが好ましい。このとき、中心付近の領域のサイズについては、例えば、レンズ性能に基づいて設定することとしてもよく、また、デジタルカメラの移動速度や撮像タイミングのように隣接する撮像画像間の移動距離に基づいて設定することとしてもよく(移動が大きい場合は中心付近も大きく、移動が小さい場合は中心付近も小さい)、任意に設定することができる。このような中心付近の領域を用いることは、ベクトルの類似度を算出する際にのみ適用することとしてもよく、また、特徴点を検出する際の領域分割の際から適用することとしてもよい。
なお、ベクトルの類似度とは、特徴点の移動した方向及び移動の大きさが類似していることを意味し、本実施形態では、SAD(Sum of Absolute Difference)計算により算出することとしている。即ち、類似度算出部553は、一群の領域内で隣り合うベクトルの差分を計算し足し合わせることで、ベクトルの類似度を算出する。このようなSAD計算では、演算結果が小さいほど一群の領域内のベクトルが類似していることを意味し、演算結果が大きいほど一群の領域内のベクトルが類似していないことを意味する。このとき、一群の領域に含まれる複数の領域の特徴点に対応点を特定することのできない特徴点が含まれる場合には、類似度算出部553は、当該一群の領域内のベクトルが類似していないと判断することが好ましい。動体の移動に伴い(例えば、動体がn+1枚目の特徴点の前面に移動したことにより)対応点を特定できない可能性が高いためである。なお、類似度の算出は、SAD計算に限らず任意の方法により行うこととしてもよく、例えば、SSD(Sum of Squared intensity Difference)計算や標準偏差等の公知の方法により算出することとしてもよい。
【0033】
画像位置合わせ部554は、特徴点追跡部552が算出した特徴点のベクトルに基づいて、隣接する撮像画像同士の位置合わせを行う。即ち、画像位置合わせ部554は、他の特徴点に比べて異常なベクトルを示す特徴点の位置を避けて、隣接する撮像画像同士の位置合わせを行う。
より具体的には、画像位置合わせ部554は、類似度算出部553が算出した一群の領域内のベクトルの類似度に基づいて隣接する撮像画像同士の位置合わせを行う。ここで、画像位置合わせ部554は、ベクトルの夫々が所定値以上類似している一群の領域の位置で位置合わせを行うこととしてもよく、ベクトルの夫々が最も類似している一群の領域の位置で位置合わせを行うこととしてもよい。これにより、デジタルカメラの移動と関係なく移動する動体を避けた位置で隣接する撮像画像同士の位置合わせを行うことができる。
【0034】
パノラマ画像生成部56は、位置合わせ部55が位置合わせした撮像画像同士の各データを合成し、パノラマ画像のデータを生成する。また、パノラマ画像生成部56は、生成したパノラマ画像のデータを画像記憶部53に記憶する。
【0035】
続いて、パノラマ画像生成処理の実行機能について、
図3及び
図4を参照して具体的に説明する。
図3は、画像処理部14の位置合わせ部55の機能を説明するための図であり、
図4は、画像処理部14の位置合わせ部55及びパノラマ画像生成部56の機能を説明するための図である。ここで、
図3及び
図4では、図中左から右方向をパノラマ撮像方向としている。
【0036】
図3(A)を参照して、画像取得部54は、連続的に撮像される撮像画像のデータを順次取得する。
図3(A)では、撮像画像70のデータ及び撮像画像80のデータが取得されている。ここで、撮像画像70は、n枚目の撮像画像であり、図中左から右方向に走る人物を示す動体71及び背景を示す静体73を撮像対象とする撮像画像である。また、撮像画像80は、n+1枚目の撮像画像であり、動体81及び静体83を撮像対象とする撮像画像である。
【0037】
図3(B)を参照して、画像取得部54が撮像画像のデータを取得すると、特徴点検出部551が順次取得された撮像画像の中から領域毎の特徴点を検出するとともに、特徴点追跡部552が隣接する撮像画像における対応点を特定する。
図3(B)では、n枚目の撮像画像70から特徴点A,B,C,D,E,F,G,H,Iを含む複数の特徴点が検出され、n+1枚目の撮像画像80から当該特徴点A乃至Iに対応する対応点A’,B’,C’,D’,E’,F’,G’,H’,I’が検出されている。なお、特徴点A乃至C、特徴点D乃至F、特徴点G乃至Iの夫々は、パノラマ撮像方向に略直交する方向に隣接する一群の領域の特徴点である。また、特徴点A乃至G及び対応点A’乃至G’は、静体73,83から検出された特徴点及び対応点であり、特徴点H,I及び対応点H’,I’は、動体71,82から検出された特徴点及び対応点である。
【0038】
図3(C)を参照して、特徴点追跡部552は、隣接する撮像画像における特徴点及び対応点を検出すると、n枚目の撮像画像70の特徴点からn+1枚目の撮像画像80の対応点までのベクトルを算出する。即ち、特徴点追跡部552は、
図3(C)に示すように例えば、特徴点Aから対応点A’までのベクトルを算出する。
このように特徴点追跡部552が特徴点から対応点までのベクトルを算出すると、類似度算出部553は、パノラマ撮像方向に略直交する方向に隣接して配置された一群の領域の夫々で、ベクトルの類似度を算出する。ここで、
図3(C)では、特徴点A乃至Gから対応点A’乃至G’については、概ねパノラマ撮像方向へのデジタルカメラの移動に伴うベクトルが算出されている一方で、特徴点H,Iから対応点H’,I’については、デジタルカメラの移動とは関係のないベクトルが算出されている。
そのため、画像位置合わせ部554は、類似度算出部553により算出された類似度から、特徴点A乃至Cを含む一群の領域及び特徴点D乃至Fを含む一群の領域についてベクトルが類似すると判定でき、特徴点G乃至Iを含む一群の領域についてはベクトルが類似しないと判定できる。
【0039】
図4(A)を参照して、画像位置合わせ部554は、ベクトルの類似度判定の結果に基づいて、隣接する撮像画像同士の位置合わせを行う。
ここで、
図4(B)に示すように、画像位置合わせ部554は、特徴点A乃至Cから対応点A’乃至C’までのベクトルが最も類似していると判定されるため、特徴点A乃至Cの位置で位置合わせを行うこととしている。
【0040】
つまり、画像位置合わせ部554は、
図4(B)に示すように、特徴点A及び対応点A’、特徴点B及び対応点B’、特徴点C及び対応点C’が一致するように、撮像画像70,80の位置合わせを行う。これにより、撮像画像70に含まれていた動体71を含まない位置で撮像画像70,80の位置合わせが行われることになる。
【0041】
図4(C)を参照して、画像位置合わせ部554が撮像画像70,80の位置合わせを行うと、パノラマ画像生成部56は、この位置合わせ結果に基づいて撮像画像70,80のデータを合成し、合成画像90のデータを生成する。
このように、本実施形態の画像処理装置1では、動体71,81を避けて撮像画像70,80の位置合わせを行うため、動体71,81の一部が切り取られてしまうといった違和感のある合成画像のデータが生成されることを防止できる。即ち、
図4(C)に示すように、撮像画像80に含まれていた動体81をそのまま含む合成画像90のデータを生成することができる。
【0042】
また、本実施形態の画像処理装置1は、動体を避けて隣接する撮像画像の位置合わせを行うため、夫々の撮像画像に含まれる動体を様々な態様で表示することができる。即ち、動体を一切含むことのないパノラマ画像のデータを生成することもでき、また、動体を1つのみ含むパノラマ画像のデータを生成することもでき、また、動体が連続的に移動する様子を表わすパノラマ画像のデータを生成することもできる。
このような動体の表示態様については、特徴点のベクトルの類似度に加え、パノラマ撮像方向及び撮像画像中の動体の位置を考慮することで実現することができる。例えば、n枚目の撮像画像中の動体の位置よりもパノラマ撮像方向に後側の位置で位置合わせを行うことでn枚目の撮像画像に含まれている動体を除くことができ、n枚目の撮像画像中の動体の位置よりもパノラマ撮像方向に前側の位置で位置合わせを行うことでn枚目の撮像画像に含まれている動体を表示することができる。
【0043】
続いて、
図5を参照してパノラマ画像生成処理について説明する。
図5は、
図2の機能的構成を有する画像処理装置1が実行するパノラマ画像生成処理の流れを示すフローチャートである。
なお、パノラマ画像生成処理は、ユーザの入力部18へのパノラマ画像生成処理を開始する操作、即ち、シャッタボタンの押下操作等を契機に開始される。
【0044】
ステップS1において、撮像制御部51は、撮像部17が連続撮像をするように制御する。
【0045】
ステップS2において、画像取得部54は、撮像部17が撮像するたびに撮像画像のデータを取得する。このとき、画像取得部54は、取得した撮像画像のデータを画像記憶部53に一時的に記憶する。
【0046】
ステップS3において、特徴点検出部551は、ステップS2の処理で取得された撮像画像のデータから複数の特徴点を検出し、画像記憶部53に一時的に記憶する。
【0047】
ステップS4において、特徴点追跡部552は、ステップS3の処理を行った撮像画像が2枚目以降のものであるか否かを判断する。2枚目以降の撮像画像である場合には、ステップS4においてYESと判断されて、処理はステップS5に進み、2枚目以降でない、即ち、1枚目の撮像画像である場合には、ステップS4においてNOと判断されて、処理はステップS1に戻る。
【0048】
ステップS5において、特徴点追跡部552は、画像記憶部53から隣接する撮像画像(前回に撮像された撮像画像)における特徴点を抽出した後、隣接する撮像画像間で対応する特徴点を比較することで、隣接する撮像画像間での複数の特徴点のベクトルを算出する。
【0049】
ステップS6において、類似度算出部553は、ステップS5の処理で算出した複数の特徴点のベクトルの類似度を算出する。具体的には、類似度算出部553は、パノラマ撮像方向と直交する方向に隣接する一群の領域の夫々で、ベクトルの類似度を算出する。
【0050】
ステップS7において、画像位置合わせ部554は、ステップS6の処理で算出したベクトルの類似度に基づいて隣接する撮像画像の位置合わせを行う。例えば、画像位置合わせ部554は、ベクトルの夫々が最も類似している一群の領域を選択して、当該領域の位置で位置合わせを行う。
【0051】
ステップS8において、パノラマ画像生成部56は、ステップS7の処理で位置合わせした撮像画像同士の各データを合成し、パノラマ画像のデータを生成する。
【0052】
ステップS9において、CPU11は、パノラマ画像生成処理を終了すべきか判断する。例えば、デジタルカメラが所定以上移動した場合や、ユーザによる所定の終了操作を受け付けた場合等に、CPU11は、パノラマ画像生成処理を終了すべきと判断する。ステップS9においてYESと判断されると、記憶制御部52は、これまで生成したパノラマ画像のデータを画像記憶部53に記憶してパノラマ画像生成処理を終了する。また、ステップS9においてNOと判断されると、処理はステップS10に移る。
【0053】
ステップS10において、CPU11又は画像処理部14は、エラーが発生したか否かを判断する。例えば、デジタルカメラがパノラマ撮像方向と直交する方向に所定以上移動した場合(即ち、手振れが大きい場合)や、撮像画像から十分な数の特徴点を検出できない場合等に、CPU11又は画像処理部14は、エラーが発生したと判断する。ステップS10においてYESと判断されると、パノラマ画像生成処理は終了し、ステップS11においてNOと判断されると、処理はステップS1に移る。
【0054】
以上のように構成される画像処理装置1は、撮像部17から供給される撮像画像のデータを処理対象として、隣接する撮像画像同士の位置合わせを行う位置合わせ部55と、位置合わせ部55の位置合わせ結果に基づいて隣接する撮像画像のデータを合成することでパノラマ画像のデータを生成するパノラマ画像生成部56と、を備える。このとき、位置合わせ部55は、隣接する撮像画像間における複数の特徴点のベクトルを算出する特徴点追跡部552と、算出した複数の特徴点のベクトルに基づいて、隣接する撮像画像同士を位置合わせする画像位置合わせ部554と、を備える。
これにより、ベクトルが異常な特徴点の位置を避けて、即ちデジタルカメラの移動とは関係なく移動する動体の位置を避けて、隣接する撮像画像同士の位置合わせを行うことができる。その結果、合成の結果得られるパノラマ画像において、動体の一部が切り取られてしまうことを防止することができ、違和感のないパノラマ画像のデータを生成することができる。
また、画像処理装置1では、特徴点のベクトルに加え、パノラマ撮像方向と撮像画像中の動体の位置を考慮することで、合成の結果得られるパノラマ画像において動体を様々な態様で表示することができる。即ち、動体を一切含むことのないパノラマ画像のデータを生成することもでき、また、動体を1つのみ含むパノラマ画像のデータを生成することもでき、また、動体が連続的に移動する様子を表わすパノラマ画像のデータを生成することもできる。
【0055】
このとき、パノラマ画像生成処理では、パノラマ撮像方向と略直交する方向で隣接する撮像画像のデータの位置合わせを行うことが一般的であるため、動体を避ける位置を特定するために、パノラマ撮像方向と略直交する方向に隣接するベクトルの類似度を用いることが好ましい。これにより、隣接する撮像画像同士をパノラマ撮像方向と略直交する方向の直線状で位置合わせすることができ、波形状で位置合わせを行う場合のような複雑な演算を必要とすることがない。
【0056】
なお、類似度に基づいてとは、ベクトルの夫々が所定以上類似している一群の領域の位置で位置合わせを行うこととしてもよく、ベクトルの夫々が最も類似している一群の領域の位置で位置合わせを行うこととしてもよい。所定の類似度で位置合わせを行った場合には、撮像画像中の動体の位置に応じて任意に位置合わせを行うことができ、動体の表示態様を任意に設定することができる。また、最も類似する一群の位置で位置合わせを行った場合には、隣接する撮像画像のデータを最も自然に合成することができる。
【0057】
また、デジタルカメラでは、レンズの歪曲等の関係から撮像画像の端部に若干の補正が加えられていることが一般的であるため、撮像画像の端部を除いた中心付近の領域を対象として一群の領域を特定することが好ましい。これにより、レンズの歪曲に関わらず特徴点のベクトルを正確に算出することができ、隣接する撮像画像のデータを適切に合成することができる。
【0058】
以上、本実施形態の画像処理装置1について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0059】
上述の実施形態では、パノラマ画像生成処理において、隣接する撮像画像の位置合わせや合成を、撮像画像のデータを取得するたびに行うこととしているが、パノラマ画像のデータを生成するための全ての撮像画像のデータを取得した後に、位置合わせや合成をまとめて行うこととしてもよい。
【0060】
また、上述の実施形態では、本発明が適用される画像処理装置1は、デジタルカメラを例として説明したが、特にこれに限定されない。
例えば、本発明は、パノラマ画像生成機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、ノート型のパーソナルコンピュータ、プリンタ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等に適用可能である。
【0061】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、
図2の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が画像処理装置1に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に
図2の例に限定されない。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【0062】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0063】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される
図1のリムーバブルメディア31により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア31は、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)等により構成される。光磁気ディスクは、MD(Mini−Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている
図1のROM12や、
図1の記憶部20に含まれるハードディスク等で構成される。
【0064】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【0065】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、更に、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0066】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
撮像部の移動を伴い連続的に撮像された複数の画像を取得する取得手段と、
前記取得手段により取得された画像を複数の領域に分割する分割手段と、
前記分割手段により分割された複数の領域における特徴点を夫々検出する特徴点検出手段と、
前記特徴点検出手段により夫々検出された特徴点に基づいて、前記複数の画像の隣接する画像間における前記複数の領域に対応するベクトルを複数算出するベクトル算出手段と、
前記ベクトル算出手段により算出された複数のベクトルに基づいて、前記分割された複数の領域から特定の領域を選択する領域選択手段と、
前記領域選択手段により選択された特定の領域に基づいて、前記隣接する画像同士を合成することで合成画像を生成する生成手段と、
を備えることを特徴とする画像処理装置。
[付記2]
前記分割手段は、前記取得された画像を複数の連続した領域に分割し、
前記分割手段により分割された複数の領域のうち、前記移動の方向に略直交する方向に隣接して配置された一群の領域の夫々について、前記算出されたベクトル同士の類似度を算出する類似度算出手段と、
を更に備え、
前記領域選択手段は、類似度算出手段により算出された類似度に基づいて、前記一群の領域を、前記特定の領域として選択する
ことを特徴とする付記1に記載の画像処理装置。
[付記3]
前記類似度算出手段は、前記画像の中心部分における前記一群の領域の夫々について、前記ベクトルの類似度を算出する、
ことを特徴とする付記2に記載の画像処理装置。
[付記4]
前記領域選択手段は、前記一群の領域の夫々の前記ベクトルが最も類似する位置を、前記隣接する画像同士を位置合わせする領域として選択する、
ことを特徴とする付記2又は3に記載の画像処理装置。
[付記5]
撮像部の移動を伴い連続的に撮像された複数の画像を取得する取得ステップと、
前記取得ステップにより取得された画像を複数の領域に分割する分割ステップと、
前記分割ステップにより分割された複数の領域における特徴点を夫々検出する特徴点検出ステップと、
前記特徴点検出ステップにより夫々検出された特徴点に基づいて、前記複数の画像の隣接する画像間における前記複数の領域に対応するベクトルを複数算出するベクトル算出ステップと、
前記ベクトル算出ステップにより算出された複数のベクトルに基づいて、前記分割された複数の領域から特定の領域を選択する領域選択ステップと、
前記領域選択ステップにより選択された特定の領域に基づいて、前記隣接する画像同士を合成することで前記合成画像を生成する生成ステップと、
を含むことを特徴とする画像処理方法。
[付記6]
コンピュータを、
撮像部の移動を伴い連続的に撮像された複数の画像を取得する取得手段、
前記取得手段により取得された画像を複数の領域に分割する分割手段、
前記分割手段により分割された複数の領域における特徴点を夫々検出する特徴点検出手段、
前記特徴点検出手段により夫々検出された特徴点に基づいて、前記複数の画像の隣接する画像間における前記複数の領域に対応するベクトルを複数算出するベクトル算出手段、
前記ベクトル算出手段により算出された複数のベクトルに基づいて、前記分割された複数の領域から特定の領域を選択する領域選択手段、
前記領域選択手段により選択された特定の領域に基づいて、前記隣接する画像同士を合成することで前記合成画像を生成する生成手段、
として機能させることを特徴とするプログラム。