JP5729237B2 - 画像処理装置、画像処理方法、及びプログラム - Google Patents

画像処理装置、画像処理方法、及びプログラム Download PDF

Info

Publication number
JP5729237B2
JP5729237B2 JP2011209593A JP2011209593A JP5729237B2 JP 5729237 B2 JP5729237 B2 JP 5729237B2 JP 2011209593 A JP2011209593 A JP 2011209593A JP 2011209593 A JP2011209593 A JP 2011209593A JP 5729237 B2 JP5729237 B2 JP 5729237B2
Authority
JP
Japan
Prior art keywords
images
unit
predetermined
image
imaging
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.)
Active
Application number
JP2011209593A
Other languages
English (en)
Other versions
JP2013074313A (ja
JP2013074313A5 (ja
Inventor
直知 宮本
直知 宮本
康佑 松本
康佑 松本
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2011209593A priority Critical patent/JP5729237B2/ja
Priority to CN201210359097.6A priority patent/CN103024263B/zh
Priority to US13/626,150 priority patent/US20130076855A1/en
Priority to KR1020120106343A priority patent/KR101393560B1/ko
Priority to TW101135028A priority patent/TWI467313B/zh
Publication of JP2013074313A publication Critical patent/JP2013074313A/ja
Publication of JP2013074313A5 publication Critical patent/JP2013074313A5/ja
Application granted granted Critical
Publication of JP5729237B2 publication Critical patent/JP5729237B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G06T3/14
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B37/00Panoramic or wide-screen photography; Photographing extended surfaces, e.g. for surveying; Photographing internal surfaces, e.g. of pipe
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/32Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Description

本発明は、広角画像を生成可能な画像処理装置及び画像処理方法並びにプログラムに関する。
デジタルカメラや、撮像機能を有する携帯電話等においては、撮像画角の限界はレンズの焦点距離、撮像素子のサイズ等、装置本体が備えるハードスペックに依存している。
したがって、パノラマ撮像等、ハードスペックを超えるような広角画像を取得する場合は、一定方向に撮像装置を動かしながら連写し、得られた複数の画像を合成することで広角画像を生成する技術がある(例えば、特許文献1参照)。
上述のパノラマ撮像を実現するためには、ユーザは、例えば、シャッタスイッチを押下操作した状態を維持しながら、自身の体を軸にして、デジタルカメラを垂直方向にほぼ固定したまま水平方向に回転させるように移動させる。
すると、デジタルカメラは、その間に複数回の撮像処理を実行し、当該複数回の撮像処理の各々の結果得られた複数の画像(以下、「撮像画像」と呼ぶ)の画像データを横方向(水平方向)に合成することによって、パノラマ画像の画像データを生成する。
特許文献1には、複数回の撮像処理の毎に撮像画像における特徴点を検出し、隣接する2枚の撮像画像の特徴点同士が一致するように、複数の撮像画像の画像データを横方向に合成することによって、パノラマ画像の画像データを生成する手法が開示されている。
特開平11−282100号公報
しかしながら、特許文献1の手法を採用した場合、単に特徴点の位置合わせだけを利用して隣接する2枚の撮像画像の画像データを合成しているので、その合成位置の精度が充分に得られない場合があった。
本発明は、このような状況に鑑みてなされたものであり、広角画像の生成の際の画像データの合成における位置合わせの精度向上を目的とする。
上記目的を達成するため、本発明の一態様の画像処理装置は、複数の画像を取得する取得手段と、前記取得手段により取得された画像同士で共通する所定の領域内における特徴点の移動ベクトルを算出する移動ベクトル算出手段と、前記移動ベクトル算出手段により算出された移動ベクトルに基づいて、前記画像同士の共通の領域内における特定の位置を広角画像の生成の際の画像の合成における位置合わせを行うための位置として推定する推定手段と、前記推定手段により推定された特定の位置を基準として、前記所定の領域内における前記画像同士で対応する画素の位置を所定方向に所定の範囲内でずらしながら、当該所定の領域内における前記画像同士の差分値を複数回算出する算出手段と、前記算出手段により算出された複数の差分値に基づいて、前記特定の位置を調整する調整手段と、前記調整手段により調整された特定の位置に基づいて、前記画像同士を合成する合成手段とを備えたことを特徴とする。
本発明によれば、画像を合成する際の位置合わせの精度を向上させることができる。
本発明に係る撮像装置の一実施形態としてのデジタルカメラのハードウェア構成を示すブロック図である。 図1のデジタルカメラが、撮像処理を実行するための機能的構成を示す機能ブロック図である。 図2のデジタルカメラの動作モードとして、通常撮像モードとパノラマ撮像モードとが夫々選択された場合における撮像操作を説明する図である。 図3に示すパノラマ撮像モードによって生成されるパノラマ画像の一例を示す図である。 図2のデジタルカメラが合成位置を推定する手法を説明する図である。 図2のデジタルカメラが合成位置を推定する手法を説明する図である。 図2のデジタルカメラが実行する撮像処理の流れの一例を示すフローチャートである。 図7の撮像処理のうち、パノラマ撮像処理の詳細な流れを示すフローチャートである。 図8のパノラマ撮像処理のうち、パノラマ合成処理の詳細な流れを示すフローチャートである。
以下、図面を参照して、本発明に係る実施形態について説明する。
図1は、本発明に係る画像処理装置の一実施形態としてのデジタルカメラ1のハードウェア構成を示すブロック図である。
デジタルカメラ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と、ドライブ23と、を備えている。
CPU11は、ROM12に記憶されているプログラム、又は記憶部18からRAM13にロードされたプログラムに従って、各種の処理を実行する。
ROM12はまた、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶している。
例えば、本実施形態では、後述する図2の撮像制御部51乃至生成部58の各機能を実現するプログラムが、ROM12や記憶部18に記憶されている。したがって、CPU11が、これらのプログラムに従った処理を実行することで、後述する図2の撮像制御部51乃至生成部58の各機能を実現することができる。
なお、後述する図2の撮像制御部51乃至生成部58の各機能のうち少なくとも一部を、画像処理部17に移譲することも可能である。
CPU11、ROM12、及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、光学系15、撮像部16、画像処理部17、記憶部18、表示部19、操作部20、通信部21、角速度センサ22、及びドライブ23が接続されている。
光学系15は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。フォーカスレンズは、撮像部16の撮像素子の受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。光学系15にはまた、必要に応じて、焦点や、露出等を調整する周辺装置が設けられる。
撮像部16は、光電変換素子やAFE(Analog Front End)等から構成されている。光電変換素子は、例えばCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)型の光電変換素子から構成される。光電変換素子は、一定時間毎に、その間に入射されて蓄積された被写体像の光信号を光電変換(撮像)して、その結果得られるアナログの電気信号をAFEに順次供給する。
AFEは、当該アナログの電気信号に対して、A/D(Analog/Digital)変換処理等の各種信号処理を施し、その結果得られるデジタル信号を、撮像部16の出力信号として出力する。
なお、以下、撮像部16の出力信号を、「撮像画像の画像データ」と呼ぶ。したがって、撮像部16からは撮像画像の画像データが出力されて、画像処理部17等に適宜供給される。
画像処理部17は、DSP(Digital Signal Processor)や、VRAM(Video Random Access Memory)等から構成されている。
画像処理部17は、CPU11と協働して、撮像部16から入力される撮像画像の画像データに対して、ノイズ低減、ホワイトバランス、手ぶれ補正等の画像処理を施す。
ここで、以下、特に断りのない限り、「画像データ」とは、撮像部16から一定時間毎に入力される撮像画像の画像データ、又は、当該画像データが加工等されたものを呼ぶ。即ち、本実施形態では、当該画像データが処理単位として採用されている。
記憶部18は、DRAM(Dynamic Random Access Memory)等で構成され、画像処理部17から出力された画像データや、後述するパノラマ途中画像の画像データ等を一時的に記憶する。また、記憶部18は、各種画像処理に必要な各種データ等も記憶する。
表示部19は、例えばLCD(Liquid Crystal Device:液晶表示装置)やLCD駆動部からなるフラット・ディスプレイ・パネルとして構成されている。表示部19は、記憶部18等から供給される画像データにより表現される画像、例えば後述するライブビュー画像を画像データ単位で表示する。
操作部20は、シャッタスイッチ41の他、図示はしないが、電源スイッチ、撮像モードスイッチ、再生スイッチ等の複数のスイッチを有している。操作部20は、これらの複数のスイッチのうち所定のスイッチが押下操作されると、当該所定のスイッチに割り当てられている指令をCPU11に供給する。
通信部21は、インターネットを含むネットワークを介する、図示せぬ他の装置との間の通信を制御する。
角速度センサ22は、ジャイロ等からなり、デジタルカメラ1の角度変位量を検出し、検出結果を示すデジタル信号(以下、単に「角度変位量」と呼ぶ)をCPU11に供給する。なお、角速度センサ22は、必要に応じて方位センサの機能も発揮するものとする。
ドライブ23には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア31が適宜装着される。そして、リムーバブルメディア31から読み出されたプログラムが、必要に応じて記憶部18にインストールされる。また、リムーバブルメディア31は、記憶部18に記憶されている画像データ等の各種データも、記憶部18と同様に記憶することができる。
図2は、図1のデジタルカメラ1が実行する処理のうち、被写体を撮像し、その結果得られる撮像画像の画像データをリムーバブルメディア31に記録するまでの一連の処理(以下、「撮像処理」と呼ぶ)を実行するための機能的構成を示す機能ブロック図である。
図2に示すように、CPU11は、撮像制御部51と、取得部52、推定部53と、算出部54と、判定部55と、重み付け部56と、調整部57と、生成部58と、を備える。
なお、上述したように、撮像制御部51乃至生成部58の各機能は、本実施形態のようにCPU11に搭載されている必要は特になく、これらの各機能のうち少なくとも一部を、画像処理部17に移譲させることも可能である。
撮像制御部51は、撮像処理の実行全体を制御する。例えば、撮像制御部51は、デジタルカメラ1の動作モードとして、通常撮像モードと、パノラマ撮像モードとを選択的に切り替えて、切り替え後の動作モードに従った処理を実行することができる。
パノラマ撮像モードになると、取得部52乃至生成部58が、撮像制御部51の制御の下で動作する。
ここで、撮像制御部51乃至生成部58の理解を容易にすべく、それらの機能的構成の説明の前に、図3及び図4を適宜参照して、パノラマ撮像モードについて詳しく説明する。
図3は、図1のデジタルカメラ1の動作モードとして、通常撮像モードとパノラマ撮像モードとが夫々選択された場合における撮像操作を説明する図である。
詳細には、図3(A)は、通常撮像モードでの撮像操作を説明する図である。図3(B)は、パノラマ撮像モードでの撮像操作を説明する図である。
図3(A)及び図3(B)の夫々において、デジタルカメラ1の奥にある絵は、デジタルカメラ1の被写体を含む実世界の様子を示している。また、図3(B)に示す縦の点線は、デジタルカメラ1の移動方向の各位置a、b、cを示している。デジタルカメラ1の移動方向とは、ユーザが、自身の体を軸にしてデジタルカメラ1の撮像方向(角度)を変化させた場合における、デジタルカメラ1の光軸が移動する方向をいう。
通常撮像モードとは、デジタルカメラ1の画角に対応するサイズ(解像度)の画像を、撮像する場合の動作モードをいう。
通常撮像モードでは、図3(A)に示すように、ユーザは、デジタルカメラ1を固定させた状態で、操作部20のシャッタスイッチ41を下限まで押下する。なお、このように、シャッタスイッチ41を下限まで押下する操作を、以下、「全押し操作」又は単に「全押し」と呼ぶ。
撮像制御部51は、全押し操作がなされた直後に画像処理部17から出力された画像データを、記録対象としてリムーバブルメディア31に記録させるまでの一連の処理の実行を制御する。
以下、このように、通常撮像モードにおいて撮像制御部51の制御により実行される一連の処理を、「通常撮像処理」と呼ぶ。
一方、パノラマ撮像モードとは、パノラマ画像を撮像する場合の動作モードをいう。
パノラマ撮像モードでは、図3(B)に示すように、ユーザは、シャッタスイッチ41の全押し操作を維持した状態で、デジタルカメラ1を同図中黒矢印の方向に移動させる。
撮像制御部51は、全押し操作が維持されている間、取得部52乃至生成部58を制御して、角速度センサ22からの角度変位量が一定値に達する毎に、その直後に画像処理部17から出力された画像データを記憶部18に一時的に記憶していくことを繰り返す。
その後、ユーザは、全押し操作を解除する操作、即ちシャッタスイッチ41から指等を離す操作(以下、このような操作を「リリース操作」と呼ぶ)をすることで、パノラマ撮像の終了を指示する。
撮像制御部51は、取得部52乃至生成部58を制御して、パノラマ撮像の終了が指示されると、これまでに記憶部18に記憶された複数の画像データを、記憶された順番で水平方向に合成することによって、パノラマ画像の画像データを生成する。
そして、撮像制御部51は、生成部58等を制御して、パノラマ画像の画像データを、記録対象としてリムーバブルメディア31に記録させる。
このように、撮像制御部51は、パノラマ撮像モードにおいて、取得部52乃至生成部58を制御して、パノラマ画像の画像データを生成し、それを記録対象としてリムーバブルメディア31に記録させるまでの一連の処理を制御する。
以下、このように、パノラマ撮像モードにおいて撮像制御部51の制御により実行される一連の処理を「パノラマ撮像処理」と呼ぶ。
図4は、図3に示すパノラマ撮像モードにおいて、取得部52乃至生成部58により生成されたパノラマ画像の画像データを示している。
即ち、パノラマ撮像モードにおいて、図3(B)に示すような撮像操作が行われると、撮像制御部51の制御の下、取得部52乃至生成部58により、図4に示すようなパノラマ画像P3の画像データが生成され、リムーバブルメディア31に記録される。
取得部52乃至生成部58は、撮像制御部51の制御の下、次のような処理を実行する。
取得部52は、デジタルカメラ1が所定量だけ移動する毎に(角度変位量が一定値になる毎)に、撮像制御部51から発行される取得指令を受けて、画像処理部17から連続的に撮像された画像の画像データを順次取得する。
推定部53は、取得部52により順次取得された画像データ夫々における、空間方向に隣接する画像データ同士を合成する場合に、隣接する画像データと接触又は重なる各々の領域(いわゆる貼り付け部分又はノリシロ部分と呼ばれる領域であって、以下、「合成部分」と呼ぶ)内で合成すべき合成位置を推定する。ここで、隣接する画像データとは、パノラマ撮像中に、K回目(Kは1以上の整数値)の撮像により得られた撮像画像の画像データと、同パノラマ撮像中に、K+1回目の撮像により得られた撮像画像の画像データとをいう。
図5は、推定部53が合成位置を推定する手法を説明する図である。
図5において、画像データFaは、上記K回目の画像データを示している。画像データFbは、上記K+1回目の画像データを示している。即ち、画像データFaが得られた次の回に、画像データFbが得られたことになる。
図5において、斜線でハッチングした部分は、他の部分と比べ、輝度値が低いことを示している。
図5に示すように、推定部53は、画像データFaと画像データFbとが重さなる各々の合成部分Fam,Fbmを検出し、当該合成部分Fab,Fbm内で合成位置を推定する。
ここで、合成部分は、画像データを構成する各画素のうち、線、又は長方形を構成する画素の集合体になる。ここで、合成部分の長手方向を「長さ方向」と呼び、長さ方向と直交する方向を「幅方向」と呼ぶ。本実施形態では、複数の画像データは水平方向(図5中X座標方向)に合成されるので、合成部分の長さ方向は垂直方向(図5中Y座標方向)であるものとし、合成部分の幅方向は水平方向(図5中X座標方向)とする。また、本実施形態では、合成部分Fam,Fbmの幅方向の長さは、3ドットとしているが、特に限定されず、任意の長さとすることができる。
ここで、合成部分Fam,Fbmの検出手法は、特に限定されず、画像データFaと画像データFbとを画像処理により比較する手法等任意の手法を採用することができる。
ただし、本実施形態では、上述したように、デジタルカメラ1が所定量だけ移動する毎(角度変位量が一定値になる毎)に1回の画像データの取得が行われる。したがって、当該所定量(角度変位量の一定値)に基づいて合成部分Fam,Fbmを推定することができる。そこで、本実施形態では、当該所定量(角度変位量の一定値)に基づいて推定された部分を、合成部分Fam,Fbmとするといった手法が採用されている。
そして、推定部53は、本実施形態ではHarrisのコーナー検出法により、合成部分Fam,Fbmの各々における特徴点(画素)の移動ベクトルを算出することにより、合成位置を推定する。
図6は、推定部53が合成位置を推定する手法を説明する図である。
算出部54は、所定の領域内である合成部分Fam,Fbm内で所定方向である垂直方向に画素をずらしながら、当該合成部分Fam,Fbm内における画像データ同士の画素の輝度値の差を算出する。
図6(a)は、図5中の画像データFa内の合成部分Famのうち、幅1ドットの部分の輝度値を示す。
図6(b)は、図5中の画像データFb内の合成部分Fbmのうち、幅1ドットの部分の輝度値を示す。
図6(a)及び(b)中において、Y座標は図5のものと同一であり、画像データの垂直方向を示している。
図6(a)及び(b)から、図5中の点線で囲んだ部分Lの輝度値は、図5中の他の部分と比べ低いことがわかる。
図6(c)は、算出部54により算出された、図5(a)の合成部分Famにおける幅1ドットの輝度値と、図5(b)の合成部分Fbmの幅1ドットの輝度値との差分の絶対値(以下、「画素値の差」とも呼ぶ)を示す。
判定部55は、算出部54により算出された画素値の差が閾値(図6中の点線)以上か否かを判定し、画素値の差が閾値以上である部分Pを抽出する。
図6(d)は、図5中の部分Pに重み付けした画素値の差を示す。
重み付け部56は、判定部55により画素値の差が閾値以上であると判定された部分Pに重み付けをする。具体的には、重み付け部56は、部分Pの画素値の差dを2倍にするように重み付けをする。重み付け部56は、重み付け後の画素値の差の総和(Sum of Absolte Difference 以下、「SAD」とも呼ぶ)を算出する。
なお、本実施形態において、合成部分における2つの画像データの類似度合いを算出する手法として、SADを採用しているが、特にこれに限定されず、例えば、差分二乗和等を採用することもできる。
また、本実施形態において、合成部分における2つの画像データの類似度合いを算出するための画素値として輝度値を採用しているが、特にこれに限定されず、色差や色相を採用することもできる。
以上の手法により、算出部54は、推定部53により推定された合成位置を基準として、合成部分Fam,Fbmを、上下方向(図5及び6中のY座標方向)に、所定のドット数(例えば、1ドット)の間隔を空けて、1ドットずつずらしながら16通り(上下合計32通り)の画素値の差を算出する。重み付け部56は、判定部55の判定結果に基づき、画素値の差が閾値以上である部分Pを重み付けした上で、32通りの重み付け後のSADを算出する。
このように、所定のドット数の間隔を空けて、画素値の差を算出することで、合成部分における上下方向により広い範囲でSADを算出できる。
調整部57は、重み付け部56による重み付け後の画素値の差の32通りSADの値のうち、最小値のSADの値となる画像データ同士の位置を合成位置候補とするように調整する。
そして、算出部54は、調整部57により調整された合成位置候補を基準として、合成部分Fam,Fbmを、上下方向(図5及び6中のY座標方向)に1ドットずつずらしながら更に16通り(上下合計32通り)のSADを算出する。算出部54は、合成部分Fabの幅(例えば、3ドット)に応じた重み付けをしてSADを算出する。この重み付けは、例えば、合成部分Fabの幅方向3ドット分の画素値の差を合成する手法を採用できる。
調整部57は、重み付け部56による重み付け後の画素値の差の32通りSADの値のうち、最小値のSADの値となる位置を合成位置となるように調整する。
このように、算出部54は、画素値の差を2回算出することになる。即ち、算出部54は、1回目として、所定のドット数の間隔を空けて、1ドットずつずらしながら画素値の差を算出し、2回目として、所定のドット数の間隔を空けずに、1ドットずつずらしながら画素値の差を算出する。これにより、1回目は合成部分における上下方向により広い範囲で画素値の差を算出することができるので、ある程度確からしい位置に合成位置を絞り込み、2回目は絞り込んだ位置を基準として詳細に画素値の差を算出することで、より正確な合成位置を調整できる。
また、本実施形態においては、合成部分Fam,Fbmの重複領域全てについて上下方向に所定のドット数ずらしながらSADを算出していったが、合成部分Fam,Fbmの重複領域の一部についてSADを算出するようにしてもよい。つまり、SADを算出する際に、上下方向にずれる最大のドット数分の領域(所定のドット数ずらしながらSADを算出する過程で、合成部分Fam,Fbmが重ならなくなる領域)を予めSADの算出候補から外しておくことで、SADを算出するための重複領域のドット数を一定に保つようにしてもよい。
このようにすることで、SADが最小値となる合成位置の推定・調整がより正確なものとなる。
生成部58は、撮像制御部51の制御により、調整部57により調整された合成位置に基づいて、隣接する画像データ同士を合成し、パノラマ画像の画像データを生成する。
取得部52乃至生成部58は、以上の処理により、これまでに取得された複数の画像データを、記憶された順番で水平方向に合成することによって、パノラマ画像の画像データを生成する。
以上、図2乃至図6を参照して、本発明が適用されるデジタルカメラ1の機能的構成について説明した。
次に、図7を参照して、このような機能的構成を有するデジタルカメラ1が実行する撮像処理について説明する。
図7は、撮像処理の流れの一例を示すフローチャートである。
本実施形態では、撮像処理は、デジタルカメラ1の図示せぬ電源がオン状態になると開始する。
ステップS1において、図2の撮像制御部51は、操作検出処理及び初期設定処理を実行する。
操作検出処理とは、操作部20の各スイッチの状態を検出する処理をいう。撮像制御部51は、操作検出処理を実行することにより、動作モードとして、通常撮像モードが設定されているのか、それともパノラマ撮像モードが設定されているのかを検出することができる。
また、本実施形態の初期設定処理の1つとして、角度変位量の一定値と、角度変位量の最大限界である角度変位閾値(例えば、360度)とを設定する処理が採用されている。
具体的には、角度変位量の一定値と、角度変位量の最大限界である角度変位閾値(例えば、360度)は、図1のROM12に予め記憶されており、ROM12から読み出されてRAM13に書き込まれることで設定される。なお、角度変位量の一定値は、後述する図8のステップS35の判定処理で用いられる。一方、角度変位量の最大限界である角度変位閾値(例えば、360度)は、同図のステップS44の判定処理で用いられる。
また、本実施形態では、後述する図8のステップS34,S39等に示すように、角速度センサ22によって検出された角度変位量は累積加算されて、その累積加算値としての累積角度変位量や総合角度変位量(両者の違いは後述する)がRAM13に格納される。そこで、これらの累積角度変位量や総合角度変位量を0にリセットする処理が、本実施形態の初期設定処理の1つとして採用されている。なお、累積角度変位量は、後述する図8のステップS35の判定処理で、上述した一定値と比較される。一方、総合角度変位量は、後述する図8のステップS44の判定処理で、上述した角度変位閾値と比較される。
更にまた、本実施形態の初期設定処理の1つとして、エラーフラグを0にリセットする処理が採用されている。エラーフラグとは、パノラマ撮像処理中にエラーが発生した時に1にセットされるフラグをいう(後述する図8のステップS43参照)。
ステップS2において、撮像制御部51は、ライブビュー撮像処理及びライブビュー表示処理を開始する。
即ち、撮像制御部51は、撮像部16や画像処理部17を制御して、撮像部16による撮像動作を継続させる。そして、撮像制御部51は、撮像部16による撮像動作が継続されている間、当該撮像部16を介して画像処理部17から順次出力される画像データを、メモリ(本実施形態では記憶部18)に一時的に記憶させる。このような撮像制御部51による一連の制御処理が、ここでいう「ライブビュー撮像処理」である。
また、撮像制御部51は、ライブビュー撮像時にメモリ(本実施形態では記憶部18)に一時的に記録された各画像データを順次読み出して、各画像データに対応する画像を表示部19に順次表示させる。このような撮像制御部51による一連の制御処理が、ここでいう「ライブビュー表示処理」である。なお、ライブビュー表示処理により表示部19に順次表示されている画像を、以下、「ライブビュー画像」と呼ぶ。
ステップS3において、撮像制御部51は、シャッタスイッチ41が半押しされたか否かを判定する。
ここで、半押しとは、操作部20のシャッタスイッチ41の途中(下限に至らない所定の位置)まで押下する操作をいい、以下、「半押し操作」とも適宜呼ぶ。
シャッタスイッチ41が半押しされていない場合、ステップS3においてNOであると判定されて、処理はステップS12に進む。
ステップS12において、撮像制御部51は、処理の終了指示がなされたか否かを判別する。
処理の終了指示は、特に限定されないが、本実施形態では、デジタルカメラ1の図示せぬ電源がオフ状態になった旨の通知が採用されているものとする。
したがって、本実施形態では電源がオフ状態になりその旨が撮像制御部51に通知されると、ステップS12においてYESであると判定されて、撮像処理全体が終了となる。
これに対して、電源がオン状態の場合には、電源がオフ状態になった旨の通知はなされないので、ステップS12においてNOであると判定され、処理はステップS2に戻され、それ以降の処理が繰り返される。即ち、本実施形態では電源がオン状態を維持している限り、シャッタスイッチ41が半押しされるまでの間、ステップS3:NO及びステップS12:NOのループ処理が繰り返し実行されて、撮像処理は待機状態となる。
このライブビュー表示処理中に、シャッタスイッチ41が半押しされると、ステップS3においてYESであると判定されて、処理はステップS4に進む。
ステップS4において、撮像制御部51は、撮像部16を制御して、いわゆるAF(Auto Focus)処理を実行する。
ステップS5において、撮像制御部51は、シャッタスイッチ41が全押しされたか否かを判定する。
シャッタスイッチ41が全押しされない場合には、ステップS5においてNOであると判定される。この場合には、処理はステップS4に戻され、それ以降の処理が繰り返される。即ち、本実施形態では、シャッタスイッチ41が全押しされるまでの間、ステップS4、及びステップS5:NOのループ処理が繰り返し実行されて、AF処理がその都度実行される。
その後、シャッタスイッチ41が全押しされると、ステップS5においてYESであると判定されて、処理はステップS6に進む。
ステップS6において、撮像制御部51は、現在設定されている撮像モードがパノラマ撮像モードであるか否かを判定する。
パノラマ撮像モードでない場合、即ち通常撮像モードが現在設定されている場合、ステップS6においてNOであると判定され、処理はステップS7に進む。
ステップS7において、撮像制御部51は、上述した通常撮像処理を実行する。
即ち、全押し操作がなされた直後に画像処理部17から出力された1つの画像データが、記録対象としてリムーバブルメディア31に記録される。これにより、ステップS7の通常撮像処理が終了して、処理はステップS12に進む。なお、ステップS12以降の処理については上述したので、ここではその説明は省略する。
これに対して、パノラマ撮像モードが現在設定されている場合、ステップS6においてYESであると判定されて、処理はステップS8に進む。
ステップS8において、撮像制御部51は、上述したパノラマ撮像処理を実行する。
パノラマ撮像処理の詳細については図8を参照して後述するが、原則として、パノラマ画像の画像データが生成されて、記録対象としてリムーバブルメディア31に記録される。これにより、ステップS8のパノラマ撮像処理が終了して、処理はステップS9に進む。
ステップS9において、撮像制御部51は、エラーフラグは1であるか否かを判定する。
詳細については、図8を参照して後述するが、パノラマ画像の画像データが記録対象としてリムーバブルメディア31に記録されて、ステップS8のパノラマ撮像処理が適正に終了すると、エラーフラグは0になっている。このような場合には、ステップS9においてNOであると判定されて、処理はステップS12に進む。なお、ステップS12以降の処理は上述したので、ここではその説明は省略する。
これに対して、ステップS8のパノラマ撮像処理中に何らかのエラーが発生すると、当該パノラマ撮像処理は不適正に終了する。このような場合には、エラーフラグは1になっているため、ステップS9においてYESであると判定されて、処理はステップS10に進む。
ステップS10において、撮像制御部51は、エラーの内容を表示部19に表示する。表示されるエラーの内容の具体例については、後述する。
ステップS11において、撮像制御部51は、パノラマ撮像モードを解除し、エラーフラグを0にリセットする。
その後、処理はステップS1に戻され、それ以降の処理が繰り返される。即ち、撮像制御部51は、ユーザによる次の新たな撮像操作に備える。
以上、図7を参照して、撮像処理の流れについて説明した。
次に、図8を参照して、図7の撮像処理のうち、ステップS8のパノラマ撮像処理の詳細な流れについて説明する。
図8は、パノラマ撮像処理の詳細な流れを説明するフローチャートである。
上述したように、パノラマ撮像モードの状態でシャッタスイッチ41が全押しされると、図7のステップS5及びS6においてYESと判定され、処理はステップS8に進み、パノラマ撮像処理として次のような処理が実行される。
即ち、図8のステップS31において、撮像制御部51は、角速度センサ22から角度変位量を取得する。
ステップS32において、撮像制御部51は、ステップS31の処理で取得した角度変位量が0より大きいか否かを判定する。
ユーザがデジタルカメラ1を移動させていない状態では、角度変位量は0になるため、ステップS32においてNOであると判定され、処理は、ステップS33に進む。
ステップS33において、撮像制御部51は、角度変位量0の継続が所定時間経過したか否かを判定する。所定時間としては、例えば、ユーザがシャッタスイッチ41を全押ししてから、デジタルカメラ1の移動を開始するまでに必要な時間よりも長い適当な時間を採用することができる。
所定時間が経過していない場合には、ステップS33においてNOであると判定され、処理はステップS31に戻され、それ以降の処理が繰り返される。即ち、ユーザがデジタルカメラ1を移動させていない状態の継続時間が所定時間より短い場合には、撮像制御部51は、ステップS31乃至ステップS33:NOのループ処理を繰り返し実行することで、パノラマ撮像処理を待機状態にする。
この待機状態中に、ユーザが、デジタルカメラ1を移動させると、角速度センサ22から取得される角度変位量は0よりも大きな値になる。このような場合には、ステップS32においてYESであると判定されて、処理はステップS34に進む。
ステップS34において、撮像制御部51は、これまでの累積角度変位量に対して、ステップS31の処理で取得した角度変位量を加算することによって、累積角度変位量を更新する(更新される累積角度変位量=これまでの累積角度変位量+角度変位量)。即ち、RAM13に累積角度変位量として格納される値が更新される。
累積角度変位量とは、このように角度変位量が累積加算された値であり、デジタルカメラ1の移動量を示している。
ここで、本実施形態では、ユーザがデジタルカメラ1を一定量移動させる度に、パノラマ途中画像の画像データ生成用の1つの画像データ(合成対象)が、画像処理部17から取得部52に供給されるものとする。
これを実現すべく、デジタルカメラ1の移動量としての「一定量」に対応する累積角度変位量が、図7のステップS1の初期設定処理により「一定値」として予め与えられている。
即ち、本実施形態では、累積角度変位量が一定値に達する毎に、1つの画像データ(合成対象)が画像処理部17から取得部52に供給されると共に、累積角度変位量が0にリセットされる。
このような一連の処理が、次のステップS35以降の処理として実行される。
即ち、ステップS35において、撮像制御部51は、累積角度変位量が一定値に達したか否かを判定する。
累積角度変位量が一定値に達していない場合には、ステップS35においてNOであると判定され、処理はステップS31に戻され、それ以降の処理が繰り返される。即ち、ユーザがデジタルカメラ1を一定量移動させることによって、累積角度変位量が一定値に達しない限り、撮像制御部51は、ステップS31乃至S35のループ処理を繰り返し実行する。
その後、ユーザがデジタルカメラ1を一定量移動させることによって、累積角度変位量が一定値に達したときは、ステップS35においてYESであると判定されて、処理はステップS36に進む。
ステップS36において、撮像制御部51は、パノラマ合成処理を実行する。
パノラマ合成処理の詳細については図9を参照して後述するが、取得部52から画像データ(合成対象)を取得し、この画像データを合成し、パノラマ途中画像の画像データを生成する。
パノラマ途中画像とは、パノラマ撮像モードが選択されている状態で全押し操作がなされた場合、生成予定のパノラマ画像のうち、現在までに撮像された領域を示す画像をいう。
ステップS39において、撮像制御部51は、これまでの総合角度変位量に対して、現在の累積角度変位量(=略一定値)を加算することによって、総合角度変位量を更新する(更新される総合角度変位量=これまでの総合角度変位量+累積角度変位量)。即ち、RAM13に総合角度変位量として格納される値が更新される。
ステップS40において、撮像制御部51は、累積角度変位量を0にリセットする。即ち、RAM13に累積角度変位量として格納される値が0に更新される。
このように、累積角度変位量は、1つの画像データ(合成対象)が画像処理部17から取得部52に供給されるタイミング、即ち取得指令の発行タイミングを制御するために用いられる。よって、累積角度変位量は、一定に達して取得指令が発行される毎に0にリセットされる。
したがって、撮像制御部51は、累積角度変位量を用いても、パノラマ撮像処理が開始されてから現在までにデジタルカメラ1がどこまで移動したのかを認識することができない。
そこで、このような認識を可能にすべく、本実施形態では、累積角度変位量とは別に、総合角度変位量が採用されている。
即ち、総合角度変位量とは、角度変位量が累積加算された値であるが、一定量に達しても0にリセットされずに、パノラマ撮像処理が終了するまでの間(詳細には後述するステップS46の処理が実行されるまでの間)累積加算され続ける値である。
このようにして、ステップS39の処理で総合角度変位量が更新されると共に、ステップS40の処理で累積角度変位量が0にリセットされると、処理はステップS41に進む。
ステップS41において、撮像制御部51は、リリース操作が行われたか否かを判定する。
リリース操作が行われていない場合、即ち、ユーザによるシャッタスイッチ41の全押しが継続されている場合には、ステップS41においてNOであると判定されて、処理はステップS42に進む。
ステップS42において、撮像制御部51は、画像取得のエラーが発生したか否かを判定する。
画像取得のエラーについては、特に限定されないが、例えば、本実施形態では、デジタルカメラ1が斜め方向、上下方向、又は逆方向に一定量以上移動したことがエラーとして採用されている。
画像取得にエラーが発生していない場合には、ステップS42においてNOであると判定され、処理はステップS44に進む。
ステップS44において、撮像制御部51は、総合角度変位量が角度変位閾値を超えたか否かを判別する。
上述したように、総合角度変位量とは、パノラマ撮像処理が開始されてから(全押し操作がなされてから)、ステップS44の処理が実行される時点までの角度変位量の累積加算値である。
ここで、本実施形態では、パノラマ撮像中にユーザがデジタルカメラ1を移動させることが可能な最大移動量が予め決定されている。このようなデジタルカメラ1の移動量としての「最大移動量」に対応する総合角度変位量が、図7のステップS1の初期設定処理により「角度変位閾値」として予め与えられている。
このように、本実施形態では、総合角度変位量が角度変位閾値に達したことは、デジタルカメラ1が最大移動量だけ移動したことを意味する。
したがって、総合角度変位量が角度変位閾値に達していない場合、即ちデジタルカメラ1の移動量が最大移動量まで達していない場合、ユーザはデジタルカメラ1をまだ移動し続けることができるので、ステップS44においてNOであると判定されて、処理はステップS31に戻され、それ以降の処理が繰り返される。
即ち、角度変位量0の継続が所定時間経過すること(デジタルカメラ1が所定時間移動しないこと)もエラーの1つに含めると、エラーが発生しない状態で、全押し操作が継続されている限り、ステップS31乃至S44:NOのループ処理が繰り返し実行される。
その後、エラーが発生しない状態で、リリース操作がなされるか(ステップS41の処理でYESであると判定されるか)又はデジタルカメラ1が最大移動量まで移動した(ステップS44の処理でYESであると判定された)場合、処理はステップS45に進む。
ステップS45において、撮像制御部51は、取得部52を介して、パノラマ画像の画像データを生成し、記録対象の画像データとしてリムーバブルメディア31に記録させる。
なお、本実施形態では、画像データが取得される毎に、パノラマ途中画像の画像データが生成されているので、ステップS45の処理時点で生成されているパノラマ途中画像の画像データが、最終的なパノラマ画像の画像データとして採用される。
そして、ステップS46において、撮像制御部51は、総合角度変位量を0にリセットする。
これにより、パノラマ撮像処理は適正に終了する。即ち、図7のステップS8の処理は適正に終了して、次のステップS9の処理でNOであると判定される。なお、ステップS9の処理でNOであると判定された後の処理については、上述したので、ここではその説明は省略する。
なお、上述の一連の処理中に何らかのエラーが発生した場合、即ち、ステップS33の処理でYESであると判定されるか、又は、ステップS42の処理でYESであると判定された場合、処理はステップS43に進む。
ステップS43において、撮像制御部51は、エラーフラグを1にセットする。
この場合、ステップS45の処理は実行されずに、即ち、パノラマ画像の画像データは記録されずに、パノラマ撮像処理は不適正に終了する。
即ち、図7のステップS8の処理は不適正に終了して、次のステップS9の処理でYESであると判定されて、ステップS10の処理でエラーの内容が表示される。
この場合のエラー内容の表示は、上述したように特に限定されないが、例えば、「画像取得に失敗しました」や「時間オーバーです」等のメッセージ表示を採用することができる。
以上、図8を参照して、パノラマ撮像処理の流れについて説明した。
次に、図9を参照して、図8のパノラマ撮像処理のうち、ステップS36のパノラマ合成処理の詳細な流れについて説明する。
図9は、パノラマ合成処理の詳細な流れを説明するフローチャートである。
上述したように、ユーザがデジタルカメラ1を一定量移動させることによって、累積角度変位量が一定値に達すると、図8のステップS35においてYESと判定され、処理はステップS36に進み、パノラマ合成処理として次のような処理が実行される。
即ち、図9のステップS51において、取得部52は、撮像制御部51の制御の下、連続的に撮像された画像の画像データを画像処理部17から順次取得する。
ステップS52において、推定部53は、ステップS51で取得された画像データ夫々における、隣接する画像データ同士の合成部分内で生成部58により合成すべき合成位置を推定する。
ステップS53において、算出部54は、ステップS52で推定された合成位置を基準として、上下方向に、所定のドット数の間隔を空けて、1ドットずつずらしながら16通り(上下合計32通り)の画素値の差を算出する。
ステップS54において、判定部55は、ステップS53で算出された画素値の差が閾値以上か否かを判定し、画素値の差が閾値以上である部分を抽出する。
ステップS55において、重み付け部56は、ステップS55で画素値の差が閾値以上であると判定された部分に重み付けをした32通りのSADを算出する。
ステップS56において、調整部57は、ステップS55で算出された32通りのSADの値から最も値が最小となるものを合成位置候補として調整する。
ステップS57において、算出部54は、ステップS56で調整された合成位置候補を基準として、上下方向に1ドットずつずらしながら更に16通り(上下合計32通り)のSADを算出する。
ステップS58において、調整部57は、ステップS57で算出された32通りのSADの値から最も値が最小となるものを合成位置として調整する。
ステップS59において、生成部58は、撮像制御部51の制御により、ステップS58で調整された合成位置に基づいて、隣接する画像データ同士を合成し、パノラマ途中画像の画像データを生成する。
本実施形態によれば、以下の作用効果を奏する。
本実施形態のデジタルカメラ1は、取得部52が連続的に撮像された画像を順次取得し、生成部58が取得部52により順次取得された画像データを合成する。
そして、推定部53は、取得部52により順次取得された画像データ夫々における、隣接する画像データ同士の合成部分内で生成部58により合成位置を推定し、算出部54は、推定部53により推定された合成位置を基準として、合成部分内で所定方向に画素データをずらしながら、当該合成部分内における画像データ同士の画素値のSADを算出し、調整部57は、算出部54により算出された合成部分内の画素値のSADの値が最小となる画像データ同士の位置が合成位置となるように調整し、生成部58は、調整部57により調整された合成位置に基づいて、隣接する画像データ同士を合成し、パノラマ画像の画像データを生成する。
これにより、隣接する画像データ同士の合成において、隣接する画像データ同士の合成部分内で合成位置を推定してから、更に、合成部分内で画素値のSADの値が最小となる合成位置、即ち、隣接する画像データ同士において画像データのエッジ部分が揃っている合成位置に調整して合成できる。
したがって、画像を合成する際の位置合わせの精度を向上させることができる。
また、本実施形態は、予め推定部53が合成位置を推定した後に、算出部54が垂直方向に所定のドット数分だけ画素データをずらしながらSADの値を算出して、調整部57が最小のSADの値となる位置が合成位置となるように調整するようにしたため、例えば、合成部分内の全ての画素データの分について垂直方向に画素データをずらしながらSADの値を算出し、最小のSADの値となる位置が合成位置となるように設定するよりもデジタルカメラ1の処理負担を軽くすることができる。
また、本実施形態のデジタルカメラ1の判定部55は、算出部54により算出された画素値の差が閾値以上か否かを判定し、重み付け部56は、判定部55により画素値の差が閾値以上であると判定されると、画素値の差に重み付けをし、調整部57は、重み付け部56により重み付けされた画素値の差に基づいて、合成位置を調整する。
これにより、画素値の差が閾値以上となる、即ち、隣接する画像データ同士において、画像データのエッジ部分がずれた合成位置の候補を、SADの値が最小となる合成位置の候補からしやすくなるので、画像データのエッジ部分が揃っている位置に合成位置を調整しやすくなる。また、図6には図示しなかったが、合成部分Fam,Fbmの画素を輝度値に変換したときに当該輝度値にノイズが発生したとしても、画素値の差(隣接する画像同士の輝度値の差分の絶対値)が閾値以上であるものに重み付けしてSADの値を算出することにしたので、輝度値の変換時における多少のノイズに影響されることなく合成位置の調整ができる。
また、本実施形態のデジタルカメラ1の取得部52は、撮像部16により所定時間毎に順次撮像された画像を取得する。
これにより、撮像部16で撮像しながら、取得された画像データを順次合成位置を調整して合成できる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、上述の実施形態においては、撮像部16による撮像動作中にパノラマ合成処理を行っているが、特にこれに限定されず、撮像部16による撮像動作が終了し、パノラマ画像の画像データを生成するための全ての画像データが取得された後にパノラマ合成処理を行ってもよい。
また、上述の実施形態においては、角速度センサ22によってデジタルカメラ1の角度変位量を検出する構成としたが、角度変位量を検出する手法は、特にこれに限定されず、例えば、ライブビュー画像を解析し、画像同士のモーションベクトルによってデジタルカメラ1の角度変位量を検出する手法を採用してもよい。
また、上述の実施形態においては、パノラマ途中画像及びパノラマ画像は、横長の構成としたが、特にこれに限定されず、デジタルカメラ1の移動方向に則した方向に長くなる構成、例えば縦長の構成としてもよいし、生成する画像はパノラマ画像に限らず、複数の画像を合成することにより、1つの画像の画角よりも画角が広い広角画像を生成するものであればよい。
また、上述の実施形態では、本発明が適用される画像処理装置は、デジタルカメラ1として構成される例として説明した。
しかしながら、本発明は、特にこれに限定されず、パノラマ画像の生成が可能になる機能を有する電子機器一般に適用することができ、例えば、本発明は、携帯型パーソナルコンピュータ、携帯型ナビゲーション装置、ポータブルゲーム機等に幅広く適用可能である。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、画像処理装置又は当該画像処理装置を制御するコンピュータ等にネットワークや記録媒体からインストールされる。ここで、コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。或いはまた、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア31により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア31は、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、光磁気ディスク等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているROM12や記憶部18に含まれるハードディスク等で構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
連続的に撮像された画像を順次取得する取得手段と、
前記取得手段により順次取得された画像夫々における、隣接する画像同士の所定の領域内で合成すべき位置を推定する推定手段と、
前記推定手段により推定された合成すべき位置を基準として、前記所定の領域内で所定方向に画素をずらしながら、当該所定の領域内における前記画像同士の画素値の差を算出する算出手段と、
前記算出手段により算出された画素値の差が最小となる前記画像同士の位置を前記合成すべき位置となるように調整する調整手段と、
前記調整手段により調整された合成すべき位置に基づいて、前記隣接する画像同士を合成し、広角画像を生成する生成手段と
を備えたことを特徴とする画像処理装置。
[付記2]
前記算出手段により算出された画素値の差が閾値以上か否かを判定する判定手段と、
前記判定手段により前記画素値の差が閾値以上であると判定されると、前記画素値の差に重み付けをする重み付け手段とを備え、
前記調整手段は、前記重み付け手段により重み付けされた画素値の差に基づいて、前記合成すべき位置を調整することを特徴とする付記1記載の画像処理装置。
[付記3]
撮像手段を更に備え、
前記取得手段は、前記撮像手段により所定時間毎に順次撮像された画像を取得することを特徴とする付記1又は2記載の画像処理装置。
[付記4]
連続的に撮像された画像を順次取得する取得ステップと、
前記取得ステップにより順次取得された画像夫々における、隣接する画像同士の所定の領域内で合成すべき位置を推定する推定ステップと、
前記推定ステップにより推定した合成すべき位置を基準として、前記所定の領域内で所定方向に画素をずらしながら、当該所定の領域内における前記画像同士の画素値の差を算出する算出ステップと、
前記算出ステップにより算出した画素値の差が最小となる前記画像同士の位置を前記合成すべき位置となるように調整する調整ステップと、
前記調整ステップにより調整した合成すべき位置に基づいて、前記隣接する画像同士を合成し、広角画像を生成する生成ステップと
を含むことを特徴とする画像処理方法。
[付記5]
コンピュータを、
連続的に撮像された画像を順次取得する取得手段、
前記取得手段により順次取得された画像夫々における、隣接する画像同士の所定の領域内で合成すべき位置を推定する推定手段、
前記推定手段により推定された合成すべき位置を基準として、所定方向に画素をずらしながら、前記所定の領域内における前記画像同士の画素値の差を算出する算出手段、
前記算出手段により算出された前記所定の領域内の画素値の差が最小となる前記画像同士の位置に前記合成すべき位置を調整する調整手段、
前記調整手段により調整された合成すべき位置に基づいて、前記隣接する画像同士を合成し、広角画像を生成する生成手段
として機能させることを特徴とするプログラム。
1…デジタルカメラ、11…CPU、12…ROM、13…RAM、15…光学系、16…撮像部、17…画像処理部、18…記憶部、19…表示部、20…操作部、21…通信部、22…角速度センサ、23…ドライブ、31…リムーバブルメディア、41…シャッタスイッチ、51…撮像制御部、52…取得部、53…推定部、54…算出部、55…判定部、56…重み付け部、57…調整部、58…合成部

Claims (12)

  1. 複数の画像を取得する取得手段と、
    前記取得手段により取得された画像同士で共通する所定の領域内における特徴点の移動ベクトルを算出する移動ベクトル算出手段と、
    前記移動ベクトル算出手段により算出された移動ベクトルに基づいて、前記画像同士の共通の領域内における特定の位置を広角画像の生成の際の画像の合成における位置合わせを行うための位置として推定する推定手段と、
    前記推定手段により推定された特定の位置を基準として、前記所定の領域内における前記画像同士で対応する画素の位置を所定方向に所定の範囲内でずらしながら、当該所定の領域内における前記画像同士の差分値を複数回算出する算出手段と、
    前記算出手段により算出された複数の差分値に基づいて、前記特定の位置を調整する調整手段と、
    前記調整手段により調整された特定の位置に基づいて、前記画像同士を合成する合成手段と
    を備えたことを特徴とする画像処理装置。
  2. 前記算出手段は、前記調整手段により調整された特定の位置を基準として、前記所定の領域内における前記画像同士で対応する画素の位置を前記所定の範囲よりも狭い範囲内で前記所定方向にずらしながら、前記所定の領域内における前記画像間の差分値を複数回算出し、
    前記調整手段は、更に、前記算出手段に算出された複数の差分値に基づいて、前記特定の位置を再度調整する請求項に記載の画像処理装置。
  3. 前記算出手段は、更に、前記所定の領域内における前記画像同士で対応する画素の位置を前記所定の方向として上下方向に前記所定の範囲内で所定のドット数ずつずらしながら、当該所定の領域内における前記画像同士の差分値を複数回算出する請求項1又は2に記載の画像処理装置。
  4. 前記算出手段は、更に、前記所定の方向として上下方向に前記所定の領域内における前記画像同士で対応する画素の位置を前記所定の範囲内より狭い範囲内で前記所定のドット数未満のドット数ずつずらしながら、前記所定の領域内における前記画像同士の差分値を複数回算出する請求項1からの何れか1項に記載の画像処理装置。
  5. 前記算出手段により算出された差分値が閾値以上か否かを判定する判定手段と、
    前記判定手段により前記差分値が閾値以上であると判定されると、前記差分値に重み付けをする重み付け手段とを備え、
    前記調整手段は、前記重み付け手段により重み付けされた差分値に基づいて、前記特定の位置を調整する請求項1からの何れか1項に記載の画像処理装置。
  6. 前記調整手段は、前記算出手段により算出された差分値が最小となる位置に前記特定の位置を調整することを特徴とする請求項1からの何れか1項に記載の画像処理装置。
  7. 前記合成手段は、更に、前記画像同士を合成することにより、パノラマ画像を生成することを特徴とする請求項1からの何れか1項に記載の画像処理装置。
  8. 前記算出手段は、前記画像同士で対応する画素の位置が前記所定の領域内の所定方向に所定の範囲内で所定の量ずらされる毎に、当該所定の領域内における前記画像同士の差分値を算出することを特徴とする請求項1からの何れか1項に記載の画像処理装置。
  9. 前記算出手段は、前記所定の領域が変化するように前記画像同士で対応する画素の位置をずらしながら、前記差分値を算出することを特徴とする請求項1からの何れか1項に記載の画像処理装置。
  10. 撮像手段を更に備え、
    前記取得手段は、前記撮像手段により所定時間毎に順次撮像された画像を取得することを特徴とする請求項1からの何れか1項に記載の画像処理装置。
  11. 複数の画像を取得する取得ステップと、
    前記取得ステップにより取得された画像同士で共通する所定の領域内における特徴点の移動ベクトルを算出するベクトル算出ステップと、
    前記ベクトル算出ステップにより算出された移動ベクトルに基づいて、前記画像同士の共通の領域内における特定の位置を広角画像の生成の際の画像の合成における位置合わせを行うための位置として推定する推定ステップと、
    前記推定ステップにより推定された特定の位置を基準として、前記所定の領域内における前記画像同士で対応する画素の位置を所定方向に所定の範囲内でずらしながら、当該所定の領域内における前記画像同士の差分値を複数回算出する算出ステップと、
    前記算出ステップにより算出された複数の差分値に基づいて、前記特定の位置を調整する調整ステップと、
    前記調整ステップにより調整された特定の位置に基づいて、前記画像同士を合成する合成ステップと
    を含むことを特徴とする画像処理方法。
  12. コンピュータを、
    複数の画像を取得する取得手段、
    前記取得手段により取得された画像同士で共通する所定の領域内における特徴点の移動ベクトルを算出するベクトル算出手段、
    前記ベクトル算出手段により算出された移動ベクトルに基づいて、前記画像同士の共通の領域内における特定の位置を広角画像の生成の際の画像の合成における位置合わせを行うための位置として推定する推定手段、
    前記推定手段により推定された特定の位置を基準として、前記所定の領域内における前記画像同士で対応する画素の位置を所定方向に所定の範囲内でずらしながら、当該所定の領域内における前記画像同士の差分値を複数回算出する算出手段、
    前記算出手段により算出された複数の差分値に基づいて、前記特定の位置を調整する調整手段、
    前記調整手段により調整された特定の位置に基づいて、前記画像同士を合成する合成手段
    として機能させることを特徴とするプログラム。
JP2011209593A 2011-09-26 2011-09-26 画像処理装置、画像処理方法、及びプログラム Active JP5729237B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2011209593A JP5729237B2 (ja) 2011-09-26 2011-09-26 画像処理装置、画像処理方法、及びプログラム
CN201210359097.6A CN103024263B (zh) 2011-09-26 2012-09-24 图像处理装置及图像处理方法
US13/626,150 US20130076855A1 (en) 2011-09-26 2012-09-25 Image processing device capable of generating wide-range image
KR1020120106343A KR101393560B1 (ko) 2011-09-26 2012-09-25 화상 처리 장치, 화상 처리 방법, 및 기록 매체
TW101135028A TWI467313B (zh) 2011-09-26 2012-09-25 影像處理裝置、影像處理方法、及記錄媒體

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011209593A JP5729237B2 (ja) 2011-09-26 2011-09-26 画像処理装置、画像処理方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2013074313A JP2013074313A (ja) 2013-04-22
JP2013074313A5 JP2013074313A5 (ja) 2014-03-27
JP5729237B2 true JP5729237B2 (ja) 2015-06-03

Family

ID=47910855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011209593A Active JP5729237B2 (ja) 2011-09-26 2011-09-26 画像処理装置、画像処理方法、及びプログラム

Country Status (5)

Country Link
US (1) US20130076855A1 (ja)
JP (1) JP5729237B2 (ja)
KR (1) KR101393560B1 (ja)
CN (1) CN103024263B (ja)
TW (1) TWI467313B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109076247A (zh) * 2016-02-09 2018-12-21 弗劳恩霍夫应用研究促进协会 允许图片/视频数据流的高效的可缩减性或高效的随机访问的技术

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374532B2 (en) * 2013-03-15 2016-06-21 Google Inc. Cascaded camera motion estimation, rolling shutter detection, and camera shake detection for video stabilization
KR101432123B1 (ko) * 2014-03-19 2014-08-20 국방과학연구소 고갱신율 전방위 파노라마 영상획득 처리 방법
CN105894449B (zh) * 2015-11-11 2019-11-08 法法汽车(中国)有限公司 克服图像融合中颜色突变的方法及系统
JP6659130B2 (ja) * 2015-12-04 2020-03-04 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法およびプログラム
JP2017212698A (ja) * 2016-05-27 2017-11-30 キヤノン株式会社 撮像装置、撮像装置の制御方法およびプログラム
CN107085837A (zh) * 2017-05-31 2017-08-22 广东欧珀移动通信有限公司 降噪处理方法、装置、存储介质及终端
DE102017212214A1 (de) * 2017-07-17 2019-01-17 Carl Zeiss Microscopy Gmbh Verfahren zum Aufzeichnen eines Bildes unter Verwendung eines Teilchenmikroskops und Teilchenmikroskop
JP6545229B2 (ja) * 2017-08-23 2019-07-17 キヤノン株式会社 画像処理装置、撮像装置、画像処理装置の制御方法およびプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649032A (en) * 1994-11-14 1997-07-15 David Sarnoff Research Center, Inc. System for automatically aligning images to form a mosaic image
US6549681B1 (en) * 1995-09-26 2003-04-15 Canon Kabushiki Kaisha Image synthesization method
JPH0991410A (ja) * 1995-09-26 1997-04-04 Canon Inc パノラマ画像合成システム
US6785427B1 (en) * 2000-09-20 2004-08-31 Arcsoft, Inc. Image matching using resolution pyramids with geometric constraints
US7046401B2 (en) * 2001-06-01 2006-05-16 Hewlett-Packard Development Company, L.P. Camera-based document scanning system using multiple-pass mosaicking
US6733138B2 (en) * 2001-08-15 2004-05-11 Mitsubishi Electric Research Laboratories, Inc. Multi-projector mosaic with automatic registration
US7583293B2 (en) * 2001-12-06 2009-09-01 Aptina Imaging Corporation Apparatus and method for generating multi-image scenes with a camera
US7006709B2 (en) * 2002-06-15 2006-02-28 Microsoft Corporation System and method deghosting mosaics using multiperspective plane sweep
JP4299015B2 (ja) * 2003-01-31 2009-07-22 アロカ株式会社 超音波画像処理装置
EP1613060A1 (en) * 2004-07-02 2006-01-04 Sony Ericsson Mobile Communications AB Capturing a sequence of images
JP4577765B2 (ja) 2004-11-02 2010-11-10 Kddi株式会社 動画像合成装置
JP2006333132A (ja) * 2005-05-26 2006-12-07 Sony Corp 撮像装置及び撮像方法、プログラム、プログラム記録媒体並びに撮像システム
JP4622797B2 (ja) 2005-10-11 2011-02-02 パナソニック株式会社 画像合成装置及び画像合成方法
JP4905144B2 (ja) * 2007-01-17 2012-03-28 カシオ計算機株式会社 画像合成装置、画像合成プログラム及び画像合成方法
US8107769B2 (en) * 2006-12-28 2012-01-31 Casio Computer Co., Ltd. Image synthesis device, image synthesis method and memory medium storage image synthesis program
JP4877154B2 (ja) * 2007-08-24 2012-02-15 カシオ計算機株式会社 画像処理装置、撮像装置、画像処理方法、および、プログラム
JP4830023B2 (ja) 2007-09-25 2011-12-07 富士通株式会社 画像合成装置及び方法
JP5092722B2 (ja) * 2007-12-07 2012-12-05 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
JP4497211B2 (ja) * 2008-02-19 2010-07-07 カシオ計算機株式会社 撮像装置、撮像方法及びプログラム
JP2010050521A (ja) * 2008-08-19 2010-03-04 Olympus Corp 撮像装置
JP5218071B2 (ja) * 2009-01-07 2013-06-26 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
CN101853524A (zh) * 2010-05-13 2010-10-06 北京农业信息技术研究中心 使用图像序列生成玉米果穗全景图的方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109076247A (zh) * 2016-02-09 2018-12-21 弗劳恩霍夫应用研究促进协会 允许图片/视频数据流的高效的可缩减性或高效的随机访问的技术
US10958921B2 (en) 2016-02-09 2021-03-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
CN109076247B (zh) * 2016-02-09 2021-04-16 弗劳恩霍夫应用研究促进协会 解码器、编码器、方法、网络设备以及可读存储介质
US11089315B2 (en) 2016-02-09 2021-08-10 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
US11089314B2 (en) 2016-02-09 2021-08-10 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
US11122282B2 (en) 2016-02-09 2021-09-14 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
US11128877B2 (en) 2016-02-09 2021-09-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
US11146804B2 (en) 2016-02-09 2021-10-12 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
US11172213B2 (en) 2016-02-09 2021-11-09 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
US11184626B2 (en) 2016-02-09 2021-11-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
US11190785B2 (en) 2016-02-09 2021-11-30 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
US11212542B2 (en) 2016-02-09 2021-12-28 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
US11770546B2 (en) 2016-02-09 2023-09-26 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access

Also Published As

Publication number Publication date
JP2013074313A (ja) 2013-04-22
US20130076855A1 (en) 2013-03-28
CN103024263A (zh) 2013-04-03
KR101393560B1 (ko) 2014-05-09
CN103024263B (zh) 2016-08-03
TW201319723A (zh) 2013-05-16
KR20130033323A (ko) 2013-04-03
TWI467313B (zh) 2015-01-01

Similar Documents

Publication Publication Date Title
JP5729237B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP5574423B2 (ja) 撮像装置、表示制御方法及びプログラム
TWI387330B (zh) 具有用於拍攝平移圖像之平移模式的攝像裝置
JP5413344B2 (ja) 撮像装置、画像合成方法及びプログラム
JP5764740B2 (ja) 撮像装置
US8760526B2 (en) Information processing apparatus and method for correcting vibration
JP5643563B2 (ja) 画像処理装置及びその制御方法
KR101109532B1 (ko) 촬상 장치, 촬상 방법 및 촬상 프로그램이 기록된 기록 매체
JP5950678B2 (ja) 撮像装置、制御方法、及びプログラム
JP2005252626A (ja) 撮像装置および画像処理方法
JP2012084960A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6495122B2 (ja) 撮像装置、画像処理方法
US8913173B2 (en) Imaging apparatus and imaging method
JP5696419B2 (ja) 画像処理装置及び方法、並びにプログラム
US20190026902A1 (en) Imaging apparatus and control method
JP6717354B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP5831492B2 (ja) 撮像装置、表示制御方法及びプログラム
JP2011135537A (ja) 撮像装置及び撮像装置の制御方法
JP2008235958A (ja) 撮像装置
US11206344B2 (en) Image pickup apparatus and storage medium
JP2012028971A (ja) 撮像装置
JP6107882B2 (ja) 撮像装置、表示制御方法及びプログラム
JP2013074573A (ja) 画像処理装置、画像処理方法及びプログラム
JP2017005542A (ja) 像ブレ補正装置、撮像装置、像ブレ補正方法
JP2017135732A (ja) 画像処理装置、画像処理方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140205

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20140206

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141219

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: 20150310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150323

R150 Certificate of patent or registration of utility model

Ref document number: 5729237

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150