JP2006099497A - パノラマ画像の合成 - Google Patents

パノラマ画像の合成 Download PDF

Info

Publication number
JP2006099497A
JP2006099497A JP2004285688A JP2004285688A JP2006099497A JP 2006099497 A JP2006099497 A JP 2006099497A JP 2004285688 A JP2004285688 A JP 2004285688A JP 2004285688 A JP2004285688 A JP 2004285688A JP 2006099497 A JP2006099497 A JP 2006099497A
Authority
JP
Japan
Prior art keywords
image data
image
order
photographing
function
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.)
Pending
Application number
JP2004285688A
Other languages
English (en)
Inventor
Naoki Kojima
直樹 小島
Tomohiro Ozawa
智裕 小澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004285688A priority Critical patent/JP2006099497A/ja
Publication of JP2006099497A publication Critical patent/JP2006099497A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】 パノラマ画像の合成を、簡単な操作によって行なうことができるようにして、作業性の向上を図る。
【解決手段】 パノラマ画像の作成に用いる画像データDpiの数nから、パノラマ画像が取り得る可能性のある配列が、候補配列として求められる(図中a〜d)。複数の画像データDpiは、撮影した画像の一部が重複するように、主撮影方向である横方向に撮影範囲を移動させながら撮影したものである。複数の画像データDpiを、その撮影の順序に従って各候補配列の形に合成したときの正否が、主撮影方向に直交する縦方向における隣接する2つの画像データの接続可能性Sから判定される。接続可能性Sが高いと判定された候補配列は正配列として決定され、複数の画像データDpiは、正配列MMとなるように、撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成される。
【選択図】 図7

Description

本発明は、画像の一部が重複するように撮影した複数の画像データをつなぎ合わせて、複数の画像を合成したパノラマ画像を作成する技術に関する。
近年、デジタルカメラ(デジタルスチールカメラ)とパーソナルコンピュータの普及に伴い、デジタルカメラで撮影した画像データをパーソナルコンピュータを用いて様々に処理することが可能となっている。様々な処理の一つとして、デジタルカメラで撮影した複数の画像データを基にパノラマ画像を合成するパノラマ画像合成処理がある。
このパノラマ画像合成処理では、デジタルカメラにより画像の一部が重複するように被写体像を複数に分割して撮影し、得られた複数の画像に対し、隣接する画像データ間のつなぎを合わせて(共通する部分を重ね合わせて)パノラマ画像を生成する。このようなパノラマ画像合成処理の内容は、例えば特許文献1に開示されている。
特開2000−90232号公報
ところで、上記技術では、複数の画像データをどのような配列で並べるかを、操作者が一々指定してあげなければならなかった。例えば、複数の画像データのサムネールの一覧を表示して、操作者は、ドラッグ&ドロップでサムネールを一つずつ横一列の直線状、縦一列の直線状、あるいは縦横複数のタイル状に組み合わせることで、配列を指定していた。このために、操作者は多くの手操作を要し、作業性が悪いという問題があった。
本発明の解決しようとする課題は、パノラマ画像の合成を、簡単な操作によって行なうことができるようにして、作業性の向上を図ることにある。
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
本発明の第1のパノラマ画像合成装置は、
画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するパノラマ画像合成装置であって、
前記複数の画像データを取り込む画像取込手段と、
前記複数の画像データについての前記撮影の順序を認識する撮影順序認識手段と、
前記複数の画像データの数をカウントする画像数カウント手段と、
前記画像数カウント手段により得られた数で取り得る画像データの配列を、候補配列として求める候補配列算出手段と、
前記画像取込手段により取り込んだ複数の画像データを、前記撮影の順序に従って前記各候補配列の形に合成したときの正否を、前記縦、横のうちの主撮影方向と相違する側の方向における隣接する2つの画像データの接続可能性から判定する判定手段と、
前記判定手段により正しいと判定された前記候補配列を、前記パノラマ画像を構成する正配列と決定して、前記画像取込手段により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する画像合成手段と
を備えることを要旨としている。
ここで、画像データの配列とは、横一列の並び、縦一列の並び、および、縦横複数のタイル状の全体が矩形となった並びのいずれかが該当する。
上記構成のパノラマ画像合成装置によれば、パノラマ画像の作成に用いる画像データの数から、パノラマ画像が取り得る可能性のある画像データの配列が、候補配列として求められる。複数の画像データは、画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影したものである。判定手段では、複数の画像データを、その撮影の順序に従って各候補配列の形に合成したときの正否を、前記縦、横のうちの主撮影方向と相違する側の方向における隣接する2つの画像データの接続可能性から判定している。判定手段により正しいと判定された候補配列を正配列と決定して、複数の画像データを、正配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する。
このために、複数の画像データをどのような配列で並べるかを、操作者が一々指定しなくても、パノラマ画像を構成する配列が、画像データの接続可能性から自動的に決定される。したがって、操作者による操作の手数を減らして、作業性の向上を図ることができる。
前記画像合成手段は、前記画像取込手段により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って並べて、表示装置に表示する正配列表示手段と、操作者からの操作指令を受けて、パノラマ画像の作成の実行を指令する実行指令手段と、前記実行指令手段により実行の指令がなされたときに、前記合成を実行する手段とを備える構成としてもよい。
この構成によれば、自動的に決定された配列が正しいかどうかを、操作者が視認することができることから、パノラマ画像を誤った配列で合成してしまう失敗を回避することができる。
また、前記画像合成手段は、前記画像取込手段により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って並べて、表示装置に表示する正配列表示手段と、前記合成を実行するに際して、隣接する画像データ間でつなぎ合わせが可能かを判定するつなぎ合わせ判定手段と、前記つなぎ合わせ判定手段によりつなぎ合わせが不可能である画像データ間が存在すると判定されたときに、前記正配列表示手段により表示される画像データの並びにおける前記つなぎ合わせが不可能であると判定された画像データ間に、つなぎ合わせが不可能である旨を示すマークを表示するエラーマーク表示手段とを備える構成としてもよい。
この構成によれば、自動的に配列を決定する際に、2つの画像データの間でつなぎ合わせが不可能であると判定された場合に、そのつなぎ合わせが不可能となった部分を、マークによって操作者に知らせることができる。
前記撮影順序認識手段は、前記画像データに付属された撮影日時のデータに基づいて撮影の順序を認識する構成とすることができる。この構成によれば、パノラマ画像の作成に用いる画像データを撮影の順序に容易に並べることができる。
また、前記撮影順序認識手段は、前記撮影を行なう撮影装置への画像データの格納順に対応したデータファイル名を認識する構成とすることができる。この構成によっても、パノラマ画像の作成に用いる画像データを撮影の順序に容易に並べることができる。
本発明の第2のパノラマ画像合成装置は、
画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するパノラマ画像合成装置であって、
前記複数の画像データを取り込む画像取込手段と、
前記複数の画像データについての前記撮影の順序を認識する撮影順序認識手段と、
前記複数の画像データの中から、前記縦、横のうちの主撮影方向と相違する側の方向において正当につなぎ合わされる2つの画像データを検索して、該2つの画像データについての前記撮影の順序に基づいて、前記パノラマ画像を構成する画像データの配列を求める画像配列算出手段と、
前記画像取込手段により取り込んだ複数の画像データを、前記画像配列算出手段により求められた画像データの配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する画像合成手段と
を備えることを要旨としている。
上記構成のパノラマ画像合成装置によれば、パノラマ画像の作成に用いる複数の画像データは、画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影したものである。そして、複数の画像データの中から、前記縦、横のうちの主撮影方向と相違する側の方向において正当につなぎ合わされる2つの画像データを検索して、その画像データについての前記撮影の順序に基づいて、パノラマ画像を構成する画像データの配列を求める。その後、複数の画像データを、その求めた配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する。
このために、複数の画像データをどのような配列で並べるかを、操作者が一々指定しなくても、パノラマ画像を構成する配列が、画像データのつながりから自動的に決定される。したがって、操作者による操作の手数を減らして、作業性の向上を図ることができる。
上記第2のパノラマ画像合成装置において、前記複数の画像データの数をカウントする画像数カウント手段を備え、前記画像配列算出手段は、前記2つの画像データについての前記撮影の順序に加えて、前記画像数カウント手段で得られた画像データの数に基づいて、前記パノラマ画像を構成する画像データの配列を求める構成とすることができる。
この構成によれば、画像データの配列を求めるに際して、画像データの数を基にすることから、画像データの配列の主撮影方向の数だけでなく、主撮影方向と相違する側の方向における数も求めることができる。
本発明の第1のパノラマ画像合成方法は、
画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するパノラマ画像合成方法であって、
(a)前記複数の画像データを取り込む行程と、
(b)前記複数の画像データについての前記撮影の順序を認識する行程と、
(c)前記複数の画像データの数をカウントする行程と、
(d)前記行程(c)により得られた数で取り得る画像データの配列を、候補配列として求める行程と、
(e)前記行程(a)により取り込んだ複数の画像データを、前記撮影の順序に従って前記各候補配列の形に合成したときの正否を、前記縦、横のうちの主撮影方向と相違する側の方向における隣接する2つの画像データの接続可能性から判定する行程と、
(f)前記行程(e)により正しいと判定された前記候補配列を、前記パノラマ画像を構成する正配列と決定して、前記行程(a)により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する行程と
を備えることを要旨としている。
本発明の第1のコンピュータプログラムは、
画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するためのコンピュータプログラムであって、
(a)前記複数の画像データを取り込む機能と、
(b)前記複数の画像データについての前記撮影の順序を認識する機能と、
(c)前記複数の画像データの数をカウントする機能と、
(d)前記機能(c)により得られた数で取り得る画像データの配列を、候補配列として求める機能と、
(e)前記機能(a)により取り込んだ複数の画像データを、前記撮影の順序に従って前記各候補配列の形に合成したときの正否を、前記縦、横のうちの主撮影方向と相違する側の方向における隣接する2つの画像データの接続可能性から判定する機能と、
(f)前記機能(e)により正しいと判定された前記候補配列を、前記パノラマ画像を構成する正配列と決定して、前記機能(a)により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する機能と
をコンピュータに実現させるためのコンピュータプログラムである。
本発明の第1のパノラマ画像合成方法および第1のコンピュータプログラムによっても、本発明の第1のパノラマ画像合成装置と同様に、パノラマ画像の合成を簡単な操作によって行なうことができ、作業性に優れているという効果を奏する。
本発明の第2のパノラマ画像合成方法は、
画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するパノラマ画像合成方法であって、
(a)前記複数の画像データを取り込む行程と、
(b)前記複数の画像データについての前記撮影の順序を認識する行程と、
(c)前記複数の画像データの中から、前記縦、横のうちの主撮影方向と相違する側の方向において正当につなぎ合わされる2つの画像データを検索して、該2つの画像データについての前記撮影の順序に基づいて、前記パノラマ画像を構成する画像データの配列を求める行程と、
(d)前記行程(a)により取り込んだ複数の画像データを、前記行程(c)により求められた画像データの配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する行程と
を備えることを要旨としている。
本発明の第2のコンピュータプログラムは、
画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するためのコンピュータプログラムであって、
(a)前記複数の画像データを取り込む機能と、
(b)前記複数の画像データについての前記撮影の順序を認識する機能と、
(c)前記複数の画像データの中から、前記縦、横のうちの主撮影方向と相違する側の方向において正当につなぎ合わされる2つの画像データを検索して、該2つの画像データについての前記撮影の順序に基づいて、前記パノラマ画像を構成する画像データの配列を求める機能と、
(d)前記機能(a)により取り込んだ複数の画像データを、前記機能(c)により求められた画像データの配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する機能と
をコンピュータに実現させるためのコンピュータプログラムである。
本発明の第2のパノラマ画像合成方法および第2のコンピュータプログラムによっても、本発明の第2のパノラマ画像合成装置と同様に、パノラマ画像の合成を簡単な操作によって行なうことができ、作業性に優れているという効果を奏する。
本発明の記録媒体は、本発明の第1または第2のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体を特徴としている。この記録媒体は、この発明の各コンピュータプログラムと同様な作用・効果を有している。
本発明は、以下のような他の態様も含んでいる。その第1の態様は、この発明のコンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。この第1の態様では、コンピュータプログラムをコンピュータネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の方法や装置を実現することができる。
本発明を実施するための最良の形態を実施例に基づき説明する。この実施例を、次の順序に従って説明する。
1.第1実施例:
A.装置の構成:
B.コンピュータ処理:
B−1.処理の全体:
B−2.つなぎ合わせ処理:
C.作用・効果:
2.第2実施例:
3.他の実施形態:
1.第1実施例:
A.装置の構成:
図1は、本発明の第1実施例を適用するコンピュータシステムの概略構成を示す説明図である。この実施例のコンピュータシステムは、本発明のパノラマ画像合成装置を構成するパーソナルコンピュータ10を中心に備え、その周辺装置として、ディスプレイ20とキーボード22とマウス24を備える。さらに、パーソナルコンピュータ10には、デジタルカメラ26とCDドライブ28とプリンタ29が接続されている。マウス24は、トラックボール、トラックパッド、タブレット等の他のポインティングデバイスに換えることができる。
パーソナルコンピュータ10は、中央演算処理装置としてのCPU11を中心にバス12により相互に接続されたメモリ13、表示画像メモリ14、ハードディスクドライブ15、入力制御ユニット16、表示制御ユニット17、出力制御ユニット18等を備える。メモリ13は、各種データ等を記憶するもので、CPU11の作業領域となる。表示画像メモリ14は、ディスプレイ20に表示する画像の画像データを一旦記憶するメモリである。
ハードディスクドライブ15は、パノラマ画像合成装置のソフトウェアとしてのコンピュータプログラムPrを記憶する。また、ハードディスクドライブ15には、パノラマ画像合成に用いる複数の画像データDpi(i=1〜nで、nは正の整数)が記憶されている。画像データDpiは、デジタルカメラ26によって撮影した撮影画像の画像データであり、ハードディスクドライブ15の所定の領域(例えば、ホルダ)に格納されている。撮影画像は、カラー画像である。
図2は、デジタルカメラ26によって撮影された複数の撮影画像の一例を示す説明図である。図示するように、複数の撮影画像は、撮影した画像の一部が重複するように、被写体としての風景を2行、3列の合計6枚に分割して撮影したものである。すなわち、複数の撮影画像P1〜P6は、撮影した画像の一部が重複するように、撮影範囲を左上から、上段の中央、右上、左下、下段の中央、右下と移動させながらそれぞれ撮影したものである。
換言するなら、複数の撮影画像は、画像の一部が重複するように、撮影範囲を左上から主撮影方向である右方向に順に移動して、右端に至ると、副撮影方向である下方向に一つ移動して、同様に、左端から主撮影方向である右方向に順に移動する。こうして、主撮影方向への撮影範囲の移動を繰り返して、複数の撮影画像の撮影を行なう(以下、この撮影の方式を「主撮影方向方式」と呼ぶ)。なお、複数の撮影画像は、必ずしも縦横複数のタイル状に撮影する必要はなく、横一列に撮影してもよいし、縦一列に撮影してもよい。なお、上記複数の撮影画像P1〜P6は、画像データDp1〜Dp6として、ハードディスクドライブ15に格納される(図1参照)。
図1に戻り、入力制御ユニット16は、キーボード22やマウス24から入力操作を取り込み、デジタルカメラ26から画像データを取り込み、CDドライブ28からデータを取り込む制御ユニットである。表示制御ユニット17は、ディスプレイ20への信号出力を制御する制御ユニットである。出力制御ユニット18は、プリンタ29への印刷を制御する制御ユニットである。
コンピュータプログラムPrは、もともとは、記録媒体としてのCD−ROM(図示せず)に記憶されている。そのCD−ROMをCDドライブ28にセットして、所定のインストールプログラムを起動することで、コンピュータプログラムPrをCD−ROMから読み出してハードディスクドライブ15にインストールすることができる。このコンピュータプログラムPrをCPU11が実行することにより、本発明のパノラマ画像合成装置の各種構成要件は実現される。
図1では、各種構成要件が、CPU11の内部で実現される機能のブロックによって示されている。すなわち、CPU11は、画像取込部31、撮影順序認識部32、画像数カウント部33、候補配列算出部34、判定部35および画像合成部36を機能として備える。
なお、コンピュータプログラムPrは、CD−ROMに替えて、フレキシブルディスク、光磁気ディスク、ICカード等の他の携帯型記録媒体(可搬型記録媒体)に格納された構成として、これらから提供されたものとすることができる。また、このコンピュータプログラムPrは、外部のネットワークに接続される特定のサーバから、ネットワークを介して提供されたものとすることもできる。上記ネットワークとしては、インターネットであってもよく、特定のホームページからダウンロードして得たコンピュータプログラムであってもよい。あるいは、電子メールの添付ファイルの形態で供給されたコンピュータプログラムであってもよい。
B.コンピュータ処理:
B−1.処理の全体:
パーソナルコンピュータ10のCPU11でコンピュータプログラムPrを実行することで、上述した画像取込部31、撮影順序認識部32、画像数カウント部33、候補配列算出部34、判定部35および画像合成部36を実現している。このコンピュータプログラムPrに従う制御処理について、以下詳細に説明する。
図3は、この制御処理の全体的な流れを示すフローチャートである。このルーチンは、コンピュータプログラムPrを起動させる旨の指示がなされたときに、実行開始される。図示するように、処理が開始されると、CPU11は、まず、アプリケーションウィンドウWDをCRTディスプレイ12に表示する処理を行なう(ステップS100)。
図4は、このアプリケーションウィンドウWDを示す説明図である。図示するように、アプリケーションウィンドウWDの左側の処理メニュー欄MNには、「入力」、「合成」、「印刷」、「出力」の4種類のボタンBT1、BT2、BT3、BT4が、下方に向かって順に並んでおり、操作者は、これらボタンBT1〜BT4を順にマウス24によりクリックしていくことで、CRTディスプレイ12の画面上で、デジタルカメラ26で撮影した画像を1枚のパノラマ画像に合成して出力する作業を進めていくことができる。すなわち、図3に示すように、CPU11は、ステップ100の実行後、ボタンBT1〜BT4がマウス24によりクリックされる操作指令を取り込んで、その操作指令に対応した入力処理、パノラマ画像合成処理、印刷処理、出力処理を順に実行する(ステップS200、S300、S400、S500)。
ステップS200で実行される入力処理は、パノラマ画像合成に用いる複数の画像データを取り込むもので、ここでは、デジタルカメラ26によって撮影されてハードディスクドライブ15に格納された前述した画像データDpi(画像データDp1〜Dp6)を取り込む。この画像データDpiの取り込み作業は、図4に示されるアプリケーションウィンドウWDのメニューバーBR1に設けられた「ファイル」のボタンBT11が、マウス24によりクリックされる操作指令を受けて、ファイル名を指定されることで1画像データ毎に行なわれる。なお、フォルダ等を指定することで複数の画像データを一括して取り込む構成としてもよい。また、ハードディスクドライブ15を一旦経由することなしに、デジタルカメラ26から直接取り込む構成とすることもできる。
上記のようにして取り込まれた複数の画像データDp1〜Dp6は、メモリ13の所定のエリアに格納されるが、それとともに、図4に示すように、アプリケーションウィンドウWDの作業フィールドFDWに表示される。なお、画像データDp1〜Dp6のメモリ13への格納の際には、各画像データDp1〜Dp6に付属されたタグ情報の「撮影日時」のデータを読み出して、このデータから各画像データDp1〜Dp6の撮影の順序を求めて、この撮影順序を示すデータ(撮影順序データ)をメモリ13に併せて記憶する。撮影順序データの一例としては、画像データDp1〜Dp6のファイル名を撮影順序に従って順に並べた構成である。作業フィールドFDWに表示される各画像データDp1〜Dp6は、撮影順序データに従う順番で、左上から右方向に、右端に至ると行を替えて、左から右方向へと表示される。このステップS200で実行される入力処理(上記撮影順序データを記憶する処理を含む)が、画像取込部31(図1)および撮影順序認識部32(図1)に対応する。
ステップS300で実行されるパノラマ画像合成は、ステップS200で入力した複数の画像データDp1〜Dp6をつなぎ合わせて1枚のパノラマ画像を合成するものであり、詳細については後述する。なお、ここで作成されたパノラマ画像のデータPDは、HDD42に格納される。
ステップS400で実行される印刷処理は、ステップS300で作成されたパノラマ画像データPDを、印刷コマンドとしてプリンタドライバに出力するものである。この印刷の処理は、周知の構成であり、ここでは詳しく説明はしないが、これによって画像データDp1〜Dp6をつなぎ合わせたパノラマ画像を表わすパノラマ画像データPDがプリンタ29から印刷されることになる。
ステップS500で実行される出力処理は、ステップS300で作成されたパノラマ画像データPDを、外部機器に出力するものである。これによって上記パノラマ画像データPDが所望の外部機器に出力されることになる。
B−2.パノラマ画像合成処理:
ステップS300で実行されるパノラマ画像合成処理について、以下詳細に説明する。図5ないし図6は、このパノラマ画像合成処理を示すフローチャートである。このルーチンに処理が移行すると、図示するように、CPU11は、まず、ステップS200の入力処理で取り込んだ画像データDpiの数nをカウントする処理を行なう(ステップS310)。例えば、図2に示した例では、数nは6となる。なお、図示はしないが、ここで数nが1である場合には、画像合成は不要であるとして、このパノラマ画像合成処理を終了する。
次いで、CPU11は、前記画像データDpiの数nで取り得る画像データの配列を、候補配列Mとして算出する処理を行なう(ステップS320)。図7は、画像データDpiの数nが6の場合に取り得る候補配列Mの一覧を示す説明図である。図中の(a)は、横一列の候補配列(以下、「6×1の候補配列」とも呼ぶ)であり、(b)は、横方向に2つで縦方向に3つの候補配列(以下、「2×3の候補配列」とも呼ぶ)であり、(c)は、横方向に3つで縦方向に2つの候補配列(以下、「3×2の候補配列」とも呼ぶ)であり、(d)は、縦一列の候補配列(以下、「1×6の候補配列」とも呼ぶ)である。
図5に戻り、CPU11は、ステップS320の実行後、ステップS320で得られた複数の候補配列Mの中から、作成したいパノラマ画像を構成するのに正しい配列(以下、「正配列」と呼ぶ)を決定する正配列判定処理を実行する(ステップS330)。
図8は、正配列判定処理の詳細を示すフローチャートである。図示するように、CPU11は、この正配列判定処理に処理が移行すると、まず、変数XSに値0を代入する処理を行なう(ステップS331)。次いで、CPU11は、ステップS320で得られた複数の候補配列Mのうちの一つを読み出す(ステップS332)。
続いて、CPU11は、ステップS200で取り込んだ複数の画像データDpiを、同じくステップS200で記憶した撮影順序データの順序に従って、ステップS332で読み出した候補配列Mの形に組み合わせたときに、その候補配列Mの第1列目に含まれる複数の画像データのうちの隣接する2つの画像データの間の接続可能性Sを算出する処理を行なう(ステップS333)。
具体的には、ステップS200で取り込んだ複数の画像データDp1、Dp2、Dp3、Dp4、Dp5、Dp6が、この順序で撮影されたものであるとすると、ステップS332で読み出した候補配列Mが、「2×3の候補配列」である場合には、まず、図7の(b)に示すように、画像データDp1〜Dp6を並べる。次いで、第1列目に含まれる画像データDp1,Dp3,Dp5のうちの隣接する2画像データの間、すなわち、画像データDp1とDp3との間と,画像データDp3とDp5との間の各接続可能性S1、S2を算出する。そうして、接続可能性S1、S2の平均値を求めて、この平均値を「2×3の候補配列」の接続可能性Sとして記憶する。
また、ステップS332で読み出した候補配列Mが、「3×2の候補配列」である場合には、まず、図7の(c)に示すように、画像データDp1〜Dp6を並べる。次いで、第1列目に含まれる2つの画像データDp1,Dp4の間の接続可能性を算出して、この接続可能性を「3×2の候補配列」の接続可能性Sとして記憶する。
ステップS332で読み出した候補配列Mが、「1×6の候補配列」である場合には、まず、図7の(d)に示すように、画像データDp1〜Dp6を並べる。次いで、第1列目に含まれる画像データDp1〜Dp6のうちの隣接する2画像データの間、すなわち、画像データDp1とDp2との間と,画像データDp2とDp3の間と、画像データDp3とDp4との間と,画像データDp4とDp5の間と、画像データDp5とDp6との間の各接続可能性S1,S2,S3,S4,S5を算出する。そうして、接続可能性S1〜S5の平均値を求めて、この平均値を「1×6の候補配列」の接続可能性Sとして記憶する。
なお、ステップS332で読み出した候補配列Mが、「6×1の候補配列」である場合には、第1列目に含まれる画像データは2つないことから、接続可能性Sは値0として記憶する。
2つの画像データの間の接続可能性の算出は、2つの画像の位置関係を求める画像位置関係演算プログラムを用いて行なわれる。画像位置関係演算プログラムは、このパノラマ画像合成のソフトウェアに内蔵されているものであり、次のようなものである。
画像位置関係演算プログラムは、基本的には次の手順で構成されているものである。
(1)2つの画像データがどの方向で重複しているかを示すデータを外部から受け取る。
(2)入力された2つの画像をグレイスケールにそれぞれ変換する。
(3)上記グレイスケールの画像上でコーナーとなっているポイントを複数(例えば、100〜200)取得する。
(4)一方の画像のポイントについて、他方の画像で対応する可能性のあるポイントを上記(1)で取得した方向を考慮に入れて調べる。具体的には、上記方向を考慮した上で、一方の画像の各ポイントと、他方の画像の各ポイントとの全ての組み合わせについて、局所相互相関度を計算して、その計算値が、所定の閾値よりも大きい局所相互相関度となったポイントの組み合わせをマッチングする可能性の組み合わせとする。
(5)上記ポイントの組み合わせが1対1になるように処理する。あるポイント同士が正しい組み合わせであるとすれば、その近くにある回りのポイントも正しい組み合わせとなる可能性が高い。この特徴を利用して、あるポイントの組み合わせのマッチング度を周囲のポイントがどれだけ指示しているかから、正しいポイントの組み合わせを求める。
ステップS333では、実際には、2つの画像データの接続の方向を上から下への縦方向として指定した上で、上記(5)で得られた正しいポイントの組み合わせの数が、上記(3)で取得したポイントの総数に対してどれだけの割合があるかを計算して、その割合を接続可能性として算出している。
なお、上記画像位置関係演算プログラムでは、上記(1)に示したように、接続の方向を入力するようになっているが、これは処理速度の向上のためであり、上記(1)を不要とする構成とすることができる。この場合には、画像位置関係演算プログラムは、求めた接続可能性とともに、2画像の接続の方向を出力するようにすればよい。
図8に戻って、CPU11は、その後、ステップS334に処理を進めて、ステップS333で得られた接続可能性Sが、ステップS331で値0にセットした変数XSよりも大きいか否かを判別する。ここで、接続可能性Sが変数XSより大きいと判定された場合には、CPU11は、その接続可能性Sを変数XSに代入するとともに、このときの候補配列Mを正配列MMとして記憶する(ステップS335、S336)。その後、CPU11は、ステップS337に処理を進める。なお、ステップS334で、接続可能性Sが変数XS以下であると判定された場合には、CPU11は、ステップS335、S336の処理を実行することなく、ステップS337に処理を進める。
ステップS337では、CPU11は、ステップS320で得られた全ての候補配列MについてステップS332ないしS336の処理を終了したか否かを判定する。ここで未だ全て終了していないと判定されると、ステップS332に処理を戻して、次の候補配列Mを読み出して、この読み出した候補配列MについてのステップS332ないしS336の処理を実行する。一方、ステップS337で、全て終了したと判別されると、ステップS338に処理を進める。
ステップS338では、CPU11は、変数XSが、所定値S0(例えば50%)以下であるか否かを判別する。ここで、所定値S0以下であると判別された場合には、ステップS336で記憶された正配列MMを、横一列の配列に変更する(ステップS339)。ステップS339の実行後、「リターン」に抜けて、この正配列判定処理を一旦終了する。一方、変数XSが所定値S0を超えると判別された場合には、ステップS339を実行することなく、「リターン」に抜けて、この正配列判定処理を一旦終了する。
すなわち、以上のように構成された正配列判定処理によれば、候補配列Mが、縦一列の配列または縦横複数のタイル状の配列である場合には、最も接続可能性Sの高い候補配列Mが選択され、このときの接続可能性Sが所定値S0(50%)を超える場合には、その選択された候補配列Mが、正配列MMとして記憶される。一方、接続可能性Sが所定値S0以下である場合には、横一列の候補配列Mが、正配列MMとして記憶される。
図5に戻り、ステップS330の正配列判定処理の実行後、次いで、CPU11は、ステップS200の入力処理で取り込んだ画像データDpiを、同じくステップS200で記憶した撮影順序に従って、ステップS330で求めた正配列に並べて表示する処理を行なう(ステップS340)。
図9は、合成処理用のダイアログボックスDB1を示す説明図である。図示するように、このダイアログボックスDB1の左半分には、画像データDpiを正配列に並べた様子を表示する配列表示フィールドFD1が設けられ、右半分には、合成結果を表示する合成結果表示フィールドFD2が設けられている。配列表示フィールドFD1の下方には、[作成]ボタンBT21が設けられ、合成結果表示フィールドFD2の下方には、[終了]ボタンBT22が設けられている。
配列表示フィールドFD1には、矩形のブロックがタイル状に表示されている。図5のステップS340では、ステップS330で求めた正配列と対応する複数のブロックに対して、ステップS200でメモリ13に記憶された撮影順序データの順序に従って画像データDpiをそれぞれ表示する。なお、この実施例においては、前提条件として、前述した主撮影方向方式で撮影がなされているという条件があることから、正配列に画像データDpiを並べる際にも、この主撮影方向方式と同様な順序で並べられる。すなわち、左上から右方向に順に移動して、右端に至ると下方向に一つ移動して、左端から右方向に順に移動するというに、右方向への移動を繰り返してタイル状に画像データDpiは並べられる。この結果、図2の例示の場合には、配列表示フィールドFD1の左上(第1行、第1列目)のブロックに画像データDp1が、第1行、第2列目のブロックに画像データDp2が、第1行、第3列目のブロックに画像データDp3が、第2行、第1列目のブロックに画像データDp4が、第2行、第2列目のブロックに画像データDp5が、第2行、第3列目のブロックに画像データDp6がそれぞれ表示される。
図5に戻り、ステップS340の実行後、CPU11は、ダイアログボックスDB1に備えられた[作成]ボタンBT21が、操作者によるマウス24の操作によりクリックされたか否かを判別する(ステップS350)。ここで、クリックされていないと判別されると、ステップS350の処理を繰り返して、操作者によるクリックがなされるのを待つ。ステップS350で、クリックされたと判別されると、CPU11は、変数iに値1を代入する処理を行ない(ステップS360)、その後、図6のステップS370に処理を進める。
図7に示すように、ステップS370では、ステップS200でメモリ13に記憶された撮影順序データを参照して、撮影順序が変数iで定まるi番目の画像データDpiを読み出す処理を行なう。
続いて、CPU11は、ステップS270で読み出した画像データDpiを、ステップS330で求めた正配列におけるi番目の位置に配置して、隣接画像との間をつなぎ合わせる処理を行なう。ここで言う「正配列におけるi番目の位置」というのは、前述した主撮影方向方式に従う順位である。図2に示した例では、左上(第1行−第1列目)、第1行−第2列目、第1行−第3列目、第2行−第1列目、第2行−第2列目、第2行−第3列目という順に順位が定められている。「隣接画像との間」というのは、これまでに配置してきたi−1番目までの画像の中の隣接する画像との間を言う。
つなぎ合わせの処理は、画像位置関係演算プログラムを用いて2つの画像の位置関係を求めて、この位置関係から重複する部分を重ね合わせることで、2つの画像が自然なつながりで接続されるように合成する。この合成結果は、メモリ13に一時的に格納され、この時点では、ディスプレイ20への表示はない。
次いで、CPU11は、ステップS380での画像のつなぎ合わせの処理でエラーが発生したか否かを判定する(ステップS390)。詳細には、つなぎ合わせの処理を行なうに際して、画像位置関係演算プログラムで2つの画像の位置関係が対応しないと判定されたとき、すなわち前述したように求められる接続可能性が、所定の閾値を下回ると判定されたときは、その2つの画像のつなぎ合わせは不可能であるとして、処理結果を"エラー"と出力する。ステップS390では、"エラー"の処理結果を受けると、そのエラーが発生した2つの画像データの間に、つなぎ合わせが不可能である旨を示すマークMKを表示する処理を行なう(ステップS391)。
図10は、2つの画像データの間でつなぎ合わせが不可能であった旨を示すマークMKの一例を示す説明図である。図示するように、このマークMKは、「×」印である。画像データDp4とDp5との間のつなぎ合わせが不可能であったとして「×」印のマークMKが表示される。操作者は、2つの画像の間に「×」印のマークMKを発見することで、両者の画像は自動的にうまくつなぎ合わせることができないことを知ることができる。なお、このマークMKが表示されたときには、図示するように、配列表示フィールドFD1の下方に[特徴点指定]ボタンBT23が現われる。
その後、CPU11は、[特徴点指定]ボタンBT23が、操作者によるマウス24の操作によりクリックされたか否かを判別する(ステップS392)。ここで、クリックされていないと判別されると、ステップS392の処理を繰り返して、操作者によるクリックがなされるのを待つ。ステップS392で、クリックされたと判別されると、キーボード22とマウス24からの操作者による入力操作に従って、前記エラーが発生した2つの画像データに対して、両者をつなぎ合わせる特徴点を指定する処理を行なう(ステップS393)。
図11は、特徴点指定用のダイアログボックスDB2を示す説明図である。このダイアログボックスDB2は、合成処理用のダイアログボックスDB1に設けられた[特徴点指定]ボタンBT23が、クリックされるのを受けて表示される。図示するように、このダイアログボックスDB2の左半分には、エラーが発生した2つの画像データの内の一方側の画像データを表示する第1画像表示フィールドFD11が、右半分には、エラーが発生した2つの画像データの内の他方側の画像データを表示する第2画像表示フィールドFD12がそれぞれ表示される。
図示するように、第1画像表示フィールドFD11に表示された一方側の画像(第1画像)のうちの重複部分W1に、所定の特徴点X1を、操作者はマウス24によりクリックすることで指定して、次いで、この指定した特徴点に対応する特徴点X2を、第2画像表示フィールドFD12に表示された他方側の画像(第2画像)のうちの重複部分Wに、操作者はマウス24によりクリックすることで指定する。特徴点X1,X2は、各画像における共通する部位(図示の例では、家屋の屋根の左端部)であり、操作者による視認によりその位置が決定される。両画像に指定された特徴点X1,X2は1対1で対応される。この特徴点X1,X2の組合せを、図示はしていないが複数箇所(例えば4箇所)にわたって行なう。
図6に戻って、ステップS393の実行後、CPU11は、ステップS393で指定した両画像における複数組の特徴点X1,X2の間の対応関係から、両画像をつなぎ合わせる処理を行なう(ステップS394)。詳細には、特徴点X1,X2が組毎にそれぞれ一致するように両画像を重ね合わせることで、両画像が自然なつながりで接続されるように合成する。なお、ステップS393で、特徴点の指定が不可能であった場合等、両画像のつなぎ合わせが不可能と操作者により判断された場合には、ステップS395で接続不能と判定されて、ステップS396に処理を進める。ステップS396では、CPU11は、「接続不能」である旨を、合成処理用のダイアログボックスDB1(図9参照)の合成結果表示フィールドFD2に表示する。
一方、ステップS390で、画像のつなぎ合わせの処理がエラーでないと判定された場合、または、ステップS395で、操作者によるつなぎ合わせが不可能でないと判定された場合には、CPU11は、変数iを値1だけインクリメントして(ステップS397)、その変数iが、画像データDpiの数nより大きいか否かを判定する(ステップS398)。
ステップS398で、変数iが数n以下であると判定された場合には、ステップS200で入力した全ての画像データDp1〜Dpnについての合成が未だ終わっていないとして、ステップS370に処理を戻して、ステップS370ないしS397の処理を繰り返し実行する。一方、ステップS398で、変数iが数nを上回ると判定された場合には、全ての画像データDp1〜Dpnについての合成が終了したとして、メモリ13に格納された全ての画像データDp1〜Dpnの合成結果をパノラマ画像として、合成処理用のダイアログボックスDB1の合成結果表示フィールドFD2に表示する(ステップS399)。
図12は、合成して得られたパノラマ画像の表示を行なう合成処理用のダイアログボックスDB1を示す説明図である。図示するように、配列表示フィールドFD1に表示した配列の画像データDpiを合成した合成結果がパノラマ画像として、合成結果表示フィールドFD2に表示される。
ステップS396またはS399の実行後、「リターン」に抜けて、このパノラマ画像合成処理を一旦終了する。
以上のように構成されたパノラマ画像合成処理のステップS310が画像数カウント部33(図1)に、ステップS320が候補配列算出部34(図1)に、ステップS330が判定部35(図1)に、ステップS360ないしS399が画像合成部36(図1)にそれぞれ対応する。
C.作用・効果:
以上のように構成されたこの実施例のコンピュータシステムによれば、パノラマ画像の作成に用いる画像データDpiの数nから、パノラマ画像が取り得る可能性のある配列が、候補配列Mとして求められる。複数の画像データDpiは、撮影した画像の一部が重複するように、主撮影方向である横方向に撮影範囲を移動させながら撮影したものである。複数の画像データDpiを、その撮影の順序に従って各候補配列Mの形に合成したときの正否が、主撮影方向に直交する縦方向における隣接する2つの画像データの接続可能性Sから判定される。接続可能性Sが高いと判定された候補配列Mは正配列MMとして決定され、複数の画像データDpiは、正配列MMとなるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成される。
このために、複数の画像データDpiをどのような配列で並べるかを、操作者が一々指定しなくても、パノラマ画像を構成する配列が、画像データの接続可能性から自動的に決定される。したがって、操作者による操作の手数を減らして、作業性の向上を図ることができる。
また、この実施例では、パノラマ画像を合成するに先立ち、正配列判定処理で自動的に決定された正配列をダイアログボックスDB1の配列表示フィールドFD1に表示するように構成されている。このために、自動的に決定された配列が正しいかどうかを、操作者が視認することができることから、パノラマ画像を誤った配列で合成してしまう失敗を回避することができる。
2.第2実施例:
本発明の第2実施例について次に説明する。この第2実施例のコンピュータシステムは、第1実施例のコンピュータシステムと比較して、パーソナルコンピュータ10のCPU11にて実行されるパノラマ画像合成処理(第1実施例では、図5〜図6で示したもの)の構成が相違し、その他のソフトウェア構成やハードウェア構成については同一の構成を備える。したがって、第1実施例と同一の構成については同一の符号を用いて以下の説明を行なうことにする。
図13は、第2実施例におけるパノラマ画像合成処理の詳細を示すフローチャートである。このパノラマ画像合成処理に処理が移行すると、図示するように、CPU11は、まず、ステップS200の入力処理で取り込んだ画像データDpiの数nをカウントする処理を行なう(ステップS510)。この処理は、第1実施例のステップS310と同一である。
次いで、CPU11は、変数iに値2を代入する処理を行ない(ステップS520)、その後、ステップS200でメモリ13に記憶された撮影順序データを参照して、撮影順序が変数iで定まるi番目の画像データDpiを読み出す処理を行なう(ステップS530)。ステップS530の処理は、第1実施例のステップS530と同一である。
その後、CPU11は、ステップS530で読み出した画像データDpiと、前回のステップS530の実行時に読み出したi―1番目の画像データDpi−1との接続可能性Saを算出する処理を行なう(ステップS540)。2つの画像データの間の接続可能性の算出は、第1実施例と同様に、画像位置関係演算プログラムを用いて行なわれる。このとき、2つの画像データの接続の方向を左から右への横方向として指定した上で接続可能性を求める。この算出した接続可能性Saが、予め定めた閾値である所定値S0(例えば、50%)を上回るか否かを判別する(ステップS550)。
ステップS550で、接続可能性Saが所定値S0を上回ると判別された場合には、撮影順序が連続する2つの画像データDpi,Dpi−1の間でのつなぎ合わせが可能であるとして、CPU11は、ステップS560に処理を進める。ステップS560では、変数iを値1だけインクリメントして、その変数iが、画像データDpiの数nより大きいか否かを判定して(ステップS570)、変数iが数n以下であると判定された場合には、ステップS530に処理を戻して、ステップS530ないしS560の処理を繰り返し実行する。
一方、ステップS570で、変数iが数nを上回ると判定された場合には、全ての画像データDp1〜Dpnについて隣接する画像データ間のつなぎ合わせが可能であるとして、パノラマ画像を構成する正配列MMは、横一列の配列であると判定する(ステップS580)。
ステップS550で、接続可能性Saが所定値S0以下であるあると判別された場合には、撮影順序が連続する2つの画像データDpi,Dpi−1の間でのつなぎ合わせが不可能であるとして、CPU11は、ステップS590に処理を進める。ステップS590では、ステップS530で読み出した画像データDpiと、配列の左上(第1行、第1列目)の画像データDp1との接続可能性Sbを算出する処理を行なう。2つの画像データの間の接続可能性の算出は、ステップS540と同様に、画像位置関係演算プログラムを用いて行なわれる。このとき、2つの画像データの接続の方向を上から下への縦方向として指定した上で接続可能性を求める。この算出した接続可能性Sbが、所定値S0(例えば、50%)を上回るか否かを判別する(ステップS600)。
ステップS600で、接続可能性Sbが所定値S0を上回ると判別された場合には、画像データDpiと左上の画像データDp1との間でつなぎ合わせが可能であるとして、CPU11は、ステップS610に処理を進める。図14に示すように、画像データDpiが、一つ前に読み出した画像データDpi−1との間でつなぎ合わせが不可能であり、第1番目に読み出した配列の左上の画像データDp1との間でつなぎ合わせが可能であると言うことは、この画像データDpiで行が変更になったことが判る。
したがって、ステップS610では、CPU11は、正配列MMの列数aを、変数iから値1だけ引いて求める。図14の例では、列数aは値3となる。その後、CPU11は、画像データDpiの数nを列数aで割ることで、正配列MMの行数bを求める(ステップS620)。CPU11は、ステップS580またはS620の実行後、第1実施例と同一のステップS340ないしS398の処理を実行して、このルーチンの処理を一旦終了する。
一方、ステップS600で、接続可能性Sbが所定値S0以下であると判別された場合には、画像データDpiと左上の画像データDp1との間でつなぎ合わせが不可能であり、かつステップS550でも、撮影順序が連続する2つの画像データDpi,Dpi−1の間でのつなぎ合わせが不可能であるということから、接続可能性SaまたはSbの判定に誤りがあったとして、エラー処理を行なう(ステップS630)。エラー処理としては、エラーである旨を操作者に報知する等の処理がなされる。
以上のように構成されたこの第2実施例のコンピュータシステムによれば、パノラマ画像の作成に用いる複数の画像データDpiの中から、縦、横のうちの主撮影方向と相違する側の方向(この実施例では、縦方向)において正当につなぎ合わされる左上の画像データDp1と第4番目の画像データDp4を検索して、その画像データについての撮影順序における各順位に基づいて、パノラマ画像を構成する画像データの横方向の配列(列数a)が求められる。そうして、画像データDpiの数nとに基づいて、縦方向の配列(行数b)についても求められる。その後、複数の画像データDpiは、a×bの配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成される。
このために、第1実施例と同様に、複数の画像データDpiをどのような配列で並べるかを、操作者が一々指定しなくても、パノラマ画像を構成する配列が、画像データの接続可能性から自動的に決定される。したがって、操作者による操作の手数を減らして、作業性の向上を図ることができる。
なお、この第2実施例の第1の変形例として、横方向の配列(列数a)だけを求めて、縦方向の配列(行数b)については求めない構成とすることもできる。この構成によっても、画像を合成する際に、左上から前述した主撮影方向方式によって画像データを順につなぎ合わせていけば、行数bを必ずしも算出しなくても全ての画像データの合成が可能である。
また、この第2実施例では、第1列目における第1行目と第2行目の間の画像データのつながりに基づいて、配列を求めていたが、これに換えて、第1列目における第2行目と第3行目の間の画像データのつながりに基づいて、配列を求める構成とすることもできる。同様に、第1列目の他の箇所の隣接する2つの画像データのつながりをみる構成としてもよいし、あるいは、他の列に換えることもできる。
3.他の実施形態:
なお、この発明は上記の第1、第2実施例や変形例に限られるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することが可能であり、例えば次のような変形も可能である。
(1)前記第1、第2実施例では、前提条件として、被写体を前述した主撮影方向方式の撮影順序で撮影を行なっており、この順序に一致させた順序で、複数の画像データのつなぎ合わせを行なっている。図15は、そのつなぎ合わせの順序を示すものである。これに対して、他の実施形態として、撮影の前提条件を変更して、図16に示すように、画像データのつなぎ合わせの順序を様々に変えることができる。
図16の(a)は、つなぎ合わせる画像を、左上から右方向に順に移動して、右端に至ると、副撮影方向である下方向に一つ移動して、右端から左方向に移動する。こうして、一筆書きの蛇行状となる順序でつなぎ合わせを行なう構成とすることもできる。もちろん、前提条件として、被写体を撮影する順序は、つなぎ合わせの順序と一致させて蛇行状とする必要がある。
なお、前記第1、第2実施例や上記他の実施形態では、主撮影方向は、横方向となっているが、これに換えて、主撮影方向を縦方向とすることもできる。すなわち、図16の(b)に示すように、つなぎ合わせる画像を、左上から主撮影方向である下方向に順に移動して、下端に至ると、副撮影方向である右方向に一つ移動して、同様に、上端から主撮影方向である下方向に順に移動するという順序でつなぎ合わせる構成とすることもできる。
また、図16の(c)に示すように、つなぎ合わせる画像を、左上から下方向に順に移動して、下端に至ると、副撮影方向である右方向に一つ移動して、下端から上方向に移動するという蛇行状の順序でつなぎ合わせる構成とすることもできる。なお、図16の(b)の例も(c)の例も、被写体を撮影する順序は、つなぎ合わせの順序と一致させる必要がある。
(2)前記第1、第2実施例や変形例では、撮影順序認識手段として、各画像データに付属されたタグ情報の「撮影日時」のデータに従って、撮影の順序を認識するように構成していたが、これに替えて、デジタルカメラ26の記憶媒体への格納順に対応したデータファイル名に従って撮影の順序を認識する構成としてもよい。また、撮影順序を示すデータをメモリ13に記憶するように構成されていたが、これに換えて、撮影順序データをメモリ13に記憶することなしに、画像データを記憶媒体から読み出す際に一々、各画像データに付属された「撮影日時」のデータを見て撮影順序を認識して、読み出す画像データを定める構成とすることもできる。
(3)前記実施例では、パノラマ画像を作成するために用いる画像データDpiは、デジタルカメラ26により撮影したものとしたが、これに替えて、カラースキャナ等を用いて獲得した銀塩写真の画像データであってもよい。要は、なんらかの撮影装置(例えば、静止画の撮影機能を持ったビデオカメラ)で撮影して得られた撮影画像を獲得する構成であれば、どのような構成であってもよい。例えば、HDD15等の記憶装置に予め用意したものに換えて、ネットワークを介して外部から取り込んだものであってもよい。また、必ずしもカラーの画像データである必要もなく、白黒の画像データに適用することもできる。
本発明の参考例として次の構成を開示することもできる。すなわち、この構成は、パノラマ画像を作成するために用いる全ての画像データDpiから抽出した2つの画像データの全ての組合せについて、両画像データの接続可能性を検出して、接続可能性の高いもの同士をつなぎあわせることで、最終的に正しい配列に合成して、パノラマ画像を作成するというものである。この構成によれば、高速のコンピュータ装置を用いることで、複数の画像データから自動的にパノラマ画像を作成することができる。翻って、前述してきた本発明の第1、第2実施例や変形例では、家庭に普及しているようなパーソナルコンピュータであっても、パノラマ画像を簡単な操作によって作成することができる。
本発明の第1実施例を適用するコンピュータシステムの概略構成を示す説明図である。 デジタルカメラ26によって撮影された複数の撮影画像P1〜P6の一例を示す説明図である。 コンピュータプログラムに従う制御処理の全体的な流れを示すフローチャートである。 アプリケーションウィンドウWDを示す説明図である。 パノラマ画像合成処理の前半部分を示すフローチャートである。 パノラマ画像合成処理の後半部分を示すフローチャートである。 画像データDpiの数nが6の場合に取り得る候補配列の一覧を示す説明図である。 正配列判定処理の詳細を示すフローチャートである。 合成処理用のダイアログボックスDB1を示す説明図である。 2つの画像データの間でつなぎ合わせが不可能であった旨を示すマークMKの一例を示す説明図である。 特徴点指定用のダイアログボックスDB2を示す説明図である。 合成して得られたパノラマ画像の表示を行なう合成処理用のダイアログボックスDB1を示す説明図である。 第2実施例におけるパノラマ画像合成処理の詳細を示すフローチャートである。 上記パノラマ画像合成処理の内容を示す説明図である。 第1、第2実施例における画像データのつなぎ合わせの順序を示す説明図である。 他の実施形態における画像データのつなぎ合わせの順序を示す説明図である。
符号の説明
10...パーソナルコンピュータ
11...CPU
12...バス
13...メモリ
14...表示画像メモリ
15...ハードディスクドライブ
16...入力制御ユニット
17...表示制御ユニット
18...出力制御ユニット
20...ディスプレイ
22...キーボード
24...マウス
26...デジタルカメラ
28...CDドライブ
29...プリンタ
31...画像取込部
32...撮影順序認識部
33...画像数カウント部
34...候補配列算出部
35...判定部
36...画像合成部
Dp1〜Dp6...画像データ
M...候補配列
MM...正配列
Pr...コンピュータプログラム
S...接続可能性
WD...アプリケーションウィンドウ
DB1...合成処理用のダイアログボックス
FD1...配列表示フィールド
FD2...合成結果表示フィールド
BT21...[作成]ボタン
BT22...[終了]ボタン
BT23...[特徴点指定]ボタン
DB2...特徴点指定用のダイアログボックス

Claims (14)

  1. 画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するパノラマ画像合成装置であって、
    前記複数の画像データを取り込む画像取込手段と、
    前記複数の画像データについての前記撮影の順序を認識する撮影順序認識手段と、
    前記複数の画像データの数をカウントする画像数カウント手段と、
    前記画像数カウント手段により得られた数で取り得る画像データの配列を、候補配列として求める候補配列算出手段と、
    前記画像取込手段により取り込んだ複数の画像データを、前記撮影の順序に従って前記各候補配列の形に合成したときの正否を、前記縦、横のうちの主撮影方向と相違する側の方向における隣接する2つの画像データの接続可能性から判定する判定手段と、
    前記判定手段により正しいと判定された前記候補配列を、前記パノラマ画像を構成する正配列と決定して、前記画像取込手段により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する画像合成手段と
    を備えるパノラマ画像合成装置。
  2. 請求項1に記載のパノラマ画像合成装置であって、
    前記画像合成手段は、
    前記画像取込手段により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って並べて、表示装置に表示する正配列表示手段と、
    操作者からの操作指令を受けて、パノラマ画像の作成の実行を指令する実行指令手段と、
    前記実行指令手段により実行の指令がなされたときに、前記合成を実行する手段と
    を備えるパノラマ画像合成装置。
  3. 請求項1に記載のパノラマ画像合成装置であって、
    前記画像合成手段は、
    前記画像取込手段により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って並べて、表示装置に表示する正配列表示手段と、
    前記合成を実行するに際して、隣接する画像データ間でつなぎ合わせが可能かを判定するつなぎ合わせ判定手段と、
    前記つなぎ合わせ判定手段によりつなぎ合わせが不可能である画像データ間が存在すると判定されたときに、前記正配列表示手段により表示される画像データの並びにおける前記つなぎ合わせが不可能であると判定された画像データ間に、つなぎ合わせが不可能である旨を示すマークを表示するエラーマーク表示手段と
    を備えるパノラマ画像合成装置。
  4. 請求項1ないし3のいずれかに記載のパノラマ画像合成装置であって、
    前記撮影順序認識手段は、前記画像データに付属された撮影日時のデータに基づいて撮影の順序を認識する構成である、
    パノラマ画像合成装置。
  5. 請求項1ないし3のいずれかに記載のパノラマ画像合成装置であって、
    前記撮影順序認識手段は、前記撮影を行なう撮影装置への画像データの格納順に対応したデータファイル名を認識する構成である、
    パノラマ画像合成装置。
  6. 画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するパノラマ画像合成装置であって、
    前記複数の画像データを取り込む画像取込手段と、
    前記複数の画像データについての前記撮影の順序を認識する撮影順序認識手段と、
    前記複数の画像データの中から、前記縦、横のうちの主撮影方向と相違する側の方向において正当につなぎ合わされる2つの画像データを検索して、該2つの画像データについての前記撮影の順序に基づいて、前記パノラマ画像を構成する画像データの配列を求める画像配列算出手段と、
    前記画像取込手段により取り込んだ複数の画像データを、前記画像配列算出手段により求められた画像データの配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する画像合成手段と
    を備えるパノラマ画像合成装置。
  7. 請求項6に記載のパノラマ画像合成装置であって、
    前記複数の画像データの数をカウントする画像数カウント手段を備え、
    前記画像配列算出手段は、
    前記2つの画像データについての前記撮影の順序に加えて、前記画像数カウント手段で得られた画像データの数に基づいて、前記パノラマ画像を構成する画像データの配列を求める構成である、
    パノラマ画像合成装置。
  8. 画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するパノラマ画像合成方法であって、
    (a)前記複数の画像データを取り込む行程と、
    (b)前記複数の画像データについての前記撮影の順序を認識する行程と、
    (c)前記複数の画像データの数をカウントする行程と、
    (d)前記行程(c)により得られた数で取り得る画像データの配列を、候補配列として求める行程と、
    (e)前記行程(a)により取り込んだ複数の画像データを、前記撮影の順序に従って前記各候補配列の形に合成したときの正否を、前記縦、横のうちの主撮影方向と相違する側の方向における隣接する2つの画像データの接続可能性から判定する行程と、
    (f)前記行程(e)により正しいと判定された前記候補配列を、前記パノラマ画像を構成する正配列と決定して、前記行程(a)により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する行程と
    を備えるパノラマ画像合成方法。
  9. 画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するパノラマ画像合成方法であって、
    (a)前記複数の画像データを取り込む行程と、
    (b)前記複数の画像データについての前記撮影の順序を認識する行程と、
    (c)前記複数の画像データの中から、前記縦、横のうちの主撮影方向と相違する側の方向において正当につなぎ合わされる2つの画像データを検索して、該2つの画像データについての前記撮影の順序に基づいて、前記パノラマ画像を構成する画像データの配列を求める行程と、
    (d)前記行程(a)により取り込んだ複数の画像データを、前記行程(c)により求められた画像データの配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する行程と
    を備えるパノラマ画像合成方法。
  10. 画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するためのコンピュータプログラムであって、
    (a)前記複数の画像データを取り込む機能と、
    (b)前記複数の画像データについての前記撮影の順序を認識する機能と、
    (c)前記複数の画像データの数をカウントする機能と、
    (d)前記機能(c)により得られた数で取り得る画像データの配列を、候補配列として求める機能と、
    (e)前記機能(a)により取り込んだ複数の画像データを、前記撮影の順序に従って前記各候補配列の形に合成したときの正否を、前記縦、横のうちの主撮影方向と相違する側の方向における隣接する2つの画像データの接続可能性から判定する機能と、
    (f)前記機能(e)により正しいと判定された前記候補配列を、前記パノラマ画像を構成する正配列と決定して、前記機能(a)により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する機能と
    をコンピュータに実現させるためのコンピュータプログラム。
  11. 請求項10に記載のコンピュータプログラムであって、
    前記機能(f)は、
    (f−1)前記機能(a)により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って並べて、表示装置に表示する機能と、
    (f−2)操作者からの操作指令を受けて、パノラマ画像の作成の実行を指令する機能と、
    (f−3)前記(f−2)により実行の指令がなされたときに、前記合成を実行する機能と
    を備えるコンピュータプログラム。
  12. 請求項10に記載のコンピュータプログラムであって、
    前記機能(f)は、
    (f−1)前記機能(a)により取り込んだ複数の画像データを、前記正配列となるように、前記撮影の順序に従って並べて、表示装置に表示する機能と、
    (f−2)前記合成を実行するに際して、隣接する画像データ間でつなぎ合わせが可能かを判定する機能と、
    (f−3)前記機能(f−2)によりつなぎ合わせが不可能である画像データ間が存在すると判定されたときに、前記(f−1)により表示される画像データの並びにおける前記つなぎ合わせが不可能であると判定された画像データ間に、つなぎ合わせが不可能である旨を示すマークを表示する機能と
    を備えるコンピュータプログラム。
  13. 画像の一部が重複するように、縦、横のいずれか一方を主撮影方向として撮影範囲を移動させながら撮影した複数の画像データをつなぎ合わせることにより、複数の画像を合成したパノラマ画像を作成するためのコンピュータプログラムであって、
    (a)前記複数の画像データを取り込む機能と、
    (b)前記複数の画像データについての前記撮影の順序を認識する機能と、
    (c)前記複数の画像データの中から、前記縦、横のうちの主撮影方向と相違する側の方向において正当につなぎ合わされる2つの画像データを検索して、該2つの画像データについての前記撮影の順序に基づいて、前記パノラマ画像を構成する画像データの配列を求める機能と、
    (d)前記機能(a)により取り込んだ複数の画像データを、前記機能(c)により求められた画像データの配列となるように、前記撮影の順序に従って、隣接する画像データ間のつなぎを合わせつつ合成する機能と
    をコンピュータに実現させるためのコンピュータプログラム。
  14. 請求項10ないし13のいずれかに記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2004285688A 2004-09-30 2004-09-30 パノラマ画像の合成 Pending JP2006099497A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004285688A JP2006099497A (ja) 2004-09-30 2004-09-30 パノラマ画像の合成

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004285688A JP2006099497A (ja) 2004-09-30 2004-09-30 パノラマ画像の合成

Publications (1)

Publication Number Publication Date
JP2006099497A true JP2006099497A (ja) 2006-04-13

Family

ID=36239233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004285688A Pending JP2006099497A (ja) 2004-09-30 2004-09-30 パノラマ画像の合成

Country Status (1)

Country Link
JP (1) JP2006099497A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007136209A (ja) * 2005-11-22 2007-06-07 General Electric Co <Ge> ディジタル医用画像を管理するための方法及びシステム
KR101391042B1 (ko) 2011-04-06 2014-04-30 가시오게산키 가부시키가이샤 광각 화상을 생성 가능한 화상 처리 장치
WO2019003796A1 (ja) * 2017-06-28 2019-01-03 富士フイルム株式会社 画像合成方法、画像合成装置、及び記録媒体
WO2020003548A1 (ja) * 2018-06-29 2020-01-02 株式会社日立システムズ 画像表示システムおよび方法
CN112396699A (zh) * 2020-11-30 2021-02-23 常州市星图测绘科技有限公司 一种基于无人机影像进行地块自动勾画的方法
KR20230148999A (ko) * 2022-04-19 2023-10-26 비스타테크놀러지 주식회사 반도체 불량 검사용 고해상도 이미지 합성 방법
WO2024030537A1 (en) * 2022-08-03 2024-02-08 Industrial Video Solutions Inc. Systems and methods for monitoring and controlling industrial processes
US11932991B2 (en) 2022-08-03 2024-03-19 Industrial Video Solutions Inc. Systems and methods for monitoring and controlling industrial processes

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007136209A (ja) * 2005-11-22 2007-06-07 General Electric Co <Ge> ディジタル医用画像を管理するための方法及びシステム
KR101391042B1 (ko) 2011-04-06 2014-04-30 가시오게산키 가부시키가이샤 광각 화상을 생성 가능한 화상 처리 장치
WO2019003796A1 (ja) * 2017-06-28 2019-01-03 富士フイルム株式会社 画像合成方法、画像合成装置、及び記録媒体
CN110809779B (zh) * 2017-06-28 2023-07-28 富士胶片株式会社 图像合成方法、图像合成装置及记录介质
US11423511B2 (en) 2017-06-28 2022-08-23 Fujifilm Corporation Image composition method, image composition device, and recording medium
CN110809779A (zh) * 2017-06-28 2020-02-18 富士胶片株式会社 图像合成方法、图像合成装置及记录介质
CN110915201B (zh) * 2018-06-29 2021-09-28 株式会社日立*** 图像显示***以及方法
CN110915201A (zh) * 2018-06-29 2020-03-24 株式会社日立*** 图像显示***以及方法
JP7051616B2 (ja) 2018-06-29 2022-04-11 株式会社日立システムズ 画像表示システムおよび方法
JP2020005186A (ja) * 2018-06-29 2020-01-09 株式会社日立システムズ 画像表示システムおよび方法
WO2020003548A1 (ja) * 2018-06-29 2020-01-02 株式会社日立システムズ 画像表示システムおよび方法
CN112396699A (zh) * 2020-11-30 2021-02-23 常州市星图测绘科技有限公司 一种基于无人机影像进行地块自动勾画的方法
KR20230148999A (ko) * 2022-04-19 2023-10-26 비스타테크놀러지 주식회사 반도체 불량 검사용 고해상도 이미지 합성 방법
KR102680424B1 (ko) * 2022-04-19 2024-07-02 비스타테크놀러지 주식회사 반도체 불량 검사용 고해상도 이미지 합성 방법
WO2024030537A1 (en) * 2022-08-03 2024-02-08 Industrial Video Solutions Inc. Systems and methods for monitoring and controlling industrial processes
US11932991B2 (en) 2022-08-03 2024-03-19 Industrial Video Solutions Inc. Systems and methods for monitoring and controlling industrial processes

Similar Documents

Publication Publication Date Title
US6392658B1 (en) Panorama picture synthesis apparatus and method, recording medium storing panorama synthesis program 9
JP5491243B2 (ja) 検査システム
JP4902765B2 (ja) 情報処理システム及び情報処理方法
JP2011070632A (ja) 検査システム、携帯端末、検査方法およびプログラム
JP2005250950A (ja) マーカ提示用携帯端末および拡張現実感システムならびにその動作方法
JP2011217065A (ja) 撮像装置、撮像方法およびプログラム
JP2010277442A (ja) 建設検査システム、携帯端末、建設検査方法およびプログラム
CN104321803A (zh) 图像处理装置、图像处理方法和程序
JP2006099497A (ja) パノラマ画像の合成
JP6238134B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP5463973B2 (ja) 表示制御装置、表示制御プログラム、および表示制御システム
JP2005078032A (ja) 画像表示プログラム、画像表示装置、画像表示方法
JPH10126665A (ja) 画像合成装置
CN1240323A (zh) 摄像机用户接口、摄像机控制方法及计算机程序产品
JP4317440B2 (ja) 画像撮影装置および画像撮影方法
JP2019008636A (ja) 撮像システム
JP2005277510A (ja) 画像表示制御装置、画像印刷制御装置、画像表示制御方法、画像印刷制御方法、及びプログラム
JP2008072235A (ja) 映像切替装置及びその入力設定方法
JP2006119730A (ja) 画像のつなぎ合わせ
JP2020071324A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP2006253795A (ja) デジタルカメラ
JP2005252739A (ja) 静止画像生成装置およびその方法
JP6314465B2 (ja) 情報処理装置、画像処理システム、情報処理装置におけるデータ表示方法及びプログラム
JPH0991407A (ja) パノラマ画像合成システム及びパノラマ画像合成方法
JP2012124614A (ja) 撮像装置及び撮像装置の制御方法