JP4899803B2 - 画像処理装置、カメラ装置、画像処理方法、およびプログラム - Google Patents

画像処理装置、カメラ装置、画像処理方法、およびプログラム Download PDF

Info

Publication number
JP4899803B2
JP4899803B2 JP2006300917A JP2006300917A JP4899803B2 JP 4899803 B2 JP4899803 B2 JP 4899803B2 JP 2006300917 A JP2006300917 A JP 2006300917A JP 2006300917 A JP2006300917 A JP 2006300917A JP 4899803 B2 JP4899803 B2 JP 4899803B2
Authority
JP
Japan
Prior art keywords
image
images
error
angle
block matching
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
Application number
JP2006300917A
Other languages
English (en)
Other versions
JP2008117235A (ja
JP2008117235A5 (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2006300917A priority Critical patent/JP4899803B2/ja
Priority to US11/977,403 priority patent/US8699820B2/en
Priority to CN2007101662606A priority patent/CN101179644B/zh
Publication of JP2008117235A publication Critical patent/JP2008117235A/ja
Publication of JP2008117235A5 publication Critical patent/JP2008117235A5/ja
Application granted granted Critical
Publication of JP4899803B2 publication Critical patent/JP4899803B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G06T3/02
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/16Image acquisition using multiple overlapping images; Image stitching

Description

本発明は、複数の画像を合成する機能を有する画像処理装置、カメラ装置、画像処理方法、およびプログラムに関するものである。
広画角で高精細の写真を作るために、カメラを望遠にして一点から方向を変えて複数回撮影する方法が知られている。
これらの画像を合成する方法として、レンズ補正係数を求め、求めたレンズ補正係数に基づいて合成処理を行う等の方法が提案されている(たとえば、特許文献1,2,3参照)。
特許文献1に開示された技術では、撮像した2枚の画像に基づいて、これらの画像間で対する複数の対応点の座標を求め、2枚の画像間の幾何変換係数を算出し、対応点の座標と幾何変換係数とに基づいてレンズ歪み係数を算出する。
特許文献2に開示された技術では、各入力画像の紙面や被写体に対する傾き角度を求め、この傾き角度に基づいて各入力画像の傾きを補正し、補正後の入力画像、または補正後の入力画像のデータ量を削減した画像を用いて2つの画像の重なり位置を検出し、検出された重なり位置において2つの入力画像を結合する。
特許文献3に開示された技術では、複数の画像データのそれぞれに対して画像合成の基点を指定し、この基点に基づいて画像のスケールおよび回転角を算出し、算出したスケールおよび回転角を用いて画像データを縮小および回転し結合する。
特許第3557168号公報 特開2003−259110号公報 特開2001−358933号公報
ところが、上記した技術においては、レンズ歪補正係数を求めるためには、キャリブレーションという作業が必要であり、煩雑であった。
また、上記技術においては、2枚の画像を合成することを前提としており、1列だけでなく、多くの枚数、たとえば数千枚の画像をつなぐ場合に誤差が累積して、いわゆるしわ寄せが発現し、正確な合成が困難であるという不利益がある。
レンズの特性に起因する色ムラが目立つという不利益がある。
本発明は、合成する画像の数にかかわりなく、正確な合成を行うことが可能で、また、色ムラの発生を抑止することが可能な画像処理装置、カメラ装置、画像処理方法、およびプログラムを提供することにある。
本発明の第1の観点の画像処理装置は、一点から方向を変えて複数回撮影した画像を1枚に合成する機能を有する合成処理部を有し、前記合成処理部は、選択した複数の画像を境界が重なるようにして、最低4枚の境界についてそれぞれ最低3回のブロックマッチングを行って、少なくともレンズ歪み、画角、チルト角に関するパラメータ情報を取り出し、重複領域の少なくともレンズ歪み、画角、チルト角を把握して誤差が最小となるような各種パラメータを決定し、当該決定されたパラメータに基づいて合成対象の全ての境界についてブロックマッチングを行い、多くの画像枚数に拡張し、すべての境界について同時並列的にブロックマッチングの結果の評価を行い、すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていくようにして合成を行い、当該合成を行う際に、基準画像を1枚決め、当該基準画像を除く画像を平行移動して最も誤差が小さくなる位置に収束させる
本発明の第2の観点のカメラ装置は、撮像素子と、前記撮像素子に被写体像を結像する光学系と、前記撮像素子の出力画像信号を処理する画像処理装置と、を有し、前記画像処理装置は、一点から方向を変えて複数回撮影した画像を1枚に合成する機能を有する合成処理部を有し、前記合成処理部は、選択した複数の画像を境界が重なるようにして、最低4枚の境界についてそれぞれ最低3回のブロックマッチングを行って、少なくともレンズ歪み、画角、チルト角に関するパラメータ情報を取り出し、重複領域の少なくともレンズ歪み、画角、チルト角を把握して誤差が最小となるような各種パラメータを決定し、当該決定されたパラメータに基づいて合成対象の全ての境界についてブロックマッチングを行い、多くの画像枚数に拡張し、すべての境界について同時並列的にブロックマッチングの結果の評価を行い、すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていくようにして合成を行い、当該合成を行う際に、基準画像を1枚決め、当該基準画像を除く画像を平行移動して最も誤差が小さくなる位置に収束させる
本発明の第3の観点は、一点から方向を変えて複数回撮影した画像を1枚に合成する画像処理方法であって、選択した複数の画像を境界が重なるようにして、最低4枚の境界についてそれぞれ最低3回のブロックマッチングを行って、少なくともレンズ歪み、画角、チルト角に関するパラメータ情報を取り出す取り出しステップと、重複領域の少なくともレンズ歪み、画角、チルト角を把握して誤差が最小となるような各種パラメータを決定する決定ステップと、当該決定されたパラメータに基づいて合成対象の全ての境界についてブロックマッチングを行い、多くの画像枚数に拡張し、すべての境界について同時並列的にブロックマッチングの結果の評価を行う評価ステップと、すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていくようにして合成を行い、当該合成を行う際に、基準画像を1枚決め、当該基準画像を除く画像を平行移動して最も誤差が小さくなる位置に収束させる合成ステップとを有する。
本発明の第4の観点は、一点から方向を変えて複数回撮影した画像を1枚に合成する画像処法であって、選択した複数の画像を境界が重なるようにして、最低4枚の境界についてそれぞれ最低3回のブロックマッチングを行って、少なくともレンズ歪み、画角、チルト角に関するパラメータ情報を取り出す取り出し処理と、重複領域の少なくともレンズ歪み、画角、チルト角を把握して誤差が最小となるような各種パラメータを決定する決定処理と、当該決定されたパラメータに基づいて合成対象の全ての境界についてブロックマッチングを行い、多くの画像枚数に拡張し、すべての境界について同時並列的にブロックマッチングの結果の評価を行う評価処理と、すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていくようにして合成を行い、当該合成を行う際に、基準画像を1枚決め、当該基準画像を除く画像を平行移動して最も誤差が小さくなる位置に収束させる合成処理を有する画像処理をコンピュータに実行させるプログラムである。
本発明によれば、合成処理部において、選択した複数の画像を境界が重なるようにして、各境界においてブロックマッチングを行う。そして、各境界について合成を行って所定のパラメータを抽出する。
抽出したパラメータに基づいて合成対象の全ての境界についてブロックマッチングを行う。そして、すべての境界について同時並列的にブロックマッチングの結果の評価を行いすべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていくようにして合成を行う。
本発明によれば、合成する画像の数にかかわりなく、正確な合成を行うことが可能で、また、色ムラの発生を抑止することが可能である。
以下、本発明の実施形態を図面に関連付けて説明する。
図1は、本発明の実施形態に係る画像処理装置を採用したカメラ装置の構成例を示すブロック図である。
本カメラ装置10は、図2に示すように、自動あるいは手動により、一点から方向を変えて複数回撮影した多数の画像(図2においては、16×8=128枚)を得ることが可能で、これらの多数、たとえば数千枚の画像をしわ寄せなく正確に合成を行うことができるように構成されている。
本実施形態に係るカメラ装置10は、光学系11、撮像素子12、アナログフロントエンド回路13、デジタル信号処理部(DSP)14、画像メモリ15、表示装置16等を含んで構成されている。
光学系11は、被写体像を撮像素子12の撮像面に結像させる。
撮像素子12は、たとえばCCD(Charge Coupled Device)またはCMOS(Complymentary Metal Oxide Semiconductor)デバイスで構成され、半導体基板上にマトリックス状に配列した光センサにより光学系11による被写体像を検出して信号電荷を生成し、同信号電荷を垂直信号線や水平信号線を介して読み出して被写体の画像信号を出力する。
AFE回路13は、たとえば撮像素子12からの画像信号に含まれる固定パターンノイズを除去し、自動利得制御の動作により信号レベルを安定化してデジタル信号処理部14に出力する。
デジタル信号処理部14は、AFE回路13の出力信号に対して色補正処理、複数画像の合成処理、自動露光制御、オートホワイトバランス制御等を行うための回路である。
デジタル信号処理部14は、主としてAFE回路13からのアナログ画像信号をデジタル信号に変換するアナログデジタルコンバータ(ADC)141の他に、一点から方向を変えて複数回撮影した多数の画像をしわ寄せなく正確に合成を行うことができるように構成した精密合成処理部142を有している。
そして、精密合成処理部142は、第1色補正機能部143、合成機能部144、および第2色補正機能部145を含んで構成されている。
このように、本実施形態に係るデジタル信号処理部14は、一点から方向を変えて複数回撮影した画像を、色ムラを補正して1枚に精密合成する機能(たとえばソフトウェア)を有している。
以下、本実施形態の精密合成の特徴な機能部分を具体的に説明する。
第1色補正機能部143は、レンズ歪補正係数などのパラメータを抽出するときは、ひとつの境界に少なくとも3個のブロックマッチング(BM)を行い、最低4枚の境界について合成を行い、これが正確になるようにレンズ歪補正係数を決めていく。換言すれば、第1色補正機能部143は、原画像からレンズ歪み補正係数などにパラメータを抽出する。
そして、第1色補正機能部143は、すべての部分画像に一様に周辺減光補正、コントラスト強調、彩度強調、ガンマ補正を行う。
合成機能部144は、第1色補正機能部143でレンズ歪補正係数などのパラメータが決まり、周辺減光補正、コントラスト強調、彩度強調、ガンマ補正を行った後、すべての境界に少なくとも1個(本実施形態では3個)のBM(ブロックマッチング)を行い、すべての境界について同時にBM結果の評価を行い、すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていき複数の画像の合成を精密に行う。
第2色補正機能部145は、合成機能部144で精密合成された複数の画像のうち、隣接する画像間の色の違いを減少させるため、すべての部分画像に対して独立に行う色(ムラ)補正を行う。
また、第2色補正機能部145は、隣接する画像間の色の不連続を検知限界以下まで減少させるための色補正を行う。
ここで、精密合成処理部142における精密合成処理の原理的な概念を説明する。
本実施形態においては、基本的に、フーリエ解析(Fourier analysis)に基づく位相相関技術(phase correlation technique)を採用している。
つまり、空間的関数のシフトがスペクトル領域における位相のみ変化するというフーリエシフト定理に基づいて技術を採用している。
つまり、2つの関数fおよびfが次の関係を満足しているとする。
[数1]
(x、y)=f(x+x,y+y
また、次のようなスペクトル特性を有する。
[数2]
(u,v)=F(u,v)exp(−2πi(ux+vy))
この式は、等価的に、相互電力スペクトル(Cross-Power Spectrum : CPS)を用いて次のように書き換えることができる。
Figure 0004899803
ここで、F は複素関数Fの共役関数である。
実際、画像は、図3に示すように、2つの画像の相互電力スペクトルのようなビット雑音である。
したがって、相互電力スペクトル(CPS)のピークを探り出し、それからトランスレーション(平行移動)パラメータ(x,y)を引き出すことが望ましい。
図3は、相互電力スペクトル(CPS)を用いたトランスレーションにおけるステッチング画像を示す図である。
図3(A)は2つの画像のステッチングの結果を示している。2次元のトランスレーションは、図3(B)に示すように、相互電力スペクトル(CPS)のピーク検出によって得られる。ここで、相互電力スペクトル(CPS)が読み取り可能であれば画像は完全に整合する。
ノイズの多い画像は、最高のピークを検出することが困難であることから、いくつかのピークから選択するようにしても良い。
次に、BM(ブロックマッチング)を用いてパラメータを抽出する原理について、図4〜図11に関連付けて説明する。
ここで、BMは上述した相互電力スペクトル(CPS)のピークを引き出す機能を含む。
まず、図4に示すように、条件のよい4枚の画像IM0,IM1,IM2,IM3を選択する。
たとえば左下が第0の画像IM0、その右が第1の画像IM1、左上が第2の画像IM2、その右が第3の画像IM3とする。これらの画像IM0〜IM3は、隣接する画像間の境界で重なり部分を含むように配置される。
図4において、境界部分に配置した矩形で示すものがブロックBLKである。
このような配置条件で、BM(ブロックマッチング)を行う。
そして、上下左右の4つの境界BDR01,BDR02,BDR13,BDR23から、レンズ歪み、画角、チルト角などの情報を取り出す。
BM(ブロックマッチング)についてさらに説明する。
BMは、たとえば図5に示すように、一つの境界で3箇所について行う。
レンズ歪みがあると、BMの結果は図6に示すように弓なりになる。
チルト角が正しくないと、BMの結果は図7に示すような、図中の左右方向に傾いたような誤差が生じる。
レンズ歪みの中心が縦にずれていると、図8に示すように、上下の境界で左右の伸縮が起きる。左右の境界で上下の伸縮が起きているときは、レンズ歪みの中心が横にずれているときである。
上に向くにつれて画像が回転する場合、図9に示すように、上下方向に傾いたような誤差が生じる。メカニカルなチルト軸に対してカメラが正面を向いていないときに、図9のようになる。
これらの誤差が最小となるように各種パラメータを決める。
これにより、どこの4枚をつないでも、誤差を小さくすることができる。
たとえばファースト位相相関マッチング(fast phase correlation matching)を適用して画像における対応するBMを行う。ベクトル変位(xij,yij)を得、3個のブロックの変位の振舞いを解析することにより、各パラメータを定量化することができる。
以上の4枚のBM(ブロックマッチング)を行った後、図10(A),(B)に示すように、多くの枚数に拡張し、すべての境界について同時にBM結果の評価を行い、すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていき複数の画像の合成を精密に行う。
この場合、基準画像を1枚決め、それ以外の画像を平行移動して最も誤差が小さくなる位置に収束させる。
精密合成処理は、以下の基本的処理に従って行う。それを箇条書き的に示す。
平行移動で最適位置を求め、移動する。
この場合、ループを回す。
移動すべき量の総和を示すパラメータ fxy を 0.0 にする。
上下左右(縦横)のすべての画像について行う。
基準画像は動かさない。
BMの結果、隣接画像との位置関係が得られているのでこれに基づいて動かすべき量を計算する。
その方法は、真上と右隣のものを加え、真下と左隣のものを引いて平均を作り、f[y][x].x, f[y][x].y とする。
その80%を現在の画像の中心位置に加えて新しい画像の中心位置とする。
fxy に、すべての画像の移動すべき量の絶対値の総和を入れる。
この移動によって上下の位置関係、左右の位置関係がどう改善されるかを計算する。
fxy はこの移動を繰り返すことにより、だんだん小さくなる性質を持っている。
言い換えると、これ以上移動することができない状態に収束する。
fxy が十分小さくなったら終了する。
ここで、何千枚つないでもしわ寄せが起こらない画像合成の具体的な処理の一例を説明する。
ここでは、4枚の画像について考察する。
たとえば図4に示すように、左下が第0の画像IM0、その右が第1の画像IM1、左上が第2の画像IM2、その右が第3の画像IM3とする。
第0の画像IM0は動かさない。すなわち、第0の画像IM0を基準画像とする。
BM(ブロックマッチング)の結果の横の成分を bx1[0]、bx1[1]、bx2[0]、bx2[1]とする。
縦の成分も独立に行うが、ここでは横のみを扱うことにする。
bx1は左右、bx2は上下である。[]の中の数字は0が下または左である。
基準画像IM0に対して右または上の画像が右または上にあるとき、BM結果は正の値となる。
今、極端な例として、一か所だけ異常な値があったときを想定し、bx1[0]=10、bx1[1]=0、bx2[0]=0、bx2[1]=0とする。
ここで、1段目の左右が10画素ずれていて、その他3箇所の境界では全くずれていないときを考える。
もし、第0の画像IM0と第1の画像IM1のBM結果から第1の画像IM1の位置を決め、第1の画像IM1と第3の画像IM3のBM結果から第3の画像IM3の位置を決め、第2の画像IM2と第3の画像IM3のBM結果から第2の画像IM2の位置を決めていくと、第0の画像IM0と第2の画像IM2の位置関係に10画素という大きな値がしわ寄せとして生じてしまう。
本実施形態の方式では、このようなとき、10という異常な値の影響が2.5ずつに分散されることを示す。なお、この処理は、一部を後述するプログラムに沿って処理される。
xypos2()で隣接画像との位置関係から平行に移動すべき量を求める。
最初、第1の画像IM1は−5画素移動するべきと計算される。
move() で平行に移動する。
実際に移動させる量はその80%の4画素である。
第0の画像IM0以外の各画像IM1,IM2,IM3の移動量は pox[1]=4、pox[2]=0、pox[3]=0 となる。
このことにより、BM結果bx1[0]は10から6に変化する。
それに伴い、bx2[1]は0から4に変化する。
2回目、第1の画像IM1は−1画素移動するべきと計算される。
第3の画像IM3は−2画素移動するべきと計算される。
その80%、0.8を加算するとpox[1]=4.8となる。
以下、3回目、...と計算し、32回目に、移動すべき量の総和が fxy が 0.001画素を下回るため、終了となる。
このとき、平行に移動すべき画素数は7.5,2.5,5.0となり、各画像の位置関係も、
bx1[0]=10、bx1[1]=0、bx2[0]=0、bx2[1]=0であったものが、
bx1[0]=2.5、bx1[1]=-2.5、bx2[0]=-2.5、bx2[1]=2.5となって、誤差が分散されていることがわかる。
以下に、ii= 32, fxy= 0.00083 fxy が 0.001 以下になったときの回数とその値を示す。
n ix fx[n] fy[n]
0 0 0.000000 0.000000
1 2 -0.000244 0.000000
2 2 -0.000244 0.000000
3 2 -0.000344 0.000000
n pox[n] poy[n] fz[n] 平行に移動すべき画素数
0 0.00 0.00
1 7.50 0.00
2 2.50 0.00
3 5.00 0.00
以下には、プログラム例の一部を示す。
−−プログラムの一部(ここから)−−−−−−−−−−−−−−−−
clrpos(); // 平行に移動すべき量[pixel] pox[],fzx[],rolla[] に 0 を入れる。
for (ii=0;ii<1000;ii++){
xypos2(); // 隣接画像との位置関係から平行に移動すべき量を求める。
if (fxy<0.001){break;}
move(); // 平行に移動する。
}
fprintf(inf,"ii=%3d, fxy=%8.5f fxy が 0.001 以下になったときの回数とその値\n",ii,fxy);
xypos(); // 隣接画像との位置関係から平行に移動すべき量を求める。
move(); // 平行に移動する。
dsppos(); // 補正量を表示する。
angle(); // 補正量を角度にし、 qq[n],pp[n] を更新する。
dsppos(); // 補正量を表示する。
dsperr(); // 各小画像対の誤差が 1 を超えるものを表示する。
step(); // qq[n],pp[n] からステップ角を作る。
−−プログラムの一部(ここまで)−−−−−−−−−−−−−−−−
また、主なサブルーチンを以下に示す。
−−主なサブルーチン−−−−−−−−−−−−−−−−
void xypos2(){ // 隣接画像との位置関係から平行に移動すべき量 fx[n],fy[n] を求め、
// 平行に移動できないフラグ fz[n] を求める。(fprintf 削除)
int m,n,m2,n2,h,v,ix;
double cx,cy;
//fprintf(inf," n ix fx[n] fy[n]\n");
fxy=0;
for (v=0;v<ny;v++){ // すべての画像について
for (h=0;h<nx;h++){
m=(nx-1)*v+h; // 左右の境界
n=nx*v+h; // 上下の境界
ix=0;
if ((0<skip[h][v])||((v==(ny-1)/2)&&(h==(nx-1)/2))){ // 中央の画像と確定済みフラグの画像は動かさない。
fx[n]=0;fy[n]=0;fz[n]=4; // fz[n] は平行に移動できないフラグ
if (skip[h][v]==2){fz[n]=2;} // 確定済みフラグの画像は2とする。
}else{
cx=0;cy=0;
if (v!=0){ // 最下段ではないとき
n2=n-nx; // 真下
if (0<fok2[n2]){
ix++;
cx-=bx2[n2]; // 真下のものを引く
cy-=by2[n2];
}
}
if (v!=ny-1){ // 最上段ではないとき
if (0<fok2[n]){
ix++;
cx+=bx2[n]; // 自分のものをたす
cy+=by2[n];
}
}
if (h!=0){ // 最左端でないとき
m2=m-1; // 左隣り
if (0<fok1[m2]){
ix++;
cx-=bx1[m2]; // 左隣りのものを引く
cy-=by1[m2];
}
}
if (h!=nx-1){ // 最右端でないとき
if (0<fok1[m]){
ix++;
cx+=bx1[m]; // 自分のものをたす
cy+=by1[m];
}
}
if(ix==0){
fx[n]=0;fy[n]=0;fz[n]=1;
}else{
fx[n]=cx/ix;
fy[n]=cy/ix;
fz[n]=0;
}
fxy+=fabs(fx[n])+fabs(fy[n]);
}
}
}
}
//******************************************
void move(){ // 平行に移動する。
int m,n,h,v;
for (v=0;v<ny;v++){ // 画像の中心位置(画素)
for (h=0;h<nx;h++){
n=nx*v+h;
if (fz[n]==0){ // 周囲から隔絶されていないとき
pox[n]+=-fx[n]*0.8;
poy[n]+=-fy[n]*0.8;
}
}
}
for (v=0;v<ny;v++){ // 左右の位置関係
for (h=0;h<nx-1;h++){
m=nx*v+h;
n=(nx-1)*v+h;
bx1[n]+=-(fx[m]-fx[m+1])*0.8;
by1[n]+=-(fy[m]-fy[m+1])*0.8;
}
}
for (v=0;v<ny-1;v++){ // 上下の位置関係
for (h=0;h<nx;h++){
n=nx*v+h;
bx2[n]+=-(fx[n]-fx[n+nx])*0.8;
by2[n]+=-(fy[n]-fy[n+nx])*0.8;
}
}
}
//******************************************
次に、本実施形態に係る第1色補正機能部143の色補正処理の具体的な例を説明する。
[色補正処理の流れ]
周辺減光補正係数をB,G,Rそれぞれに与え、2次、4次、6次をbk2,bk4,bk6, gk2,gk4,gk6, rk2,rk4,rk6とする。
固定分をm_botとする。
中心のズレには画素数を与え、m_xo, m_yoとする。
単位は画素数であり、最後に等倍の画像に適用するときは変更が必要である。比率にすることでもよい。
黒レベル、白レベル はコントラスト強調のときに使い、m_black,m_whiteとする。
ガンマはm_gammaとする。
彩度はm_satとする。
各画像の明度を個別に補正する係数のファイル MEIHOSEI.DAT の値を mei[n][k]とする。
nは画像番号、kは3色の番号、width , height は画像のサイズ(単位:画素)を示す。
これらのパラメータを次のように演算して画素値を決めている。
全ての画像について、全ての画素について行う。
注目する座標(xp,yp)から周辺減光特性の中心までの距離distを求める。
xc = width / 2 + m_xo
yc = height / 2 + m_yo
dist=sqrt((xp-xc) * (xp-xc) + (xp-xc) * (xp-xc))
各色の周辺減光の補正倍率 yy[i] は次のようになる。
n1 = 2 * dist / height
n2 = n1 * n1
yy[0] = ( ( bk6 * n2 + bk4 ) * n2 + bk2 ) * n2 + 1
yy[1] = ( ( gk6 * n2 + gk4 ) * n2 + gk2 ) * n2 + 1
yy[2] = ( ( rk6 * n2 + rk4 ) * n2 + rk2 ) * n2 + 1
補正前の画像メモリから画素値 B,G,R を取り出す。
輝度信号yと色差信号cb,crに分離する。
Y = 0.114 * B + 0.587 * G + 0.299 * R
cb = B - y
cr = R - y
色差信号 cb,cr の飽和度を強調して B,G,R に変換する。
c[0] = m_sat * cb + y
c[2] = m_sat * cr + y
c[1] = ( y - 0.114 * c[0] 0.299 * c[2] ) / 0.587
コントラストの強調倍率 gain は次のようになる。
gain = 255 / ( m_white - m_black )
3色について(k=0〜2)コントラストを強調する。
ch = gain * ( c[k] - m_black )
m_gamma が 1 でないとき、chを0〜255に制限してから、次のようにガンマを補正する。
ch = pow( ch / 255 , 1 / m_gamma )
次に周辺減光補正をする。
ch = yy[k] * ( ch + m_bot ) - m_bot
個別に明度補正する。
ch = ( 1000 + mei[n][k] / 1000 * ch + 0.5 )
ch を0〜255に制限してから1バイトの数に変換する。
3色についてここまで実行すると、色補正済みのBMP(ビットマップ)ができる。
本実施形態においては、以上の色補正、画像合成を行った後、前述したように、第2色補正機能部145が、合成機能部144で精密合成された複数の画像のうち、隣接する画像間の色の違いを減少させるため、すべての部分画像に対して独立(個別)に行う色(ムラ)補正を行う。
また、第2色補正機能部145は、隣接する画像間の色の不連続を検知限界以下まで減少させるための色補正を行う。
ここで、個別の色むら補正について説明する。図11〜図15に関連付けて説明する。
図11は、合成画像の空の部分を左端から右端まで画素値をグラフに示した図である。
図12は、図11のグラフを2次の補正係数を適当に与えて補正した後のグラフを示す図である。
図13は、図12のグラフにパラメータを追加した後のグラフを示す図である。
図11に示すように、レンズの周辺減光特性を示す弓なりの曲線(カーブ)が3色独立に得られる。
2次の補正係数を適当に与えて補正した後の図12に示すようなグラフを見ると、簡単に適正な補正係数に到達することができる。この場合、弓なりはなくなったが、いずれの画像も図中右側が明るいという現象が発現する。
これは、周辺減光特性はレンズの中心から距離の関数として扱っていたが、中心がずれていると考えられる。
パラメータを追加すると、図13に示すように、右側が明るいという現象はなくなる。
しかし、各画像の色がまちまちであることが残っている。
そこて、個別に色補正ができるように補正係数ファイルを作成し、グラフが滑らかになるように係数を与えることで、空の色の不連続は全く見えなくなる。
図14は、個別の色補正について説明するための図である。
図15(A)、(B)は、境界を滑らかに自動補正する方法を説明するための図である。
図14の例においては、3×3の9個の画像IM0〜IM8の中心にある画像IM4の周辺部に隣接する画像IM0〜IM3、IM5〜IM8に向かいあうように、8個の方形、たとえば正方形のブロックBLK40〜BL48(BLK45を除く)を配置するともに、他の画像に正方形のブロックBLK01、BLK11、BLK21、BLK31、BLK51、BLK61、BLK71、BLK81を置き、各々のブロックの輝度値を取得する。
そして、対応するブロック間で輝度値の差が最小となるように画像の画素値を補正する。
周辺減光補正にグラデーションエラーが僅かでも残っていると縦または横にだんだん明るさが変わっていく現象が発生する。
この誤差を評価関数として、グラデーションエラーを除くことができる。
図15の例は、画像IM4には正方形のブロックが20個配置されている。
図15(A),(B)に示すように、境界を滑らかに自動補正するには、ブロックP,Qの画素値の平均値を目標値とし、画像IM4とIM5の中心A,Bの画素値は変えずに目標値Tに向かって2次の曲線で補正する。
以下に、図14および図15に関連する自動色ムラ補正の具体例について説明する。
[第1の処理内容]
パラメータを取り込む。
サイズデータ(SIZE.DAT)を読む。
kidolpf() で、境界に8個の正方形を置き、そこの輝度値を取得する。
nlpf は正方形のサイズ
kidobgr[][][][] (BGR,i,j,位置)に入る。
すべての画像についてを行う。
movey() でkidobgr[][][][]を輝度信号に変え、BGRの3つとも同じ値を入れる。
move() で、kidobgr[][][][] をkidobgr2[][][][]にコピーしておく。
(この後、kidobgr[][][][] は不変だが、kidobgr2[][][][] は変化する。)
Kidoer2() で、kidobgr2[][][][] から輝度値の誤差 kidosa[][][] を取得する。
kidosa[][][] はある画像が周囲の画像との差を減らす方向に変更すべき量である。
Kidosamax はすべての画像の kidosa[][][] の最大値である。
相手の画像の対応する領域の輝度値との差を平均したものであり、隅の場合、相手は斜め隣りの画像とする。
meiclr() で、明度補正係数 meiho[][][] に0を入れる。
ここからは繰り返しである。
meiadd() で、meiho[][][] に kidosa[][][] の半分を加算する。
ただし、基準の画像の輝度だけは変えない。
inten() で、kidobgr[][][][] に meiho[][][] で補正して kidobgr2[][][][] を作る。
(これを行う度に kidobgr2[][][][] も meiho[][][] も正しい値に近づく。)
kidoer2() で、kidobgr2[][][][] から輝度値の誤差 kidosa[][][] を取得する。
(これを行う度に kidosa[][][] が 0 に近づく。)
kidosamax < 0.1 となるまで繰り返す(kidosamax は kidosa[][][] の絶対値の最大値を示す)。
なお、meihodc[l] は明度補正係数の平均値を示し、meihox[l] は明度補正係数の横の偏り、meihoy[l] は明度補正係数の縦の偏りを示す。
周辺減光補正の中心のズレが正しくないときは明度補正係数の縦横の偏りが大きくなるのでこの数値が0に近づくように変更してやり直す。
meihox[l], meihoy[l] が0に近ければ全域にわたってほぼフラットになっている。
[第2の処理内容]
色の不連続を極限まで排除して境界を滑らかに色補正する。
パラメータを取り込む。
サイズデータ(SIZE.DAT)を読む。
kidolpf20A() で境界に20個の正方形を置く。
kidolpf20() で境界に20個の正方形を置き、そこの画素値を取得する。
nlpf は正方形のサイズ
kidobgr[][][][] (BGR,i,j,位置)に 100倍した値で入る。
すべての画像についてを行う。
kidoer2C() で周辺微調整倍率 kidohi[h][i][j][20] を取得する。
自分の画素値と相手の画素値との平均値を目標値とする。
自分の画素値から目標値に達するまでの倍率を1000倍したものである。
recdata12C() で kidodata.txt を作る。
recdata13C() で kidohi[h][i][j][20] の10倍を shuuhen.txt に書く。
shuuhen.txt に書かれた周辺微調整倍率を使って各画像の色を補正する。
このデータは20個の離散的な値である。これらをつなぐ直線上の値は比例配分で決める。
この画像処理の手順は以下のようになる。
すべての画素 P(x1,y1) について、
中央の画素値 O(0,0) は変更しない。
O から P を通って境界線との交点 を Q(x2,y2) とする。
Q をはさむ2つの周辺微調整倍率のデータから直線補完する。
画素値が中心からの距離の2乗に比例して変化すると仮定した関数を使う。
この処理を各種の色補正と同時に行い、MEI の中に書き出す。
以下、滑らか色補正の中の特徴的な処理の一例の内容を詳述する。
MEIHOSEI.DAT から補正値を入力する。
SHUUHEN.TXT から滑らか補正の値 shu[n][h][i] を入力する。
(n:画像番号 h:20点 i=0:x i=1:y i=2:B i=3:G i=4:R)
黒レベル、ガンマ、白レベル、彩度倍率、周辺減光係数、MEIHOSEI.DAT を与えて補正を行う。
x も y も画像の中心を原点とし、すべての画素について演算する。
ang は( ys , xs )と原点とを結ぶ直線の方向を示す。
ang = atan2( ys , xs )
原点から ang の方向に延ばした直線が境界線と交わるとき、20個の点のうち、最も近い 2点 poia , poib を探す。
2点 poia , poib を結ぶ直線を y = a11 * x + b11 として a11,b11 を求める。
この直線と、原点から ang の方向に延ばした直線の交点の座標を求め、 xq , yq とする。
xq , yq が poia , poib からどの位離れているかを示す、比例配分用の係数 k11 を求める。(poia に近いと 0、poib に近いと 1 になる。)
境界部分の BGR の倍率 gq[w] を poia , poib の倍率から比例配分で求める。
色補正倍率が原点からの距離の2乗に比例する y = 1 + k22 * r*r の式に乗ると仮定する。
境界部分の倍率が gq[w] なので係数 k22[w] が次式で求められる。
k22[w] = ( gq[w] 1 ) / ( xq*xq + yq*yq )
任意の位置 (xs,ys) の色補正倍率 gp[w] は次式となる。
gp[w] = 1 + k22[w] * ( xs*xs + ys*ys )
次に、上記構成による一例の精密合成処理の一例を説明する。
(1)原画像を縮小する。
(2)縮小した画像を精密合成無しで円筒に射影して合成する。
この円筒の中心は2軸アクティブ雲台の回転中心である。
たとえば、メモリの制約がある場合には、縦軸を高さではなく、緯度として扱う。
すべての原画像の光軸方向の経度、緯度のデータをテキストファイル初期値として与える。
(3)周辺減光補正を行い、補正係数を求める。
すべての原画像がしかるべき位置に置かれた状態で、RGB成分毎に輝度値のグラフを作り、重複領域内の輝度値に高周波成分の少ない部分をピックアップする。
青空や白壁などが自動で検出される。
高周波成分の多い部分では周辺減光特性を正しく検出できないからである。
周辺減光補正関数は画面の中心から横縦に (x1,y1) だけずれた位置を基準とし、そこからの距離に対して2次と4次の係数を与えた4次関数とする。
重複領域内の輝度値の差が最小になるようにこの関数の係数を変化させる。
(4)画像毎の明度補正を行い、補正係数を求める。
周辺減光補正が完璧に行われていても見た目がきれいにならない場合がある。
たとえば蛍光灯下で速いシャッター速度で撮影したときなど、隣接する画像に輝度差が生じている場合、これを補正する。
明るい画像でも暗い画像でも一様に誤差が減っていくような補正関数を用いる必要がある。
(5)ここまでで得られた補正係数で、縮小していない原画像に対して周辺減光補正と画像毎の明度補正を施すのだが、最終出力画像にコントラスト強調、ガンマ補正、色の濃さ強調を行う場合、一括して行う。
ここから精密合成を始めるのだが、周辺減光補正、画像毎の明度補正、コントラスト強調、ガンマ補正、色の濃さ強調の各処理をした画像で位置関係を求めて行く。
ここから原画像を使う。
(6)中央部の条件の良い4枚を選択し、上下左右の隣接画像の重複部の位置関係を画像マッチングにより求める。
(7)このデータからレンズ歪み、見下ろす角度、画角、パンチルタのステップ角などを求める。
(8)上部と下部でそれぞれ条件の良い4枚を選択し、上下左右の隣接画像の重複部の位置関係を画像マッチングにより求める。
(9)このデータから画角、パンチルタのステップ角の誤差や素性をより正確に求める。
ここで、条件が良いという意味はパララックスの影響が無視できる遠方で、奥行きも少なく、かつ、動くものが無く、コントラストの強い平坦でない画像であることである。
ここまでの作業ですべての画像に共通のパラメータが得られているので、全体のステッチングを始める。
たとえば102枚もの画像を端から1枚ずつつないで行く方法ではすぐにしわ寄せが溜まって破綻してしまう。
102枚の画像の80箇所の境界すべてを同時に監視してその誤差が最小になるように各画像の位置を調整して行く。
ここで障害になるのが条件の悪い境界の存在である。
もし、すべての境界が好条件ならば、これまでに得られたパラメータで処理すればほぼ完全に誤差が除去される。
その理由はただ1個のカメラで撮影しているからである。
102枚の画像の80箇所もの境界がすべて好条件であることなど殆どあり得なく、いたるところに悪条件の部分が含まれている。
悪条件とは(a)空や壁など、輝度値が平坦な場合、(b)漣の水面、風にそよぐ木の葉、はためく旗、流れる滝、流れる雲など、常時動いている場合、(c)人や車や鳥など動くものがあって、重複領域の片方にしか写っていない、または位置が異なる場合、(d)雲が太陽を隠すことで、明るさが変化したり影のつき方が変わっている場合。(e)近距離に柵などが写っていてそれがパララックスのためにずれが生じている場合、などである。
これらの悪条件の部分を正確に把握し、確実に排除して、正しい位置関係を示すデータのみによって収束していくようにすることが最も重要である。
左右の重複領域の幅は水平画素数2560の約10%で250画素程度である。
その領域の縦のサイズはほぼ垂直画素数1920画素程度である。
この領域を 64×64の領域を1単位としてBM(ブロックマッチング)を行う。
この左右の2枚を縦横に平行移動のみで合わせる場合は重複領域の中に有意なブロックが1個以上存在すれば良い。
この重複領域の上部と下部で位置関係が左右にずれている場合は見下ろす角がずれていたりしていることを意味する。
この重複領域の上部と下部で位置関係が上下にずれている場合は左右の縦のサイズが異なっていることを意味する。
この重複領域の上部と下部とその中間で位置関係が直線でなく弓なりになっている場合はレンズ歪みの影響である。
したがって、レンズ歪を検出するためには重複領域の長辺方向に最低3個の有意なブロックが必要である。
(10)ここでは左右の重複領域はその長辺方向に4つのブロックを、上下の重複領域はその長辺方向に5つのブロックをそれぞれ配置する。
(11)横軸を重複領域の長辺方向、縦軸をBM(ブロックマッチング)の結果の位置ずれ、としてグラフを作り、これを最小二乗法で放物線とみなしてその係数を求める。
2次の係数はレンズ歪補正によってほぼ0になっている。
1次の係数もメカニカルの素性や画角、ステップ角、見下ろす角度などが正しく設定されていればほぼ0になっている。
0次の係数はメカニカルの精度が有限であるための誤差を含んでいる。
たとえば所定のカメラに400mmの望遠レンズを付けた場合は1画素は1/968度だから1/100度の誤差があれば10画素のずれを生じる。
(12)この0次の係数を使って、すべての画像の方向を変更し、全体の誤差を減少させて行く。
以上説明したように、本実施形態によれば、レンズ歪補正係数などのパラメータを抽出するときは、ひとつの境界に少なくとも3個のブロックマッチング(BM)を行い、最低4枚の境界について合成を行い、これが正確になるようにレンズ歪補正係数を決め、原画像からレンズ歪み補正係数などのパラメータを抽出し、すべての部分画像に一様に行う周辺減光補正、コントラスト強調、彩度強調、ガンマ補正を行う第1色補正機能部143と、レンズ歪補正係数などのパラメータが決まり、周辺減光補正、コントラスト強調、彩度強調、ガンマ補正を行った後、すべての境界に少なくとも1個(本実施形態では3個)のBM(ブロックマッチング)を行い、すべての境界について同時にBM結果の評価を行い、すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていき複数の画像の合成を精密に行う合成機能部144と、合成機能部144で精密合成された複数の画像のうち、隣接する画像間の色の違いを減少させるため、すべての部分画像に対して独立に行う色(ムラ)補正を行い、また、隣接する画像間の色の不連続を検知限界以下まで減少させるための色補正を行う第2色補正機能部145とを有することから、以下の効果を得ることができる。
合成する画像の数にかかわりなく、正確な合成を行うことが可能で、また、色ムラの発生を抑止することができる。
そして、レンズ歪補正係数を実写画像から抽出することができたため、厄介なキャリブレーションの作業が不要になり、精度も格段に向上する。
何1000枚つないでもしわ寄せが出ない方法により、撮影枚数を気にすることなく、必要な範囲を必要な解像度で撮影することができるようになる。
なお、本実施形態では、第1色補正機能部143の処理、合成機能部14の処理、第2色補正機能部14の順に行うような例を説明したが、これに限定されるものではなく、たとえばある程度精密合成を行った後に色補正を行う等、種々の態様が可能である。
本発明の実施形態に係る画像処理装置を採用したカメラ装置の構成例を示すブロック図である。 本実施形態に係るカメラ装置において広角撮影を行った場合を概念的に示す図である。 相互電力スペクトル(CPS)を用いたトランスレーションにおけるステッチング画像を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、条件の良い4枚の画像を選択する処理を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、一つの境界で3箇所のBMを行う例を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、レンズ歪があるとBMの結果が弓なりになることを示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、チルト角が正しくないと左右方向の誤差が生じる例を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、左右の境界で上下の伸縮が起きているときに横にずれができる例を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、画像が回転する場合に生じる誤差の例を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理後に多くの枚数に拡張して平行移動を行って最も誤差が小さくなるようにする処理を説明するための図である。 合成画像の空の部分を左端から右端まで画素値をグラフに示した図である。 図11のグラフを2次の補正係数を適当に与えて補正した後のグラフを示す図である。 図12のグラフにパラメータを追加した後のグラフを示す図である。 個別の色補正について説明するための図である。 境界を滑らかに自動補正する方法を説明するための図である。
符号の説明
10・・・カメラ装置、11・・・光学系、12・・・撮像素子、13・・・アナログフロントエンド回路(AFE)、14・・・デジタル信号処理部(DSP)、141・・・アナログデジタル変換器、142・・・精密合成処理部、143・・・第1色補正機能部、144・・・精密合成機能部、145・・・第2色補正機能部、15・・・画像メモリ。

Claims (19)

  1. 一点から方向を変えて複数回撮影した画像を1枚に合成する機能を有する合成処理部を有し、
    前記合成処理部は、
    選択した複数の画像を境界が重なるようにして、最低4枚の境界についてそれぞれ最低3回のブロックマッチングを行って、少なくともレンズ歪み、画角、チルト角に関するパラメータ情報を取り出し、重複領域の少なくともレンズ歪み、画角、チルト角を把握して誤差が最小となるような各種パラメータを決定し
    当該決定されたパラメータに基づいて合成対象の全ての境界についてブロックマッチングを行い、多くの画像枚数に拡張し、すべての境界について同時並列的にブロックマッチングの結果の評価を行い、すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていくようにして合成を行い、当該合成を行う際に、基準画像を1枚決め、当該基準画像を除く画像を平行移動して最も誤差が小さくなる位置に収束させる
    画像処理装置。
  2. 上記合成処理部は、
    撮影して得られた原画像における中央部の条件の良い4枚を選択し、上下左右の隣接画像の重複部の位置関係を画像マッチングにより求め、
    当該求めたデータからレンズ歪み、見下ろす角度、画角、パンチルタのステップ角を求め、
    上部と下部でそれぞれ条件の良い4枚を選択し、上下左右の隣接画像の重複部の位置関係を画像マッチングにより求め、
    当該求めたデータから画角、パンチルタのステップ角の誤差、素性をより正確に求める
    請求項1記載の画像処理装置。
  3. 前記合成処理部は、
    左右の前記重複領域はその長辺方向に4つのブロックを、上下の前記重複領域はその長辺方向に5つのブロックをそれぞれ配置し、
    横軸を重複領域の長辺方向、縦軸をブロックマッチングの結果の位置ずれとしてグラフを作り、これを最小二乗法で放物線とみなしてその係数を求め、
    誤差を含む0次の係数を使って、すべての画像の方向を変更し、全体の誤差を減少させて行く
    請求項1または2記載の画像処理装置。
  4. 前記ブロックマッチングは、一つの境界で最低3箇所について行い、
    レンズ歪みがあると、ブロックマッチングの結果は弓なりになり、
    チルト角が正しくないと、ブロックマッチングの結果は左右方向に傾いたような誤差が生じ、
    レンズ歪みの中心が縦にずれていると、ブロックマッチングの結果は上下の境界で左右の伸縮が起き、
    レンズ歪みの中心が横にずれていると、ブロックマッチングの結果は左右の境界で上下の伸縮が起き、
    上に向くにつれて画像が回転する場合、ブロックマッチングの結果は上下方向に傾いたような誤差が生じ、
    前記合成処理部は、
    前記各誤差が最小となるように各種パラメータを決める
    請求項1から3のいずれか一に記載の画像処理装置。
  5. 前記合成処理部は、
    位相相関マッチングを適用して画像における対応する画像のブロックマッチングを行ってベクトル変位を得、最低3個のブロックの変位の振舞いを解析することにより、前記各種パラメータを定量化する
    請求項記載の画像処理装置。
  6. 前記合成処理部は、
    相互電力スペクトルのピークを探り出して、当該ピーク情報から平行移動パラメータを抽出する
    請求項1から5のいずれか一に記載の画像処理装置。
  7. 前記合成処理部は、
    合成対象のすべての部分画像に対して周辺減光補正、コントラスト強調、彩度強調、ガンマ補正を一様に行う機能を有する
    請求項1から6のいずれか一に記載の画像処理装置。
  8. 前記合成処理部は、
    合成後において、隣接する画像間の色の違いを減少させるため、すべての部分画像に対して色補正を独立に行う機能を有する
    請求項1から7のいずれか一に記載の画像処理装置。
  9. 前記合成処理部は、
    合成後において、隣接する画像間の色の不連続を検知限界以下まで減少させるための色補正機能を有する
    請求項1から8のいずれか一に記載の画像処理装置。
  10. 撮像素子と、
    前記撮像素子に被写体像を結像する光学系と、
    前記撮像素子の出力画像信号を処理する画像処理装置と、を有し、
    前記画像処理装置は、
    一点から方向を変えて複数回撮影した画像を1枚に合成する機能を有する合成処理部を有し、
    前記合成処理部は、
    選択した複数の画像を境界が重なるようにして、最低4枚の境界についてそれぞれ最低3回のブロックマッチングを行って、少なくともレンズ歪み、画角、チルト角に関するパラメータ情報を取り出し、重複領域の少なくともレンズ歪み、画角、チルト角を把握して誤差が最小となるような各種パラメータを決定し
    当該決定されたパラメータに基づいて合成対象の全ての境界についてブロックマッチングを行い、多くの画像枚数に拡張し、すべての境界について同時並列的にブロックマッチングの結果の評価を行い、すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていくようにして合成を行い、当該合成を行う際に、基準画像を1枚決め、当該基準画像を除く画像を平行移動して最も誤差が小さくなる位置に収束させる
    カメラ装置。
  11. 上記合成処理部は、
    撮影して得られた原画像における中央部の条件の良い4枚を選択し、上下左右の隣接画像の重複部の位置関係を画像マッチングにより求め、
    当該求めたデータからレンズ歪み、見下ろす角度、画角、パンチルタのステップ角を求め、
    上部と下部でそれぞれ条件の良い4枚を選択し、上下左右の隣接画像の重複部の位置関係を画像マッチングにより求め、
    当該求めたデータから画角、パンチルタのステップ角の誤差、素性をより正確に求める
    請求項10記載のカメラ装置。
  12. 前記合成処理部は、
    左右の前記重複領域はその長辺方向に4つのブロックを、上下の前記重複領域はその長辺方向に5つのブロックをそれぞれ配置し、
    横軸を重複領域の長辺方向、縦軸をブロックマッチングの結果の位置ずれとしてグラフを作り、これを最小二乗法で放物線とみなしてその係数を求め、
    誤差を含む0次の係数を使って、すべての画像の方向を変更し、全体の誤差を減少させて行く
    請求項10または11記載のカメラ装置。
  13. 前記ブロックマッチングは、一つの境界で最低3箇所について行い、
    レンズ歪みがあると、ブロックマッチングの結果は弓なりになり、
    チルト角が正しくないと、ブロックマッチングの結果は左右方向に傾いたような誤差が生じ、
    レンズ歪みの中心が縦にずれていると、ブロックマッチングの結果は上下の境界で左右の伸縮が起き、
    レンズ歪みの中心が横にずれていると、ブロックマッチングの結果は左右の境界で上下の伸縮が起き、
    上に向くにつれて画像が回転する場合、ブロックマッチングの結果は上下方向に傾いたような誤差が生じ、
    前記合成処理部は、
    前記各誤差が最小となるように各種パラメータを決める
    請求項10から12のいずれか一に記載のカメラ装置。
  14. 一点から方向を変えて複数回撮影した画像を1枚に合成する画像処理方法であって、
    選択した複数の画像を境界が重なるようにして、最低4枚の境界についてそれぞれ最低3回のブロックマッチングを行って、少なくともレンズ歪み、画角、チルト角に関するパラメータ情報を取り出す取り出しステップと、
    重複領域の少なくともレンズ歪み、画角、チルト角を把握して誤差が最小となるような各種パラメータを決定する決定ステップと、
    当該決定されたパラメータに基づいて合成対象の全ての境界についてブロックマッチングを行い、多くの画像枚数に拡張し、すべての境界について同時並列的にブロックマッチングの結果の評価を行う評価ステップと、
    すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていくようにして合成を行い、当該合成を行う際に、基準画像を1枚決め、当該基準画像を除く画像を平行移動して最も誤差が小さくなる位置に収束させる合成ステップと
    を有する画像処理方法
  15. 前記取り出しステップおよび前記決定ステップにおいて、
    撮影して得られた原画像における中央部の条件の良い4枚を選択し、上下左右の隣接画像の重複部の位置関係を画像マッチングにより求め、
    当該求めたデータからレンズ歪み、見下ろす角度、画角、パンチルタのステップ角を求め、
    上部と下部でそれぞれ条件の良い4枚を選択し、上下左右の隣接画像の重複部の位置関係を画像マッチングにより求め、
    当該求めたデータから画角、パンチルタのステップ角の誤差、素性をより正確に求める
    請求項14記載の画像処理方法
  16. 前記取り出しステップにおいて、
    左右の前記重複領域はその長辺方向に4つのブロックを、上下の前記重複領域はその長辺方向に5つのブロックをそれぞれ配置し、
    前記決定ステップにおいて、
    横軸を重複領域の長辺方向、縦軸をブロックマッチングの結果の位置ずれとしてグラフを作り、これを最小二乗法で放物線とみなしてその係数を求め、
    前記評価ステップおよび前記合成ステップにおいて、
    誤差を含む0次の係数を使って、すべての画像の方向を変更し、全体の誤差を減少させて行く
    請求項14または15記載の画像処理方法
  17. 一点から方向を変えて複数回撮影した画像を1枚に合成する画像処法であって、
    選択した複数の画像を境界が重なるようにして、最低4枚の境界についてそれぞれ最低3回のブロックマッチングを行って、少なくともレンズ歪み、画角、チルト角に関するパラメータ情報を取り出す取り出し処理と、
    重複領域の少なくともレンズ歪み、画角、チルト角を把握して誤差が最小となるような各種パラメータを決定する決定処理と、
    当該決定されたパラメータに基づいて合成対象の全ての境界についてブロックマッチングを行い、多くの画像枚数に拡張し、すべての境界について同時並列的にブロックマッチングの結果の評価を行う評価処理と、
    すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていくようにして合成を行い、当該合成を行う際に、基準画像を1枚決め、当該基準画像を除く画像を平行移動して最も誤差が小さくなる位置に収束させる合成処理
    を有する画像処理をコンピュータに実行させるプログラム
  18. 前記取り出し処理および前記決定処理において、
    撮影して得られた原画像における中央部の条件の良い4枚を選択し、上下左右の隣接画像の重複部の位置関係を画像マッチングにより求め、
    当該求めたデータからレンズ歪み、見下ろす角度、画角、パンチルタのステップ角を求め、
    上部と下部でそれぞれ条件の良い4枚を選択し、上下左右の隣接画像の重複部の位置関係を画像マッチングにより求め、
    当該求めたデータから画角、パンチルタのステップ角の誤差、素性をより正確に求める
    画象処理をコンピュータに実行させる請求項17記載のプログラム
  19. 前記取り出しステップにおいて、
    左右の前記重複領域はその長辺方向に4つのブロックを、上下の前記重複領域はその長辺方向に5つのブロックをそれぞれ配置し、
    前記決定ステップにおいて、
    横軸を重複領域の長辺方向、縦軸をブロックマッチングの結果の位置ずれとしてグラフを作り、これを最小二乗法で放物線とみなしてその係数を求め、
    前記評価ステップおよび前記合成ステップにおいて、
    誤差を含む0次の係数を使って、すべての画像の方向を変更し、全体の誤差を減少させて行く
    画象処理をコンピュータに実行させる請求項17または18記載のプログラム
JP2006300917A 2006-11-06 2006-11-06 画像処理装置、カメラ装置、画像処理方法、およびプログラム Expired - Fee Related JP4899803B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006300917A JP4899803B2 (ja) 2006-11-06 2006-11-06 画像処理装置、カメラ装置、画像処理方法、およびプログラム
US11/977,403 US8699820B2 (en) 2006-11-06 2007-10-24 Image processing apparatus, camera apparatus, image processing method, and program
CN2007101662606A CN101179644B (zh) 2006-11-06 2007-11-06 图像处理装置和图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006300917A JP4899803B2 (ja) 2006-11-06 2006-11-06 画像処理装置、カメラ装置、画像処理方法、およびプログラム

Publications (3)

Publication Number Publication Date
JP2008117235A JP2008117235A (ja) 2008-05-22
JP2008117235A5 JP2008117235A5 (ja) 2009-12-24
JP4899803B2 true JP4899803B2 (ja) 2012-03-21

Family

ID=39405722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006300917A Expired - Fee Related JP4899803B2 (ja) 2006-11-06 2006-11-06 画像処理装置、カメラ装置、画像処理方法、およびプログラム

Country Status (3)

Country Link
US (1) US8699820B2 (ja)
JP (1) JP4899803B2 (ja)
CN (1) CN101179644B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5163409B2 (ja) 2008-10-03 2013-03-13 ソニー株式会社 撮像装置、撮像方法、およびプログラム
JP4962460B2 (ja) * 2008-10-03 2012-06-27 ソニー株式会社 撮像装置、撮像方法、およびプログラム
JP4618370B2 (ja) * 2008-12-08 2011-01-26 ソニー株式会社 撮像装置、撮像方法、およびプログラム
JP4770924B2 (ja) * 2008-12-17 2011-09-14 ソニー株式会社 撮像装置、撮像方法、およびプログラム
JP2011119974A (ja) * 2009-12-03 2011-06-16 Sony Corp パノラマ画像合成装置、パノラマ画像合成方法、及びプログラム
JP5735846B2 (ja) * 2011-04-11 2015-06-17 キヤノン株式会社 画像処理装置およびその方法
JP5830328B2 (ja) 2011-09-26 2015-12-09 オリンパス株式会社 内視鏡用画像処理装置、内視鏡装置及び画像処理方法
CN103377372B (zh) * 2012-04-23 2017-12-22 无锡维森智能传感技术有限公司 一种环视合成图重叠区域划分方法和环视合成图表示方法
CN110086980B (zh) * 2013-05-31 2022-06-24 株式会社尼康 电子设备
WO2018037920A1 (ja) * 2016-08-26 2018-03-01 日本電気株式会社 画像処理装置、画像処理方法及びコンピュータ読み取り可能記録媒体
WO2018055743A1 (ja) * 2016-09-23 2018-03-29 堺ディスプレイプロダクト株式会社 生成システム、生成方法及びコンピュータプログラム
CN107169494B (zh) * 2017-06-01 2018-07-20 中国人民解放军国防科学技术大学 基于手持终端的车牌图像分割校正方法
CN109697745A (zh) * 2017-10-24 2019-04-30 富泰华工业(深圳)有限公司 障碍物透视方法及障碍物透视装置
CN108270952B (zh) * 2017-11-21 2020-08-07 深圳市芯舞时代科技有限公司 一种双目摄像机影像色差的校正方法及系统
CN110277057B (zh) * 2019-06-28 2021-01-26 京东方科技集团股份有限公司 一种显示面板、信号处理方法及显示装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152895A (ja) * 1993-11-29 1995-06-16 Canon Inc 画像処理方法及び装置
US6075905A (en) * 1996-07-17 2000-06-13 Sarnoff Corporation Method and apparatus for mosaic image construction
US6018349A (en) * 1997-08-01 2000-01-25 Microsoft Corporation Patch-based alignment method and apparatus for construction of image mosaics
US6486908B1 (en) * 1998-05-27 2002-11-26 Industrial Technology Research Institute Image-based method and system for building spherical panoramas
US7015954B1 (en) * 1999-08-09 2006-03-21 Fuji Xerox Co., Ltd. Automatic video system using multiple cameras
JP2001245133A (ja) * 2000-02-29 2001-09-07 Konica Corp 画像読取装置及び画像形成装置
JP2001258933A (ja) 2000-03-16 2001-09-25 Kao Corp 使い捨ておむつ
JP2001358933A (ja) 2000-06-15 2001-12-26 Em Enterprise:Kk 画像合成装置、画像合成方法および画像合成プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3557168B2 (ja) 2000-11-27 2004-08-25 三洋電機株式会社 レンズ歪み係数算出装置および算出方法、レンズ歪み係数算出プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002208005A (ja) * 2001-01-12 2002-07-26 Minolta Co Ltd 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003259110A (ja) 2002-02-28 2003-09-12 Fujitsu Ltd 画像結合装置、その方法、プログラム
JP4021394B2 (ja) * 2003-09-19 2007-12-12 大日本印刷株式会社 画像補正装置および方法
US7813589B2 (en) * 2004-04-01 2010-10-12 Hewlett-Packard Development Company, L.P. System and method for blending images into a single image
KR101042638B1 (ko) * 2004-07-27 2011-06-20 삼성전자주식회사 파노라마 영상 생성을 위한 디지털 촬상장치 및 그 생성방법
JP4301137B2 (ja) * 2004-10-20 2009-07-22 富士ゼロックス株式会社 画像合成装置、画像合成方法、画像合成プログラムおよび記録媒体
US7982777B2 (en) * 2005-04-07 2011-07-19 Axis Engineering Technologies, Inc. Stereoscopic wide field of view imaging system

Also Published As

Publication number Publication date
US8699820B2 (en) 2014-04-15
US20080118155A1 (en) 2008-05-22
JP2008117235A (ja) 2008-05-22
CN101179644A (zh) 2008-05-14
CN101179644B (zh) 2013-05-15

Similar Documents

Publication Publication Date Title
JP4899803B2 (ja) 画像処理装置、カメラ装置、画像処理方法、およびプログラム
US10298864B2 (en) Mismatched foreign light detection and mitigation in the image fusion of a two-camera system
JP4645746B2 (ja) 画像処理装置、画像処理方法および撮像装置
CN106027851B (zh) 用于处理图像的方法和系统
KR101194481B1 (ko) 디지털 카메라의 노출 조정 방법, 디지털 이미지의 노출 및톤 스케일 조정 방법 및 필터링 방법
JP2009290827A (ja) 画像処理装置および画像処理方法
JP4760923B2 (ja) 画像処理装置、画像処理方法および撮像装置
JP6812862B2 (ja) 画像処理システム、撮像装置、画像処理方法及びプログラム
US20120008005A1 (en) Image processing apparatus, image processing method, and computer-readable recording medium having image processing program recorded thereon
CN110365961B (zh) 图像去马赛克装置及方法
JP2009278578A (ja) 画像処理装置および画像処理方法
JPWO2007032156A1 (ja) 画像処理方法及び画像処理装置
JP5978949B2 (ja) 画像合成装置及び画像合成用コンピュータプログラム
TWI703872B (zh) 影像色彩還原與增強電路
US20240029198A1 (en) Circuit For Combined Down Sampling And Correction Of Image Data
JP6541501B2 (ja) 画像処理装置、撮像装置、及び画像処理方法
US20220254050A1 (en) Noise reduction circuit for dual-mode image fusion architecture
CN113379609A (zh) 一种图像处理方法、存储介质及终端设备
JP2010016580A (ja) 画像処理装置および画像処理方法
JP6696596B2 (ja) 画像処理システム、撮像装置、画像処理方法およびプログラム
JP6671943B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2011205399A (ja) 画像処理装置および方法,ならびに画像処理プログラム
JP6881646B2 (ja) 画像処理システム、撮像装置、画像処理方法およびプログラム
US11869169B2 (en) Adaptive sub-pixel spatial temporal interpolation for color filter array
WO2023189456A1 (ja) 情報処理装置、情報処理方法、および記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110905

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111219

R151 Written notification of patent or utility model registration

Ref document number: 4899803

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees