画像データに歪曲収差補正を施す画像処理方法、プログラム、および、記録媒体
【課題】 歪曲収差補正が施された画像を高い解像度でユーザーが認識できるようにするとともに、歪曲収差補正に要する処理時間を短縮する。
【解決手段】 歪曲収差補正を施す領域として画像データの一部の領域を指定し、この指定された一部の領域に対して歪曲収差補正の逆変換となる処理を施す。そしてこの逆変換にて得られた座標を含む領域に対して、歪曲収差補正を施す。
【解決手段】 歪曲収差補正を施す領域として画像データの一部の領域を指定し、この指定された一部の領域に対して歪曲収差補正の逆変換となる処理を施す。そしてこの逆変換にて得られた座標を含む領域に対して、歪曲収差補正を施す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理方法に関し、特に撮像装置にて撮影して得られた画像データに収差補正を施す画像処理方法に関するものである。
【背景技術】
【0002】
近年、デジタルカメラの性能向上により、撮影によって得られた画像データの解像度が高くなり、銀塩写真に勝るとも劣らない高品質の写真画像を得ることが可能になってきた。一般に、カメラで撮影して得られる画像データには、レンズの歪曲収差に起因する幾何学的歪みが生ずる。デジタルカメラでは画像データの加工が銀塩写真に比べて手軽に実行できるので、撮影レンズの撮影時の光学特性情報等を含むレンズ特性データを利用して、このような幾何学的歪みの補正(以下、歪曲収差補正という)を行うアプリケーションも登場している。このようなレンズ収差の補正処理を行うことで、より均質で高画質な画像を得ることができる。なお、レンズ特性データとは、その撮影レンズの歪曲収差に影響を与える要素の値を示すものであり、そのレンズの形状に関する情報、撮影レンズが有する絞りの開口径、および、撮影レンズの焦点距離などに起因して異なる値をとる。
【0003】
一般的な歪曲収差補正の例を図2に示す。
【0004】
図2(a)は被写体像の全体が樽形に歪んだ画像を補正する例を、図2(b)は被写体像の全体が糸巻形に歪んだ画像を補正する例を模式的に表している。
【0005】
歪曲収差は各画素データの座標の移動を伴う補正であって、像高に応じて複雑にその画素データの座標の移動量が変化するため、画像データの画素数が多いほどその計算負荷が増大する。
【0006】
そこで、計算負荷の重い処理を施す画像データを、素早く画像として画面に表示する方法として、表示サイズや表示領域に応じて画像情報を構成する画素の間引き処理を行う方法が考えられる(例えば、特許文献1を参照)。
【特許文献1】特開2005−251166号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、歪曲収差補正は画素データの座標の移動を伴う補正処理である。そのため、計算負荷を減らすことを目的として、歪曲収差補正の前に単純に間引き処理を行ってしまうと、精度の高い歪曲収差補正ができなくなる。
【0008】
また、倍率色収差補正のように各画素の色情報を表示しないとその効果を確認しにくい補正処理の場合には、間引いた縮小画像では、その補正処理の効果をユーザーに確認させることが難しい。
【0009】
これに対し、計算負荷の重い歪曲収差補正を省略して倍率色収差補正のみを行った画像を等倍で表示することも考えられるが、この場合は、歪曲収差補正と倍率色収差補正の両方の処理を施した場合に得られる効果をユーザーに確認させることができない。
【0010】
ゆえに、計算負荷の軽減と、補正を施した画像を高い解像度で表示することを両立させるためには、画像の一部の領域のみを歪曲収差補正できるような画像処理方法を提供することが望ましいと考えられる。
【課題を解決するための手段】
【0011】
上記課題を解決するため、本願発明は、画像データに対して歪曲収差補正を施す画像処理方法において、前記歪曲収差補正を施す領域として、画像データの一部の領域を指定する指定工程と、指定された前記一部の領域に対して前記歪曲収差補正の逆変換となる処理を施すことで得られた座標を演算する演算工程と、前記画像データのうち、前記演算工程において求められた座標を含む領域に対して、前記歪曲収差補正を施す補正工程とを有することを特徴とするものである。
【0012】
また、上記課題を解決するため、本願発明は、画像データに対して歪曲収差補正を施す画像処理方法において、前記歪曲収差補正を施す前後の画像データのサイズのうち、サイズの大きな画像データが表示領域に収まるための画像データの変倍率を算出する算出工程と、前記算出工程にて得られた変倍率に応じて、前記画像データを拡大あるいは縮小処理する変倍工程と、前記変倍工程にて拡大あるいは縮小処理された画像データに対して、前記歪曲収差補正を施す補正工程と、前記歪曲収差補正を施された画像データを基に画像を前記表示領域に表示する表示工程とを有することを特徴とするものである。
【発明の効果】
【0013】
本発明によれば、表示に必要とされる画像データの一部の領域に対して歪曲収差補正を施すことが可能となる。
【発明を実施するための最良の形態】
【0014】
(第1の実施形態)
以下、図面を用いて本発明を具体的に説明する。
【0015】
ここではデジタルカメラで撮影された画像データを読み込んだPC(Personal Computer)を画像処理装置の例として説明を行うが、本発明は単体のデジタルカメラやビデオカメラの内部で実施することも可能である。
【0016】
図1は、本実施形態を実現する画像処理装置の概略を示した図である。101は画像処理装置全体の動作をコントロールする制御部としてのCPUであり、一次記憶素子102に格納されたプログラムを読み出して実行する。103は二次記憶素子であり、例えばハードディスクなどがこれに該当する。一般に一次記憶素子102の容量は二次記憶素子103の容量より小さく、一次記憶素子102に格納しきれないプログラムやデータなどは二次記憶素子103に格納される。また、長時間記憶しなくてはならないデータなども二次記憶素子103に格納される。本実施形態では、実施形態の処理手順を実現するようなプログラムは二次記憶素子103に格納し、プログラム実行時に一次記憶素子102に読み込んで、CPU101が実行処理を行う。
【0017】
104はマウスやキーボードなどの入力デバイスであり、画像の任意の領域を選択したり、プログラムなどに割り込み信号を送ったりするために用いる。
【0018】
105はモニタやプリントなどの出力デバイスであり、CPU101にて処理した画像データに基づく画像を画面に表示したり、印刷したりする。
【0019】
106は読込デバイスであり、CCDやCMOSセンサ等の光電変換素子を備えた撮像装置で撮影された画像データを、直接または間接的に一次記憶素子102や二次記憶素子103に読み込む。
【0020】
107はレンズ特性データ供給部であり、補正処理の対象となる画像を撮影したときに用いた撮影レンズのレンズ特性データを記憶するためのメモリを有する。レンズ特性データとは、図2に示すように歪曲収差を修正するための座標の移動量を示すデータであり、歪曲収差補正時の複数の像高位置における離散的な座標の移動量を補正量として備えたものである。このレンズ特性データは、歪曲収差の程度や歪みの形状に沿うように撮影レンズの種類、焦点距離、あるいは、絞りの開口径等に応じて複数用意されている。そして撮影された画像データに付随しているカメラの種類、レンズの種類、焦点距離、および、絞りの開口径などに関する情報から、その画像データに最も適したレンズ特性データを選択する。
【0021】
本実施形態における歪曲収差補正処理は、レンズ特性データ供給部107から得たレンズ特性データを補間して画素毎の補正量を算出し、補正量に応じて画像を変形することで実行するものである。その詳細については後述する。なお、レンズ特性データの格納先はレンズ特性データ供給部107が有するメモリに限定されず、二次記憶素子103や、図示しない外部記憶装置であってもよい。
【0022】
図3は、本実施形態における画像処理装置にて実行されるアプリケーションのGUI(Graphical User Interface)の概要を示す図である。
【0023】
303は歪曲収差補正スライダ、304は倍率色収差補正スライダ304である。入力デバイス104の操作に応じて、これらのスライダ303、304をスライドさせることで、歪曲収差補正と倍率色収差補正の2種類のレンズ収差補正の適用量を調整することができる。スライダ303、304を左に動かすほど補正の程度を弱め、右に動かすほど補正の程度を強くする。左端までスライダ303、304を移動した場合、そのスライダに該当する補正処理は適用されない。便宜上、スライダ303、304を左端に位置したときのレンズ収差補正の適用量を0%、右端に位置したときの補正の適用量を100%と表現することにする。なお、歪曲収差や倍率色収差の補正処理に限らず、周辺光量や軸上色収差の補正処理のためのスライダを追加表示してもよい。
【0024】
301はフィット表示部であり、歪曲収差補正スライダ303および倍率色収差補正スライダ304にて指定された適用量で各々のレンズ収差補正を施した画像データを、この表示部の大きさにあわせて縮小表示する。
【0025】
任意の画像データに対してレンズ収差補正を行うには、補正対象となる画像データのファイルを、オペレーティングシステムのファイル管理システム上から、図3のフィット表示部301にドラッグアンドドロップすればよい。
【0026】
302は拡大表示部であり、歪曲収差補正スライダ303および倍率色収差補正スライダ304にて指定された適用量で各々のレンズ収差補正を適用した画像データの一部を用いて、フィット表示部301よりも拡大された画像を表示する。本実施形態では、フィット表示部301が画像データを縮小表示するのに対して、拡大表示部302はユーザーから指示された画像データの一部の部位を縮小せずに等倍で表示する。フィット表示部301に表示された画像の何れかの位置を入力デバイス104にて指定すれば、その位置を中心として切り出された画像が拡大表示部302に表示される。入力デバイス104にて位置を指定する方法としては、マウス操作によってフィット表示部301内のカーソルを動かしたり、フィット表示部301に表示された画像の座標を直接数値で入力したりする方法がある。入力デバイス104にて位置が指定されなければ、初期値として、フィット表示部301に表示された画像の中央が指定され、中央部の画像が切り出されて拡大表示部302に等倍表示される。
【0027】
フィット表示部301と拡大表示部302の両方を備えるのは、歪曲収差補正のように画像全体を見渡すほうが効果を確認しやすい処理と、倍率色収差の補正のように画像の一部を拡大表示したほうが効果を確認しやすい処理が存在するためである。なお、画面全体を見渡すほうが効果を確認しやすい処理としては、他に周辺光量補正が例としてあげられ、一部を拡大したほうが効果を確認しやすい処理としては、他に軸上色収差が例としてあげられる。
【0028】
そこで、本実施形態では、フィット表示部301に表示する画像に対しては、倍率色収差補正や軸上色収差補正などの、画像を拡大表示しないと効果が分かりにくいレンズ収差補正処理は行わない。本実施形態におけるフィット表示部301に表示される画像は、拡大表示部302に表示される画像に比べてサイズが大きい。そのため、少しでもレンズ収差補正処理を省略することで、スライダ303、304の操作に対するフィット表示部301に表示される画像の更新頻度を向上させ、アプリケーション全体のレスポンスの向上を図ることができる。
【0029】
図4はフィット表示部301に表示する画像に対する画像処理の流れを示すフローチャートである。上述したように、このフィット表示部301に表示する画像に対しては倍率色収差の補正処理は行われない。
【0030】
ステップS401において、画像データをデコードし、デコード画像を取得する。
【0031】
ステップS402において、歪曲収差補正スライダ303で指定された歪曲収差補正の適用量を取得する。
【0032】
ステップS403において、歪曲収差補正の適用量が0であるか判定し、0でなければステップS404に進み、0であればステップS404を飛ばしてステップS405に進む。
【0033】
ステップS404において、後述する歪曲収差補正処理を行い、歪曲収差補正後の画像データを用いて、フィット表示部301に画像を表示する。
【0034】
ステップS405において、ユーザーからアプリケーションを終了する指示が入力されたかどうかを判定し、入力された場合はこのフローを終了する。アプリケーションを終了しない場合は、ステップS406に進む。
【0035】
ステップS406において、歪曲収差補正スライダ303が操作され、歪曲収差補正の適用量が変更されたかどうかを判定する。適用量が変更された場合はステップS402へ戻り、変更されていなかった場合にはステップS405へ戻る。
【0036】
ここで、デジタルカメラやデジタルビデオカメラで撮影可能な静止画の画像データとしては、センサの情報をそのまま記録したRAW画像データと、モニタに表示可能なように現像処理が施されたJPEG画像データがある。
【0037】
RAW画像データは、画素補間処理やガンマ補正処理、色補正処理等の現像処理を経て、モニタに表示可能な画像データ(例えば、sRGB色空間の画像データ)に変換することができる。JPEG画像データでも、フィット表示部301の解像度に対して非常に大きな解像度の画像データとなる場合もある。このような場合、画像データを構成する画素全てではなく、デコード処理を省略して、縮小画像を得る縮小デコードを利用することでデコード処理を高速化することもよい。特にRAW画像データのように、撮像素子にて得られた画像データを構成する画素補間処理は、間引き補間によって処理を大幅に向上することが可能であるため、縮小デコードは有効である。
【0038】
図5は、図4のステップS404における歪曲収差補正処理を示すフローチャートである。
【0039】
ここでは、デコード画像に歪曲収差補正を施してフィット表示部301に表示する画像を得るための工程について述べる。
【0040】
歪曲収差補正処理は、歪曲収差用のルックアップテーブルを使って行う。このルックアップテーブルは、画像データ上の二次的に配置された離散的な座標における歪曲収差補正前の像高と歪曲収差補正後の像高を対応させた表である。本実施形態では、レンズ特性データを補間して得られたルックアップテーブルを用いて、歪曲収差補正前の像高から歪曲収差補正後の像高へ変換することを順変換、歪曲収差補正後の像高から歪曲収差補正前の像高へ変換することを逆変換と呼ぶ。
【0041】
図6はこのルックアップテーブルを補正関数として模式的に示したものであり、この補正関数を介して、歪曲収差補正前の像高と歪曲収差補正後の像高を変換することができる。
【0042】
ステップS501において、レンズ収差補正の対象となる画像に付随した、撮影時のカメラや撮影レンズの種類、焦点距離、あるいは、絞りの開口径等の情報を基に、レンズ特性データ供給部107からレンズ特性データを選択して取得する。
【0043】
ステップS502において、レンズ収差補正の対象となる画像の撮影時情報からデコード画像の画素ピッチを取得する。画素ピッチとは得られた画像データの画素間の距離であり、本実施形態では、撮像素子上の画素間の距離をミリ単位で表したものである。
【0044】
ステップS503において、画像データの幅および高さと、フィット表示部301の幅および高さを比較し、この画像データの全体をフィット表示部301に表示するために縮小した際の、その縮小後の画像のサイズを求める。
【0045】
ステップS504において、下記(1)式により、フィット表示部301に表示する画像の中心から画像の四隅の頂点までのピクセル単位での距離を示す歪曲収差補正用のルックアップテーブルサイズfsを算出する。下記(1)式におけるfwおよびfhは、それぞれ、ステップS503で求めた画像サイズのピクセル単位での幅および高さである。
fs=√(((fw/2)*(fw/2))+((fh/2)*(fh/2)))・・・(1)
ステップS505において、ステップS504で求めたサイズに応じて、ステップS501で得たレンズ特性データをスプライン補間する演算を行い、歪曲収差補正用のルックアップテーブルを作成する。
【0046】
このルックアップテーブルを順変換に用いる場合の入力はデコード画像の中心からのピクセル単位の距離(像高)となり、出力はフィット表示部301に表示する画像の中心からのピクセル単位の距離(像高)となる。逆変換に用いる場合の入力はフィット表示部301に表示する画像の中心からのピクセル単位の距離(像高)となり、出力はデコード画像の中心からのピクセル単位の距離(像高)となる。
【0047】
このルックアップテーブルを生成するために、レンズ特性データの像高(ミリ単位)からピクセル単位の像高へ変換する必要があるが、この変換にはステップS502で得たデコード画像の画素ピッチを用いる。また、ステップS401で縮小デコードした場合には、デコード画像の画素ピッチを縮小率分の1倍する必要がある。例えば縮小デコード後の幅が0.5倍になったのであれば、デコード画像の画素ピッチは2倍にして計算する必要がある。
【0048】
ステップS506において、フィット表示部301に表示する画像の各画素データの値を求めるため、デコード画像を用いて歪曲収差補正画素値算出処理を実行する。歪曲収差補正画素値算出処理については図7、8を用いて後述する。そして、フィット表示部301に表示する画像の全ての画素データについて値を算出したら、このフローを終了する。
【0049】
図7は、上述したステップS506の歪曲収差補正画素値算出処理を示すフローチャートであり、図8は図7に示す歪曲収差補正画素値算出処理の内容の理解を容易にするためのイメージ図である。
【0050】
歪曲収差補正画素値算出処理では、フィット表示部301に表示される幅fw、高さfhの画像データの座標(i,j)に位置する画素データの出力値を歪曲収差補正用のルックアップテーブルを参照して求める。
【0051】
ステップS701において、フィット表示部301に表示する画像の中心から座標(i,j)までのピクセル単位の距離(像高)を求める。
【0052】
ステップS702において、歪曲収差補正用のルックアップテーブルを用いて、その座標(i,j)の像高に応じた補正量を求める。この像高が整数値にならない場合は、線形補間で補正量を算出する。
【0053】
ステップS703において、ステップS702で求めた補正量を用いて、歪曲収差補正前のデコード画像における座標を下記(2)式で算出する。
P’(i,j)=d’*P(i,j)/d・・・(2)
ここで、P(i,j)はフィット表示部301に表示する歪曲収差補正後の画像の中心から座標(i,j)への方向ベクトルである。P’(i,j)は歪曲収差補正前の画像の中心から、歪曲収差補正後の座標(i,j)が歪曲収差補正前に位置した座標への方向ベクトルである。dは歪曲収差補正後の画像の座標(i,j)のピクセル単位での像高、d’は歪曲収差補正用のルックアップテーブルを用いて算出した歪曲収差補正前の画像の座標(i,j)のピクセル単位での像高である。
【0054】
すなわち、歪曲収差補正前の座標の像高dと、ルックアップテーブルを用いて、この座標に対応する歪曲収差補正後の座標の像高d’を求める。そして、これらの像高d、d’と、歪曲収差正後の座標の方向ベクトルP(i,j)を掛けることによって、歪曲収差補正前の座標の方向ベクトルを求めている。
【0055】
そしてステップS704において、歪曲収差補正前のデコード画像にてP’(i,j)に相当する座標の周囲に隣接する4つの座標の画素データの値を用いて、バイリニア補間を施す。そして得られた値を、歪曲収差補正後の座標(i,j)の画素データの値とする。
【0056】
以上のようにして、歪曲収差補正が施された縮小画像をフィット表示部301に表示する。この歪曲収差補正は、デコード画像よりも小さなサイズの画像データに対して行われる処理であるため、デコード画像の全体に対して歪曲収差補正を施す場合に比較して処理時間を短縮できる。
【0057】
次に、拡大表示部302にレンズ収差補正処理を施した画像を表示するための処理について説明する。
【0058】
拡大表示部302は、フィット表示部301と異なり、歪曲収差補正だけでなく倍率色収差補正を施した画像を表示するため、縮小デコードを行わずに等倍表示を行う。縮小デコードを行わずにデコードしたデコード画像を、以後フル解像度画像と呼ぶ。
【0059】
このフル解像度画像の全体に対して歪曲収差補正を行うと、計算処理の負荷が膨大なものになってしまう。しかしながら、この拡大表示部302の表示領域にはフル解像度画像の一部のみの画像が表示されるため、必要とされる領域に対してのみ歪曲収差補正処理を実行することで、処理を高速化することが可能である。
【0060】
この必要とされる領域を算出するためには、図9(a)、(b)に示すように、拡大表示部302に表示される歪曲収差補正後の矩形を構成するために必要な領域を含むように、歪曲収差補正前の領域を算出する必要がある。
【0061】
本実施形態では、拡大表示部302に表示される歪曲収差補正後の矩形を囲む四辺を構成する領域に対応した歪曲収差補正前の領域を算出し、この領域に外接する矩形である補正対象領域に対してのみ、レンズ収差補正処理を実行する。歪曲収差補正は複雑な変形をする可能性があるため、本実施形態では四辺を構成する全ての画素(以下、周囲画素という)を用いて補正対象領域を求めている。ただし、レンズ特性データから極端な座標の移動が生じないことが予めわかっている場合には、歪曲収差補正後の矩形の4頂点だけを変換し、歪曲収差補正前の4頂点を算出し、この4頂点よりもやや広い領域のみを補正対象領域としても良い。以下の説明においては、補正対象領域は長方形であるものとする。
【0062】
図10は拡大表示部302に表示する画像に対する画像処理の流れを示すフローチャートである。上述したように、拡大表示部302に表示される画像に対しては、歪曲収差補正と倍率色収差補正の両方のレンズ収差補正が行われる。
【0063】
ステップS1001において、レンズ収差補正処理の対象となる画像をデコードし、歪曲収差補正前のフル解像度画像を得る。
【0064】
ステップS1002において、歪曲収差補正スライダ303で指定された歪曲収差補正の適用量に応じた歪曲収差補正用のルックアップテーブルを生成する。歪曲収差補正用のルックアップテーブルは、図5のステップS501からステップS505までで示した処理手順とほぼ同様の手順で生成される。ただし、拡大表示部302には画像が等倍表示されるためステップS503が飛ばされる。また、歪曲収差補正用のルックアップテーブルサイズfsに代えて、下記(3)式を用いてルックアップテーブルサイズdsを算出し、これを用いて歪曲収差補正用のルックアップテーブルを生成する点が異なる。下記(3)式におけるwおよびhは、それぞれ、フル解像度画像のピクセル単位での幅および高さである。
ds=√(((w/2)*(w/2))+((h/2)*(h/2)))・・・(3)
ステップS1003において、歪曲収差補正用のルックアップテーブルを用いて、レンズ収差補正処理の対象となるフル解像度画像の領域を算出する。このレンズ収差補正処理の対象となる補正対象領域の算出処理について図11を用いて説明する。
【0065】
ステップS1101において、ユーザーから指示されたフィット表示部301の画像における領域の座標を、幅wおよび高さhの等倍画像上における領域の座標に変換し、拡大表示部302に表示する歪曲収差補正後の画像の領域を求める。そして、求めた画像の領域の境界部を構成する周囲画素の座標を求める。
【0066】
ステップS1102において、全ての周囲画素について歪曲収差補正後の画像中心からのピクセル単位での距離(像高)を求め、この距離と歪曲収差補正用のルックアップテーブルを用いて、歪曲収差補正前の画像における座標を得る。
【0067】
ステップS1103において、歪曲収差補正前の画像上にてステップS1102で得た座標を囲む最小の長方形の矩形領域を求め、これを補正対象領域とする。
【0068】
そして図10に戻り、ステップS1004において、フル解像度画像上の補正対象領域に対して公知の方法により倍率色収差補正を適用した画像データを得る。
【0069】
倍率色収差を例にあげたが、軸上色収差、周辺光量落ち、あるいは、フィルタ処理等の他のいずれかの補正処理を施しても良いし、あるいは、それら複数の補正処理を施しても良い。
【0070】
ステップS1005において、ステップS1004で得た倍率色収差補正後の画像データに対して歪曲収差補正処理を適用し、拡大表示部302に表示するための画像データを得、この画像データを用いて拡大表示部302に画像を表示する。この歪曲収差補正処理は、ステップS1002で生成した歪曲収差補正ルックアップテーブルを用いて補正対象領域に対して順変換を行う。
【0071】
ステップS1006において、ユーザーからアプリケーションを終了する指示が入力されたかどうかを判定し、入力された場合はこのフローを終了する。アプリケーションを終了しない場合は、ステップS1007に進む。
【0072】
ステップS1007において、倍率色収差補正スライダ304が操作され、倍率色収差補正の適用量が変更されたかどうかを判定する。適用量が変更された場合はステップS1004へ戻り、変更されていなかった場合はステップS1008へ進む。
【0073】
ステップS1008において、歪曲収差補正スライダ303が操作され、歪曲収差補正の適用量が変更されたかどうかを判定する。適用量が変更された場合はステップS1002へ戻り、変更されていない場合はステップS1006へ戻る。
【0074】
以上のようにして、歪曲収差補正および倍率色収差補正が施された等倍画像を拡大表示部302に表示することができる。これにより、ユーザーが歪曲収差補正と倍率色収差補正の効果を実際に見て確認することができるとともに、フル解像度画像の一部の領域に対してのみ歪曲収差補正処理を行うことができるので、処理時間を短縮することができる。また、拡大表示部302に表示する画像データに対する第1の歪曲収差補正と、フィット表示部301に表示する画像データに対する第2の歪曲収差補正とで、それぞれの画像サイズにあわせて歪曲収差補正用のルックアップテーブルをカスタマイズすることができる。
【0075】
(第2の実施形態)
第1の実施形態では歪曲収差補正以外の画像処理が倍率色収差補正だけであったため、歪曲収差補正用のルックアップテーブルを用いた逆変換で直接算出した矩形領域を歪曲収差補正および倍率色収差補正の補正対象領域とした。
【0076】
しかしながら、歪曲収差補正処理以外にフィルタ処理のような周辺画素を利用する処理が含まれる場合、その影響範囲に応じて補正対象領域を拡大しても良い。
【0077】
この場合、拡大した補正対象領域に対してフィルタ処理を施した後、この拡大した補正対象領域を逆変換にて算出された拡大前の補正対象領域に限定し、この限定した補正対象領域に対して歪曲収差補正を実行する。
【0078】
図12を用いて、第一の実施形態で述べた倍率色収差、歪曲収差に加え、半径n画素に対するメディアンフィルタを適用する場合の補正対象領域を説明する。ここでは、まず倍率色収差補正を適用した後、メディアンフィルタを適用する。
【0079】
この場合、第1の実施形態と同様に補正対象領域を求めた後、メディアンフィルタの適用領域を考慮して、補正対象領域の上下左右をn画素拡大する。図12(a)に歪曲補正用のルックアップテーブルを用いて求められた補正対象領域を示し、図12(b)にこの補正対象領域の上下左右をn画素拡大した拡大後の補正対象領域を示す。この図12(b)に示す拡大後の補正対象領域に対して倍率色収差補正およびメディアンフィルタを適用した後、図12(a)に示す補正領域に対して歪曲収差補正を適用して、拡大表示部302に表示するための画像データを生成すればよい。
【0080】
(第3の実施形態)
さらに、別の実施形態について説明する。
【0081】
図2で示したように、歪曲収差補正後の画像データは複雑に変形した形状になるが、一般的にデジタル画像であるビットマップは矩形であり、歪曲収差補正後の領域から歪曲収差補正前の画素だけを含む矩形領域を有効領域として出力とすることが多い。
【0082】
したがって、全ての画素データに対して歪曲収差補正処理する前に、歪曲収差補正後に表示される有効領域を求めておけば、最終的に切り捨てる不要な画素に関する補正処理を行う必要が無い。本実施形態では、レンズ特性データから順変換のルックアップテーブルを生成し、このテーブルを用いて有効領域を算出する。ここで、順変換に用いるルックアップテーブルはレンズ特性データを用いて作成しても良いが、本実施形態では、第1の実施形態で逆変換のために用いた歪曲収差補正用のルックアップテーブルから作成する。
【0083】
図13は、有効領域の算出処理を示すフローチャートである。
【0084】
ステップS1301において、歪曲収差補正処理の対象となる画像から歪曲収差補正前のフル解像度画像の幅w、高さhを得る。
【0085】
ステップS1302において、歪曲収差補正スライダ303で指定された歪曲収差補正の適用量に応じた歪曲収差補正用のルックアップテーブルを生成する。この歪曲収差補正用のルックアップテーブルは、上述した(3)式を用いて、第1の実施形態にて拡大表示部302で表示する画像のためのルックアップテーブルを生成したときとほぼ同様の手順で生成される。
【0086】
ステップS1303において、歪曲収差補正用のルックアップテーブルから、歪曲収差補正前のフル解像度画像における補正対象領域の最大像高を求める。ここで、最大像高は歪曲収差補正用のルックアップテーブルの最大値と等しい。歪曲収差補正用のルックアップテーブルがピクセル単位で表現されるため、最大像高もピクセル単位となる。
【0087】
ステップS1304において、この最大像高を用いて歪曲収差補正ルックアップテーブルから順変換ルックアップテーブルを生成する。順変換用のルックアップテーブルサイズrtsは、歪曲収差補正ルックアップテーブルの最大値maxLを用いて次式で算出する。
rts=[maxL+1]・・・(4)
ここで、[]はガウス記号である。順変換用のルックアップテーブルは、入力が歪曲収差補正前のピクセル単位の像高、出力が歪曲収差補正後のピクセル単位の像高である。順変換用のルックアップテーブルの出力が整数値にならない場合があるが、その場合は歪曲収差補正用のルックアップテーブルを線形補間することによって補う。
【0088】
ステップS1305、S1306において有効領域のサイズを求める。ここで、図14に補正対象領域と有効領域の関係を示す。図14においてx軸は画像の幅を示し、y軸は画像の高さを示す。
【0089】
まずステップS1305で、図14の補正対象領域の高さをh/2に固定し、幅を0からw/2まで変化させる。そして、変化させた幅毎に原点からの距離を計算して順変換用のルックアップテーブルを引き、歪曲収差補正後の新たな座標を計算する。得られた座標のx軸の成分のうち最も小さい値をhWとすると、有効領域の幅はhWの2倍の値になる。
【0090】
次にステップS1306で、図14の補正領域の幅をw/2に固定し、高さを0からh/2まで変化させる。そして、変化させた高さ毎に原点からの距離を計算して順変換用のルックアップテーブルを引き、歪曲収差補正後の新たな座標を計算する。得られた座標のx軸の成分のうち最も小さい値をhWとすると、有効領域の高さはhWの2倍の値になる。
【0091】
このように、ステップS1305およびS1306では、画像の中心部を通る2軸で分割された領域のうちの第1象限について有効領域を求める。有効領域は画像を中心とする矩形であるので、他の象限については処理を行う必要は無く、第1象限で求めた有効領域の幅と高さを単純に2倍することで、画像全体の有効領域を得ることができる。
【0092】
以上のような処理を実行して有効領域を算出することで、必要な領域に対してのみレンズ収差補正処理を実行することが可能になる。
【0093】
(第4の実施形態)
上述した第1の実施形態で示したアプリケーションでは、フィット表示部301に歪曲収差補正処理後の画像が内接するように表示した。しかしながら、第1の実施形態で述べた方法では、歪曲収差補正処理前の画像データのサイズが大きいと、歪曲収差補正処理に伴うメモリアクセス速度が遅くなってしまうという問題がある。
【0094】
さらに、歪曲収差補正処理前後の画像の解像度が変化してしまうという課題がある。歪曲収差補正を施すと、図14に示したように、画素の像高が変化するため、歪曲収差補正処理の前後で画像サイズが変化する。よって、歪曲収差補正処理の前後で画像サイズが同じになるようにするためには、補正後の画像全体を拡大あるいは縮小処理することになる。その結果、歪曲収差補正の影響をほとんど受けない画像の中心部分までも縮小されてしまう。
【0095】
これを解決するためには、歪曲収差補正処理前後の画素ピッチを固定し、歪曲収差補正処理の適用量に応じて画像サイズが変化する様を視覚的に確認できるような表示を行うことが望ましい。
【0096】
そこで本実施形態では、まず、歪曲収差補正処理を適用する前に縮小処理を実行する。歪曲収差補正処理において参照するメモリ領域を小さくすることで、画像処理に伴うメモリアクセス速度を向上させるためである。さらに、歪曲収差補正処理の前後の画像で同じ画素ピッチを想定して、歪曲収差補正処理を実行した画像をフィット表示部301に表示する。歪曲収差補正処理前後の画像のうち、大きいサイズの画像がちょうどフィット表示領域に収まるサイズとなるように画像データを縮小する。そして、この画像データを用いて歪曲収差補正処理を施すことで、補正処理の前後による画像サイズの変化を視覚的に提示することができる。
【0097】
図15は本実施形態におけるフィット表示部301に表示する画像に対する画像処理の流れを示すフローチャートである。基本的な処理は図4と類似しているが、デコード直後に画像の縮小率を求めて、縮小処理を実行する点が異なる。
【0098】
ステップS1501において、画像データをデコードし、デコード画像を取得する。
【0099】
ステップS1502において、歪曲収差補正の適用量を最大にした場合の有効領域を算出する。
【0100】
ステップS1503において、デコード画像の変倍率を求める。まず、デコード画像とステップS1502で得た画像サイズの幅および高さについて、大きい方の値を選択する。選択した値を基に生成される矩形に対してデコード画像が内接するように変倍率を求める。この変倍率でリサイズした画像データに対して歪曲収差補正処理を実行すると、歪曲収差補正の適用量を0からから最大値まで変化させた場合でも、フィット表示部301に画像を収めることができる。
【0101】
ステップS1504において、デコード画像をリサイズし、この画像データをキャッシュする。一般的にフィット表示部301に表示する画像は、フル解像度画像よりもサイズが小さいことが多いので、このような処理は高速化に非常に有効である。
【0102】
ステップS1505以降の処理は、第1の実施形態における図4のステップS402以降の処理とほぼ同じであるため、説明を省略する。
【0103】
ただし、ステップS1507にて実行する歪曲収差補正処理は第1実施形態と異なり、本実施形態では歪曲収差補正前と歪曲収差補正処理の後で画素ピッチを統一する。そのため、撮像素子上の像高に応じてミリ単位で表現された歪曲収差補正ルックアップテーブルを用いる。この画素ピッチの値は、ステップS1503で求めた変倍率に応じて変換することで、正しく歪曲収差補正の補正量を算出することができる。
【0104】
このように、歪曲収差処理補正前後の画像のうち、大きいサイズの画像とフィット表示領域の大きさの比較結果に応じて画像データの縮小処理を行うことで、メモリアクセス速度の向上と画像サイズの変化量の提示を可能にすることができる。
【0105】
次に、上述した各実施形態の機能を実現するためのプログラムについて説明する。
【0106】
上述した実施形態の機能を実現するように各種のデバイスを動作させ、その各種のデバイスと接続された装置あるいはシステム内のコンピュータに対して上述した実施形態の機能を実現させるソフトウェアのプログラムコード(プログラム)を供給する。
【0107】
そして、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に(ソフトウェア的に又はハードウェア的に)格納された画像処理プログラムにしたがって上に記載した各種のデバイスを動作させるようにしたものも、本発明の範疇に含まれる。
【0108】
また、この場合、上記のソフトウェアの画像処理プログラム自体が上述した実施形態の機能を実現することになる。
【0109】
また、その画像処理プログラム自体、及びその画像処理プログラムのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムを格納した記憶媒体も、本発明の範疇に含まれる。
【0110】
かかる画像処理プログラムを記憶する記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0111】
また、供給された画像処理プログラムをコンピュータが実行することにより、上述の実施形態の機能が実現されるだけではない。
【0112】
例えば、その画像処理プログラムがコンピュータにおいて稼動しているOS(オペレーティングシステム)あるいは他のアプリケーション等と協働して上述の実施形態の機能を実現させる場合にも、かかる画像処理プログラムは、本発明の範疇に含まれる。
【0113】
さらに、供給された画像処理プログラムは、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納される。
【0114】
そして、その画像処理プログラムの指示に基づいて機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合にも、かかる画像処理プログラムは本発明の範疇に含まれる。
【図面の簡単な説明】
【0115】
【図1】本発明の実施形態を実現する画像処理装置の概略を示した図である。
【図2】歪曲収差補正によって画像データが変形する様子を示した図である。
【図3】本発明の本実施形態における画像処理装置にて実行されるアプリケーションのGUIの概要を示す図である。
【図4】本発明の第1の実施形態におけるフィット表示部に表示する画像に対する画像処理の流れを示すフローチャートである。
【図5】本発明の第1の実施形態における歪曲収差補正処理を示すフローチャートである。
【図6】本発明の第1の実施形態における歪曲収差補正用のルックアップテーブルを補正関数として模式的に示した図である。
【図7】本発明の第1の実施形態における歪曲収差補正画素値算出処理を示すフローチャートである。
【図8】図7に示す歪曲収差補正画素値算出処理の内容の理解を容易にするためのイメージ図である。
【図9】拡大表示部に表示される歪曲収差補正後の画像に対応する歪曲収差補正前の画像の領域を説明するための図である。
【図10】本発明の第1の実施形態における拡大表示部に表示する画像に対する画像処理の流れを示すフローチャートである。
【図11】本発明の第1の実施形態におけるレンズ収差補正処理の対象となる領域の算出処理の流れを示すフローチャートである。
【図12】本発明の第2の実施形態における倍率色収差、歪曲収差に加え、メディアンフィルタを適用する場合の補正対象領域を説明するための図である。
【図13】本発明の第3の実施形態における有効領域の算出処理を示すフローチャートである。
【図14】本発明の第3の実施形態における補正対象領域と有効領域の関係を示すための図である。
【図15】本発明の第4の実施形態におけるフィット表示部に表示する画像に対する画像処理の流れを示すフローチャートである。
【符号の説明】
【0116】
101 CPU
102 一次記憶素子
103 二次記憶素子
104 入力デバイス
105 出力デバイス
106 読込デバイス
107 レンズ特性データ供給部
【技術分野】
【0001】
本発明は、画像処理方法に関し、特に撮像装置にて撮影して得られた画像データに収差補正を施す画像処理方法に関するものである。
【背景技術】
【0002】
近年、デジタルカメラの性能向上により、撮影によって得られた画像データの解像度が高くなり、銀塩写真に勝るとも劣らない高品質の写真画像を得ることが可能になってきた。一般に、カメラで撮影して得られる画像データには、レンズの歪曲収差に起因する幾何学的歪みが生ずる。デジタルカメラでは画像データの加工が銀塩写真に比べて手軽に実行できるので、撮影レンズの撮影時の光学特性情報等を含むレンズ特性データを利用して、このような幾何学的歪みの補正(以下、歪曲収差補正という)を行うアプリケーションも登場している。このようなレンズ収差の補正処理を行うことで、より均質で高画質な画像を得ることができる。なお、レンズ特性データとは、その撮影レンズの歪曲収差に影響を与える要素の値を示すものであり、そのレンズの形状に関する情報、撮影レンズが有する絞りの開口径、および、撮影レンズの焦点距離などに起因して異なる値をとる。
【0003】
一般的な歪曲収差補正の例を図2に示す。
【0004】
図2(a)は被写体像の全体が樽形に歪んだ画像を補正する例を、図2(b)は被写体像の全体が糸巻形に歪んだ画像を補正する例を模式的に表している。
【0005】
歪曲収差は各画素データの座標の移動を伴う補正であって、像高に応じて複雑にその画素データの座標の移動量が変化するため、画像データの画素数が多いほどその計算負荷が増大する。
【0006】
そこで、計算負荷の重い処理を施す画像データを、素早く画像として画面に表示する方法として、表示サイズや表示領域に応じて画像情報を構成する画素の間引き処理を行う方法が考えられる(例えば、特許文献1を参照)。
【特許文献1】特開2005−251166号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、歪曲収差補正は画素データの座標の移動を伴う補正処理である。そのため、計算負荷を減らすことを目的として、歪曲収差補正の前に単純に間引き処理を行ってしまうと、精度の高い歪曲収差補正ができなくなる。
【0008】
また、倍率色収差補正のように各画素の色情報を表示しないとその効果を確認しにくい補正処理の場合には、間引いた縮小画像では、その補正処理の効果をユーザーに確認させることが難しい。
【0009】
これに対し、計算負荷の重い歪曲収差補正を省略して倍率色収差補正のみを行った画像を等倍で表示することも考えられるが、この場合は、歪曲収差補正と倍率色収差補正の両方の処理を施した場合に得られる効果をユーザーに確認させることができない。
【0010】
ゆえに、計算負荷の軽減と、補正を施した画像を高い解像度で表示することを両立させるためには、画像の一部の領域のみを歪曲収差補正できるような画像処理方法を提供することが望ましいと考えられる。
【課題を解決するための手段】
【0011】
上記課題を解決するため、本願発明は、画像データに対して歪曲収差補正を施す画像処理方法において、前記歪曲収差補正を施す領域として、画像データの一部の領域を指定する指定工程と、指定された前記一部の領域に対して前記歪曲収差補正の逆変換となる処理を施すことで得られた座標を演算する演算工程と、前記画像データのうち、前記演算工程において求められた座標を含む領域に対して、前記歪曲収差補正を施す補正工程とを有することを特徴とするものである。
【0012】
また、上記課題を解決するため、本願発明は、画像データに対して歪曲収差補正を施す画像処理方法において、前記歪曲収差補正を施す前後の画像データのサイズのうち、サイズの大きな画像データが表示領域に収まるための画像データの変倍率を算出する算出工程と、前記算出工程にて得られた変倍率に応じて、前記画像データを拡大あるいは縮小処理する変倍工程と、前記変倍工程にて拡大あるいは縮小処理された画像データに対して、前記歪曲収差補正を施す補正工程と、前記歪曲収差補正を施された画像データを基に画像を前記表示領域に表示する表示工程とを有することを特徴とするものである。
【発明の効果】
【0013】
本発明によれば、表示に必要とされる画像データの一部の領域に対して歪曲収差補正を施すことが可能となる。
【発明を実施するための最良の形態】
【0014】
(第1の実施形態)
以下、図面を用いて本発明を具体的に説明する。
【0015】
ここではデジタルカメラで撮影された画像データを読み込んだPC(Personal Computer)を画像処理装置の例として説明を行うが、本発明は単体のデジタルカメラやビデオカメラの内部で実施することも可能である。
【0016】
図1は、本実施形態を実現する画像処理装置の概略を示した図である。101は画像処理装置全体の動作をコントロールする制御部としてのCPUであり、一次記憶素子102に格納されたプログラムを読み出して実行する。103は二次記憶素子であり、例えばハードディスクなどがこれに該当する。一般に一次記憶素子102の容量は二次記憶素子103の容量より小さく、一次記憶素子102に格納しきれないプログラムやデータなどは二次記憶素子103に格納される。また、長時間記憶しなくてはならないデータなども二次記憶素子103に格納される。本実施形態では、実施形態の処理手順を実現するようなプログラムは二次記憶素子103に格納し、プログラム実行時に一次記憶素子102に読み込んで、CPU101が実行処理を行う。
【0017】
104はマウスやキーボードなどの入力デバイスであり、画像の任意の領域を選択したり、プログラムなどに割り込み信号を送ったりするために用いる。
【0018】
105はモニタやプリントなどの出力デバイスであり、CPU101にて処理した画像データに基づく画像を画面に表示したり、印刷したりする。
【0019】
106は読込デバイスであり、CCDやCMOSセンサ等の光電変換素子を備えた撮像装置で撮影された画像データを、直接または間接的に一次記憶素子102や二次記憶素子103に読み込む。
【0020】
107はレンズ特性データ供給部であり、補正処理の対象となる画像を撮影したときに用いた撮影レンズのレンズ特性データを記憶するためのメモリを有する。レンズ特性データとは、図2に示すように歪曲収差を修正するための座標の移動量を示すデータであり、歪曲収差補正時の複数の像高位置における離散的な座標の移動量を補正量として備えたものである。このレンズ特性データは、歪曲収差の程度や歪みの形状に沿うように撮影レンズの種類、焦点距離、あるいは、絞りの開口径等に応じて複数用意されている。そして撮影された画像データに付随しているカメラの種類、レンズの種類、焦点距離、および、絞りの開口径などに関する情報から、その画像データに最も適したレンズ特性データを選択する。
【0021】
本実施形態における歪曲収差補正処理は、レンズ特性データ供給部107から得たレンズ特性データを補間して画素毎の補正量を算出し、補正量に応じて画像を変形することで実行するものである。その詳細については後述する。なお、レンズ特性データの格納先はレンズ特性データ供給部107が有するメモリに限定されず、二次記憶素子103や、図示しない外部記憶装置であってもよい。
【0022】
図3は、本実施形態における画像処理装置にて実行されるアプリケーションのGUI(Graphical User Interface)の概要を示す図である。
【0023】
303は歪曲収差補正スライダ、304は倍率色収差補正スライダ304である。入力デバイス104の操作に応じて、これらのスライダ303、304をスライドさせることで、歪曲収差補正と倍率色収差補正の2種類のレンズ収差補正の適用量を調整することができる。スライダ303、304を左に動かすほど補正の程度を弱め、右に動かすほど補正の程度を強くする。左端までスライダ303、304を移動した場合、そのスライダに該当する補正処理は適用されない。便宜上、スライダ303、304を左端に位置したときのレンズ収差補正の適用量を0%、右端に位置したときの補正の適用量を100%と表現することにする。なお、歪曲収差や倍率色収差の補正処理に限らず、周辺光量や軸上色収差の補正処理のためのスライダを追加表示してもよい。
【0024】
301はフィット表示部であり、歪曲収差補正スライダ303および倍率色収差補正スライダ304にて指定された適用量で各々のレンズ収差補正を施した画像データを、この表示部の大きさにあわせて縮小表示する。
【0025】
任意の画像データに対してレンズ収差補正を行うには、補正対象となる画像データのファイルを、オペレーティングシステムのファイル管理システム上から、図3のフィット表示部301にドラッグアンドドロップすればよい。
【0026】
302は拡大表示部であり、歪曲収差補正スライダ303および倍率色収差補正スライダ304にて指定された適用量で各々のレンズ収差補正を適用した画像データの一部を用いて、フィット表示部301よりも拡大された画像を表示する。本実施形態では、フィット表示部301が画像データを縮小表示するのに対して、拡大表示部302はユーザーから指示された画像データの一部の部位を縮小せずに等倍で表示する。フィット表示部301に表示された画像の何れかの位置を入力デバイス104にて指定すれば、その位置を中心として切り出された画像が拡大表示部302に表示される。入力デバイス104にて位置を指定する方法としては、マウス操作によってフィット表示部301内のカーソルを動かしたり、フィット表示部301に表示された画像の座標を直接数値で入力したりする方法がある。入力デバイス104にて位置が指定されなければ、初期値として、フィット表示部301に表示された画像の中央が指定され、中央部の画像が切り出されて拡大表示部302に等倍表示される。
【0027】
フィット表示部301と拡大表示部302の両方を備えるのは、歪曲収差補正のように画像全体を見渡すほうが効果を確認しやすい処理と、倍率色収差の補正のように画像の一部を拡大表示したほうが効果を確認しやすい処理が存在するためである。なお、画面全体を見渡すほうが効果を確認しやすい処理としては、他に周辺光量補正が例としてあげられ、一部を拡大したほうが効果を確認しやすい処理としては、他に軸上色収差が例としてあげられる。
【0028】
そこで、本実施形態では、フィット表示部301に表示する画像に対しては、倍率色収差補正や軸上色収差補正などの、画像を拡大表示しないと効果が分かりにくいレンズ収差補正処理は行わない。本実施形態におけるフィット表示部301に表示される画像は、拡大表示部302に表示される画像に比べてサイズが大きい。そのため、少しでもレンズ収差補正処理を省略することで、スライダ303、304の操作に対するフィット表示部301に表示される画像の更新頻度を向上させ、アプリケーション全体のレスポンスの向上を図ることができる。
【0029】
図4はフィット表示部301に表示する画像に対する画像処理の流れを示すフローチャートである。上述したように、このフィット表示部301に表示する画像に対しては倍率色収差の補正処理は行われない。
【0030】
ステップS401において、画像データをデコードし、デコード画像を取得する。
【0031】
ステップS402において、歪曲収差補正スライダ303で指定された歪曲収差補正の適用量を取得する。
【0032】
ステップS403において、歪曲収差補正の適用量が0であるか判定し、0でなければステップS404に進み、0であればステップS404を飛ばしてステップS405に進む。
【0033】
ステップS404において、後述する歪曲収差補正処理を行い、歪曲収差補正後の画像データを用いて、フィット表示部301に画像を表示する。
【0034】
ステップS405において、ユーザーからアプリケーションを終了する指示が入力されたかどうかを判定し、入力された場合はこのフローを終了する。アプリケーションを終了しない場合は、ステップS406に進む。
【0035】
ステップS406において、歪曲収差補正スライダ303が操作され、歪曲収差補正の適用量が変更されたかどうかを判定する。適用量が変更された場合はステップS402へ戻り、変更されていなかった場合にはステップS405へ戻る。
【0036】
ここで、デジタルカメラやデジタルビデオカメラで撮影可能な静止画の画像データとしては、センサの情報をそのまま記録したRAW画像データと、モニタに表示可能なように現像処理が施されたJPEG画像データがある。
【0037】
RAW画像データは、画素補間処理やガンマ補正処理、色補正処理等の現像処理を経て、モニタに表示可能な画像データ(例えば、sRGB色空間の画像データ)に変換することができる。JPEG画像データでも、フィット表示部301の解像度に対して非常に大きな解像度の画像データとなる場合もある。このような場合、画像データを構成する画素全てではなく、デコード処理を省略して、縮小画像を得る縮小デコードを利用することでデコード処理を高速化することもよい。特にRAW画像データのように、撮像素子にて得られた画像データを構成する画素補間処理は、間引き補間によって処理を大幅に向上することが可能であるため、縮小デコードは有効である。
【0038】
図5は、図4のステップS404における歪曲収差補正処理を示すフローチャートである。
【0039】
ここでは、デコード画像に歪曲収差補正を施してフィット表示部301に表示する画像を得るための工程について述べる。
【0040】
歪曲収差補正処理は、歪曲収差用のルックアップテーブルを使って行う。このルックアップテーブルは、画像データ上の二次的に配置された離散的な座標における歪曲収差補正前の像高と歪曲収差補正後の像高を対応させた表である。本実施形態では、レンズ特性データを補間して得られたルックアップテーブルを用いて、歪曲収差補正前の像高から歪曲収差補正後の像高へ変換することを順変換、歪曲収差補正後の像高から歪曲収差補正前の像高へ変換することを逆変換と呼ぶ。
【0041】
図6はこのルックアップテーブルを補正関数として模式的に示したものであり、この補正関数を介して、歪曲収差補正前の像高と歪曲収差補正後の像高を変換することができる。
【0042】
ステップS501において、レンズ収差補正の対象となる画像に付随した、撮影時のカメラや撮影レンズの種類、焦点距離、あるいは、絞りの開口径等の情報を基に、レンズ特性データ供給部107からレンズ特性データを選択して取得する。
【0043】
ステップS502において、レンズ収差補正の対象となる画像の撮影時情報からデコード画像の画素ピッチを取得する。画素ピッチとは得られた画像データの画素間の距離であり、本実施形態では、撮像素子上の画素間の距離をミリ単位で表したものである。
【0044】
ステップS503において、画像データの幅および高さと、フィット表示部301の幅および高さを比較し、この画像データの全体をフィット表示部301に表示するために縮小した際の、その縮小後の画像のサイズを求める。
【0045】
ステップS504において、下記(1)式により、フィット表示部301に表示する画像の中心から画像の四隅の頂点までのピクセル単位での距離を示す歪曲収差補正用のルックアップテーブルサイズfsを算出する。下記(1)式におけるfwおよびfhは、それぞれ、ステップS503で求めた画像サイズのピクセル単位での幅および高さである。
fs=√(((fw/2)*(fw/2))+((fh/2)*(fh/2)))・・・(1)
ステップS505において、ステップS504で求めたサイズに応じて、ステップS501で得たレンズ特性データをスプライン補間する演算を行い、歪曲収差補正用のルックアップテーブルを作成する。
【0046】
このルックアップテーブルを順変換に用いる場合の入力はデコード画像の中心からのピクセル単位の距離(像高)となり、出力はフィット表示部301に表示する画像の中心からのピクセル単位の距離(像高)となる。逆変換に用いる場合の入力はフィット表示部301に表示する画像の中心からのピクセル単位の距離(像高)となり、出力はデコード画像の中心からのピクセル単位の距離(像高)となる。
【0047】
このルックアップテーブルを生成するために、レンズ特性データの像高(ミリ単位)からピクセル単位の像高へ変換する必要があるが、この変換にはステップS502で得たデコード画像の画素ピッチを用いる。また、ステップS401で縮小デコードした場合には、デコード画像の画素ピッチを縮小率分の1倍する必要がある。例えば縮小デコード後の幅が0.5倍になったのであれば、デコード画像の画素ピッチは2倍にして計算する必要がある。
【0048】
ステップS506において、フィット表示部301に表示する画像の各画素データの値を求めるため、デコード画像を用いて歪曲収差補正画素値算出処理を実行する。歪曲収差補正画素値算出処理については図7、8を用いて後述する。そして、フィット表示部301に表示する画像の全ての画素データについて値を算出したら、このフローを終了する。
【0049】
図7は、上述したステップS506の歪曲収差補正画素値算出処理を示すフローチャートであり、図8は図7に示す歪曲収差補正画素値算出処理の内容の理解を容易にするためのイメージ図である。
【0050】
歪曲収差補正画素値算出処理では、フィット表示部301に表示される幅fw、高さfhの画像データの座標(i,j)に位置する画素データの出力値を歪曲収差補正用のルックアップテーブルを参照して求める。
【0051】
ステップS701において、フィット表示部301に表示する画像の中心から座標(i,j)までのピクセル単位の距離(像高)を求める。
【0052】
ステップS702において、歪曲収差補正用のルックアップテーブルを用いて、その座標(i,j)の像高に応じた補正量を求める。この像高が整数値にならない場合は、線形補間で補正量を算出する。
【0053】
ステップS703において、ステップS702で求めた補正量を用いて、歪曲収差補正前のデコード画像における座標を下記(2)式で算出する。
P’(i,j)=d’*P(i,j)/d・・・(2)
ここで、P(i,j)はフィット表示部301に表示する歪曲収差補正後の画像の中心から座標(i,j)への方向ベクトルである。P’(i,j)は歪曲収差補正前の画像の中心から、歪曲収差補正後の座標(i,j)が歪曲収差補正前に位置した座標への方向ベクトルである。dは歪曲収差補正後の画像の座標(i,j)のピクセル単位での像高、d’は歪曲収差補正用のルックアップテーブルを用いて算出した歪曲収差補正前の画像の座標(i,j)のピクセル単位での像高である。
【0054】
すなわち、歪曲収差補正前の座標の像高dと、ルックアップテーブルを用いて、この座標に対応する歪曲収差補正後の座標の像高d’を求める。そして、これらの像高d、d’と、歪曲収差正後の座標の方向ベクトルP(i,j)を掛けることによって、歪曲収差補正前の座標の方向ベクトルを求めている。
【0055】
そしてステップS704において、歪曲収差補正前のデコード画像にてP’(i,j)に相当する座標の周囲に隣接する4つの座標の画素データの値を用いて、バイリニア補間を施す。そして得られた値を、歪曲収差補正後の座標(i,j)の画素データの値とする。
【0056】
以上のようにして、歪曲収差補正が施された縮小画像をフィット表示部301に表示する。この歪曲収差補正は、デコード画像よりも小さなサイズの画像データに対して行われる処理であるため、デコード画像の全体に対して歪曲収差補正を施す場合に比較して処理時間を短縮できる。
【0057】
次に、拡大表示部302にレンズ収差補正処理を施した画像を表示するための処理について説明する。
【0058】
拡大表示部302は、フィット表示部301と異なり、歪曲収差補正だけでなく倍率色収差補正を施した画像を表示するため、縮小デコードを行わずに等倍表示を行う。縮小デコードを行わずにデコードしたデコード画像を、以後フル解像度画像と呼ぶ。
【0059】
このフル解像度画像の全体に対して歪曲収差補正を行うと、計算処理の負荷が膨大なものになってしまう。しかしながら、この拡大表示部302の表示領域にはフル解像度画像の一部のみの画像が表示されるため、必要とされる領域に対してのみ歪曲収差補正処理を実行することで、処理を高速化することが可能である。
【0060】
この必要とされる領域を算出するためには、図9(a)、(b)に示すように、拡大表示部302に表示される歪曲収差補正後の矩形を構成するために必要な領域を含むように、歪曲収差補正前の領域を算出する必要がある。
【0061】
本実施形態では、拡大表示部302に表示される歪曲収差補正後の矩形を囲む四辺を構成する領域に対応した歪曲収差補正前の領域を算出し、この領域に外接する矩形である補正対象領域に対してのみ、レンズ収差補正処理を実行する。歪曲収差補正は複雑な変形をする可能性があるため、本実施形態では四辺を構成する全ての画素(以下、周囲画素という)を用いて補正対象領域を求めている。ただし、レンズ特性データから極端な座標の移動が生じないことが予めわかっている場合には、歪曲収差補正後の矩形の4頂点だけを変換し、歪曲収差補正前の4頂点を算出し、この4頂点よりもやや広い領域のみを補正対象領域としても良い。以下の説明においては、補正対象領域は長方形であるものとする。
【0062】
図10は拡大表示部302に表示する画像に対する画像処理の流れを示すフローチャートである。上述したように、拡大表示部302に表示される画像に対しては、歪曲収差補正と倍率色収差補正の両方のレンズ収差補正が行われる。
【0063】
ステップS1001において、レンズ収差補正処理の対象となる画像をデコードし、歪曲収差補正前のフル解像度画像を得る。
【0064】
ステップS1002において、歪曲収差補正スライダ303で指定された歪曲収差補正の適用量に応じた歪曲収差補正用のルックアップテーブルを生成する。歪曲収差補正用のルックアップテーブルは、図5のステップS501からステップS505までで示した処理手順とほぼ同様の手順で生成される。ただし、拡大表示部302には画像が等倍表示されるためステップS503が飛ばされる。また、歪曲収差補正用のルックアップテーブルサイズfsに代えて、下記(3)式を用いてルックアップテーブルサイズdsを算出し、これを用いて歪曲収差補正用のルックアップテーブルを生成する点が異なる。下記(3)式におけるwおよびhは、それぞれ、フル解像度画像のピクセル単位での幅および高さである。
ds=√(((w/2)*(w/2))+((h/2)*(h/2)))・・・(3)
ステップS1003において、歪曲収差補正用のルックアップテーブルを用いて、レンズ収差補正処理の対象となるフル解像度画像の領域を算出する。このレンズ収差補正処理の対象となる補正対象領域の算出処理について図11を用いて説明する。
【0065】
ステップS1101において、ユーザーから指示されたフィット表示部301の画像における領域の座標を、幅wおよび高さhの等倍画像上における領域の座標に変換し、拡大表示部302に表示する歪曲収差補正後の画像の領域を求める。そして、求めた画像の領域の境界部を構成する周囲画素の座標を求める。
【0066】
ステップS1102において、全ての周囲画素について歪曲収差補正後の画像中心からのピクセル単位での距離(像高)を求め、この距離と歪曲収差補正用のルックアップテーブルを用いて、歪曲収差補正前の画像における座標を得る。
【0067】
ステップS1103において、歪曲収差補正前の画像上にてステップS1102で得た座標を囲む最小の長方形の矩形領域を求め、これを補正対象領域とする。
【0068】
そして図10に戻り、ステップS1004において、フル解像度画像上の補正対象領域に対して公知の方法により倍率色収差補正を適用した画像データを得る。
【0069】
倍率色収差を例にあげたが、軸上色収差、周辺光量落ち、あるいは、フィルタ処理等の他のいずれかの補正処理を施しても良いし、あるいは、それら複数の補正処理を施しても良い。
【0070】
ステップS1005において、ステップS1004で得た倍率色収差補正後の画像データに対して歪曲収差補正処理を適用し、拡大表示部302に表示するための画像データを得、この画像データを用いて拡大表示部302に画像を表示する。この歪曲収差補正処理は、ステップS1002で生成した歪曲収差補正ルックアップテーブルを用いて補正対象領域に対して順変換を行う。
【0071】
ステップS1006において、ユーザーからアプリケーションを終了する指示が入力されたかどうかを判定し、入力された場合はこのフローを終了する。アプリケーションを終了しない場合は、ステップS1007に進む。
【0072】
ステップS1007において、倍率色収差補正スライダ304が操作され、倍率色収差補正の適用量が変更されたかどうかを判定する。適用量が変更された場合はステップS1004へ戻り、変更されていなかった場合はステップS1008へ進む。
【0073】
ステップS1008において、歪曲収差補正スライダ303が操作され、歪曲収差補正の適用量が変更されたかどうかを判定する。適用量が変更された場合はステップS1002へ戻り、変更されていない場合はステップS1006へ戻る。
【0074】
以上のようにして、歪曲収差補正および倍率色収差補正が施された等倍画像を拡大表示部302に表示することができる。これにより、ユーザーが歪曲収差補正と倍率色収差補正の効果を実際に見て確認することができるとともに、フル解像度画像の一部の領域に対してのみ歪曲収差補正処理を行うことができるので、処理時間を短縮することができる。また、拡大表示部302に表示する画像データに対する第1の歪曲収差補正と、フィット表示部301に表示する画像データに対する第2の歪曲収差補正とで、それぞれの画像サイズにあわせて歪曲収差補正用のルックアップテーブルをカスタマイズすることができる。
【0075】
(第2の実施形態)
第1の実施形態では歪曲収差補正以外の画像処理が倍率色収差補正だけであったため、歪曲収差補正用のルックアップテーブルを用いた逆変換で直接算出した矩形領域を歪曲収差補正および倍率色収差補正の補正対象領域とした。
【0076】
しかしながら、歪曲収差補正処理以外にフィルタ処理のような周辺画素を利用する処理が含まれる場合、その影響範囲に応じて補正対象領域を拡大しても良い。
【0077】
この場合、拡大した補正対象領域に対してフィルタ処理を施した後、この拡大した補正対象領域を逆変換にて算出された拡大前の補正対象領域に限定し、この限定した補正対象領域に対して歪曲収差補正を実行する。
【0078】
図12を用いて、第一の実施形態で述べた倍率色収差、歪曲収差に加え、半径n画素に対するメディアンフィルタを適用する場合の補正対象領域を説明する。ここでは、まず倍率色収差補正を適用した後、メディアンフィルタを適用する。
【0079】
この場合、第1の実施形態と同様に補正対象領域を求めた後、メディアンフィルタの適用領域を考慮して、補正対象領域の上下左右をn画素拡大する。図12(a)に歪曲補正用のルックアップテーブルを用いて求められた補正対象領域を示し、図12(b)にこの補正対象領域の上下左右をn画素拡大した拡大後の補正対象領域を示す。この図12(b)に示す拡大後の補正対象領域に対して倍率色収差補正およびメディアンフィルタを適用した後、図12(a)に示す補正領域に対して歪曲収差補正を適用して、拡大表示部302に表示するための画像データを生成すればよい。
【0080】
(第3の実施形態)
さらに、別の実施形態について説明する。
【0081】
図2で示したように、歪曲収差補正後の画像データは複雑に変形した形状になるが、一般的にデジタル画像であるビットマップは矩形であり、歪曲収差補正後の領域から歪曲収差補正前の画素だけを含む矩形領域を有効領域として出力とすることが多い。
【0082】
したがって、全ての画素データに対して歪曲収差補正処理する前に、歪曲収差補正後に表示される有効領域を求めておけば、最終的に切り捨てる不要な画素に関する補正処理を行う必要が無い。本実施形態では、レンズ特性データから順変換のルックアップテーブルを生成し、このテーブルを用いて有効領域を算出する。ここで、順変換に用いるルックアップテーブルはレンズ特性データを用いて作成しても良いが、本実施形態では、第1の実施形態で逆変換のために用いた歪曲収差補正用のルックアップテーブルから作成する。
【0083】
図13は、有効領域の算出処理を示すフローチャートである。
【0084】
ステップS1301において、歪曲収差補正処理の対象となる画像から歪曲収差補正前のフル解像度画像の幅w、高さhを得る。
【0085】
ステップS1302において、歪曲収差補正スライダ303で指定された歪曲収差補正の適用量に応じた歪曲収差補正用のルックアップテーブルを生成する。この歪曲収差補正用のルックアップテーブルは、上述した(3)式を用いて、第1の実施形態にて拡大表示部302で表示する画像のためのルックアップテーブルを生成したときとほぼ同様の手順で生成される。
【0086】
ステップS1303において、歪曲収差補正用のルックアップテーブルから、歪曲収差補正前のフル解像度画像における補正対象領域の最大像高を求める。ここで、最大像高は歪曲収差補正用のルックアップテーブルの最大値と等しい。歪曲収差補正用のルックアップテーブルがピクセル単位で表現されるため、最大像高もピクセル単位となる。
【0087】
ステップS1304において、この最大像高を用いて歪曲収差補正ルックアップテーブルから順変換ルックアップテーブルを生成する。順変換用のルックアップテーブルサイズrtsは、歪曲収差補正ルックアップテーブルの最大値maxLを用いて次式で算出する。
rts=[maxL+1]・・・(4)
ここで、[]はガウス記号である。順変換用のルックアップテーブルは、入力が歪曲収差補正前のピクセル単位の像高、出力が歪曲収差補正後のピクセル単位の像高である。順変換用のルックアップテーブルの出力が整数値にならない場合があるが、その場合は歪曲収差補正用のルックアップテーブルを線形補間することによって補う。
【0088】
ステップS1305、S1306において有効領域のサイズを求める。ここで、図14に補正対象領域と有効領域の関係を示す。図14においてx軸は画像の幅を示し、y軸は画像の高さを示す。
【0089】
まずステップS1305で、図14の補正対象領域の高さをh/2に固定し、幅を0からw/2まで変化させる。そして、変化させた幅毎に原点からの距離を計算して順変換用のルックアップテーブルを引き、歪曲収差補正後の新たな座標を計算する。得られた座標のx軸の成分のうち最も小さい値をhWとすると、有効領域の幅はhWの2倍の値になる。
【0090】
次にステップS1306で、図14の補正領域の幅をw/2に固定し、高さを0からh/2まで変化させる。そして、変化させた高さ毎に原点からの距離を計算して順変換用のルックアップテーブルを引き、歪曲収差補正後の新たな座標を計算する。得られた座標のx軸の成分のうち最も小さい値をhWとすると、有効領域の高さはhWの2倍の値になる。
【0091】
このように、ステップS1305およびS1306では、画像の中心部を通る2軸で分割された領域のうちの第1象限について有効領域を求める。有効領域は画像を中心とする矩形であるので、他の象限については処理を行う必要は無く、第1象限で求めた有効領域の幅と高さを単純に2倍することで、画像全体の有効領域を得ることができる。
【0092】
以上のような処理を実行して有効領域を算出することで、必要な領域に対してのみレンズ収差補正処理を実行することが可能になる。
【0093】
(第4の実施形態)
上述した第1の実施形態で示したアプリケーションでは、フィット表示部301に歪曲収差補正処理後の画像が内接するように表示した。しかしながら、第1の実施形態で述べた方法では、歪曲収差補正処理前の画像データのサイズが大きいと、歪曲収差補正処理に伴うメモリアクセス速度が遅くなってしまうという問題がある。
【0094】
さらに、歪曲収差補正処理前後の画像の解像度が変化してしまうという課題がある。歪曲収差補正を施すと、図14に示したように、画素の像高が変化するため、歪曲収差補正処理の前後で画像サイズが変化する。よって、歪曲収差補正処理の前後で画像サイズが同じになるようにするためには、補正後の画像全体を拡大あるいは縮小処理することになる。その結果、歪曲収差補正の影響をほとんど受けない画像の中心部分までも縮小されてしまう。
【0095】
これを解決するためには、歪曲収差補正処理前後の画素ピッチを固定し、歪曲収差補正処理の適用量に応じて画像サイズが変化する様を視覚的に確認できるような表示を行うことが望ましい。
【0096】
そこで本実施形態では、まず、歪曲収差補正処理を適用する前に縮小処理を実行する。歪曲収差補正処理において参照するメモリ領域を小さくすることで、画像処理に伴うメモリアクセス速度を向上させるためである。さらに、歪曲収差補正処理の前後の画像で同じ画素ピッチを想定して、歪曲収差補正処理を実行した画像をフィット表示部301に表示する。歪曲収差補正処理前後の画像のうち、大きいサイズの画像がちょうどフィット表示領域に収まるサイズとなるように画像データを縮小する。そして、この画像データを用いて歪曲収差補正処理を施すことで、補正処理の前後による画像サイズの変化を視覚的に提示することができる。
【0097】
図15は本実施形態におけるフィット表示部301に表示する画像に対する画像処理の流れを示すフローチャートである。基本的な処理は図4と類似しているが、デコード直後に画像の縮小率を求めて、縮小処理を実行する点が異なる。
【0098】
ステップS1501において、画像データをデコードし、デコード画像を取得する。
【0099】
ステップS1502において、歪曲収差補正の適用量を最大にした場合の有効領域を算出する。
【0100】
ステップS1503において、デコード画像の変倍率を求める。まず、デコード画像とステップS1502で得た画像サイズの幅および高さについて、大きい方の値を選択する。選択した値を基に生成される矩形に対してデコード画像が内接するように変倍率を求める。この変倍率でリサイズした画像データに対して歪曲収差補正処理を実行すると、歪曲収差補正の適用量を0からから最大値まで変化させた場合でも、フィット表示部301に画像を収めることができる。
【0101】
ステップS1504において、デコード画像をリサイズし、この画像データをキャッシュする。一般的にフィット表示部301に表示する画像は、フル解像度画像よりもサイズが小さいことが多いので、このような処理は高速化に非常に有効である。
【0102】
ステップS1505以降の処理は、第1の実施形態における図4のステップS402以降の処理とほぼ同じであるため、説明を省略する。
【0103】
ただし、ステップS1507にて実行する歪曲収差補正処理は第1実施形態と異なり、本実施形態では歪曲収差補正前と歪曲収差補正処理の後で画素ピッチを統一する。そのため、撮像素子上の像高に応じてミリ単位で表現された歪曲収差補正ルックアップテーブルを用いる。この画素ピッチの値は、ステップS1503で求めた変倍率に応じて変換することで、正しく歪曲収差補正の補正量を算出することができる。
【0104】
このように、歪曲収差処理補正前後の画像のうち、大きいサイズの画像とフィット表示領域の大きさの比較結果に応じて画像データの縮小処理を行うことで、メモリアクセス速度の向上と画像サイズの変化量の提示を可能にすることができる。
【0105】
次に、上述した各実施形態の機能を実現するためのプログラムについて説明する。
【0106】
上述した実施形態の機能を実現するように各種のデバイスを動作させ、その各種のデバイスと接続された装置あるいはシステム内のコンピュータに対して上述した実施形態の機能を実現させるソフトウェアのプログラムコード(プログラム)を供給する。
【0107】
そして、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に(ソフトウェア的に又はハードウェア的に)格納された画像処理プログラムにしたがって上に記載した各種のデバイスを動作させるようにしたものも、本発明の範疇に含まれる。
【0108】
また、この場合、上記のソフトウェアの画像処理プログラム自体が上述した実施形態の機能を実現することになる。
【0109】
また、その画像処理プログラム自体、及びその画像処理プログラムのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムを格納した記憶媒体も、本発明の範疇に含まれる。
【0110】
かかる画像処理プログラムを記憶する記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0111】
また、供給された画像処理プログラムをコンピュータが実行することにより、上述の実施形態の機能が実現されるだけではない。
【0112】
例えば、その画像処理プログラムがコンピュータにおいて稼動しているOS(オペレーティングシステム)あるいは他のアプリケーション等と協働して上述の実施形態の機能を実現させる場合にも、かかる画像処理プログラムは、本発明の範疇に含まれる。
【0113】
さらに、供給された画像処理プログラムは、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納される。
【0114】
そして、その画像処理プログラムの指示に基づいて機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合にも、かかる画像処理プログラムは本発明の範疇に含まれる。
【図面の簡単な説明】
【0115】
【図1】本発明の実施形態を実現する画像処理装置の概略を示した図である。
【図2】歪曲収差補正によって画像データが変形する様子を示した図である。
【図3】本発明の本実施形態における画像処理装置にて実行されるアプリケーションのGUIの概要を示す図である。
【図4】本発明の第1の実施形態におけるフィット表示部に表示する画像に対する画像処理の流れを示すフローチャートである。
【図5】本発明の第1の実施形態における歪曲収差補正処理を示すフローチャートである。
【図6】本発明の第1の実施形態における歪曲収差補正用のルックアップテーブルを補正関数として模式的に示した図である。
【図7】本発明の第1の実施形態における歪曲収差補正画素値算出処理を示すフローチャートである。
【図8】図7に示す歪曲収差補正画素値算出処理の内容の理解を容易にするためのイメージ図である。
【図9】拡大表示部に表示される歪曲収差補正後の画像に対応する歪曲収差補正前の画像の領域を説明するための図である。
【図10】本発明の第1の実施形態における拡大表示部に表示する画像に対する画像処理の流れを示すフローチャートである。
【図11】本発明の第1の実施形態におけるレンズ収差補正処理の対象となる領域の算出処理の流れを示すフローチャートである。
【図12】本発明の第2の実施形態における倍率色収差、歪曲収差に加え、メディアンフィルタを適用する場合の補正対象領域を説明するための図である。
【図13】本発明の第3の実施形態における有効領域の算出処理を示すフローチャートである。
【図14】本発明の第3の実施形態における補正対象領域と有効領域の関係を示すための図である。
【図15】本発明の第4の実施形態におけるフィット表示部に表示する画像に対する画像処理の流れを示すフローチャートである。
【符号の説明】
【0116】
101 CPU
102 一次記憶素子
103 二次記憶素子
104 入力デバイス
105 出力デバイス
106 読込デバイス
107 レンズ特性データ供給部
【特許請求の範囲】
【請求項1】
画像データに対して歪曲収差補正を施す画像処理方法において、
前記歪曲収差補正を施す領域として、画像データの一部の領域を指定する指定工程と、
指定された前記一部の領域に対して前記歪曲収差補正の逆変換となる処理を施すことで得られた座標を演算する演算工程と、
前記画像データのうち、前記演算工程において求められた座標を含む領域に対して、前記歪曲収差補正を施す補正工程とを有することを特徴とする画像処理方法。
【請求項2】
前記補正工程において、前記画像データのうち、前記演算工程において求められた座標を含む領域に対して、少なくとも倍率色収差補正および軸上色収差補正のいずれかを施すことを特徴とする請求項1に記載の画像処理方法。
【請求項3】
前記補正工程において、少なくとも前記倍率色収差補正および前記軸上色収差補正のいずれかを施してから、前記歪曲収差補正を施すことを特徴とする請求項2に記載の画像処理方法。
【請求項4】
前記補正工程において前記歪曲収差補正が施された領域の画像データを基に画像を表示する表示工程を有することを特徴とする請求項1乃至3のいずれかに記載の画像処理方法。
【請求項5】
前記画像データの全ての領域に対して歪曲収差補正を施す補正工程と、
前記画像データの全ての領域に対して前記歪曲収差補正が施された画像データを基に画像を表示する表示工程を有することを特徴とする請求項1乃至4のいずれかに記載の画像処理方法。
【請求項6】
前記演算工程において求められた座標を含む領域に対して前記歪曲収差補正を施された画像データに対しては、少なくとも倍率色収差補正および軸上色収差補正のいずれかが施されているが、前記全ての領域に対して歪曲補正が施された画像データに対しては、前記倍率色収差補正および前記軸上色収差補正のいずれも施されないことを特徴とする請求項5に記載の画像処理方法。
【請求項7】
前記画像データの一つの象限に対してのみ歪曲収差補正を施すことで、前記歪曲収差補正が施された画像データのうち、画像の表示に用いられる有効領域を算出する算出工程を有することを特徴とする請求項1乃至6のいずれかに記載の画像処理方法。
【請求項8】
画像データに対して歪曲収差補正を施す画像処理方法において、
前記歪曲収差補正を施す前後の画像データのサイズのうち、サイズの大きな画像データが表示領域に収まるための画像データの変倍率を算出する算出工程と、
前記算出工程にて得られた変倍率に応じて、前記画像データを拡大あるいは縮小処理する変倍工程と、
前記変倍工程にて拡大あるいは縮小処理された画像データに対して、前記歪曲収差補正を施す補正工程と、
前記歪曲収差補正を施された画像データを基に画像を前記表示領域に表示する表示工程とを有することを特徴とする画像処理方法。
【請求項9】
請求項1乃至8に記載の画像処理方法を画像処理装置に実行させることを特徴とするプログラム。
【請求項10】
請求項9に記載のプログラムを格納したことを特徴とする、コンピュータが読み取り可能な記憶媒体。
【請求項1】
画像データに対して歪曲収差補正を施す画像処理方法において、
前記歪曲収差補正を施す領域として、画像データの一部の領域を指定する指定工程と、
指定された前記一部の領域に対して前記歪曲収差補正の逆変換となる処理を施すことで得られた座標を演算する演算工程と、
前記画像データのうち、前記演算工程において求められた座標を含む領域に対して、前記歪曲収差補正を施す補正工程とを有することを特徴とする画像処理方法。
【請求項2】
前記補正工程において、前記画像データのうち、前記演算工程において求められた座標を含む領域に対して、少なくとも倍率色収差補正および軸上色収差補正のいずれかを施すことを特徴とする請求項1に記載の画像処理方法。
【請求項3】
前記補正工程において、少なくとも前記倍率色収差補正および前記軸上色収差補正のいずれかを施してから、前記歪曲収差補正を施すことを特徴とする請求項2に記載の画像処理方法。
【請求項4】
前記補正工程において前記歪曲収差補正が施された領域の画像データを基に画像を表示する表示工程を有することを特徴とする請求項1乃至3のいずれかに記載の画像処理方法。
【請求項5】
前記画像データの全ての領域に対して歪曲収差補正を施す補正工程と、
前記画像データの全ての領域に対して前記歪曲収差補正が施された画像データを基に画像を表示する表示工程を有することを特徴とする請求項1乃至4のいずれかに記載の画像処理方法。
【請求項6】
前記演算工程において求められた座標を含む領域に対して前記歪曲収差補正を施された画像データに対しては、少なくとも倍率色収差補正および軸上色収差補正のいずれかが施されているが、前記全ての領域に対して歪曲補正が施された画像データに対しては、前記倍率色収差補正および前記軸上色収差補正のいずれも施されないことを特徴とする請求項5に記載の画像処理方法。
【請求項7】
前記画像データの一つの象限に対してのみ歪曲収差補正を施すことで、前記歪曲収差補正が施された画像データのうち、画像の表示に用いられる有効領域を算出する算出工程を有することを特徴とする請求項1乃至6のいずれかに記載の画像処理方法。
【請求項8】
画像データに対して歪曲収差補正を施す画像処理方法において、
前記歪曲収差補正を施す前後の画像データのサイズのうち、サイズの大きな画像データが表示領域に収まるための画像データの変倍率を算出する算出工程と、
前記算出工程にて得られた変倍率に応じて、前記画像データを拡大あるいは縮小処理する変倍工程と、
前記変倍工程にて拡大あるいは縮小処理された画像データに対して、前記歪曲収差補正を施す補正工程と、
前記歪曲収差補正を施された画像データを基に画像を前記表示領域に表示する表示工程とを有することを特徴とする画像処理方法。
【請求項9】
請求項1乃至8に記載の画像処理方法を画像処理装置に実行させることを特徴とするプログラム。
【請求項10】
請求項9に記載のプログラムを格納したことを特徴とする、コンピュータが読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2009−43060(P2009−43060A)
【公開日】平成21年2月26日(2009.2.26)
【国際特許分類】
【出願番号】特願2007−207813(P2007−207813)
【出願日】平成19年8月9日(2007.8.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年2月26日(2009.2.26)
【国際特許分類】
【出願日】平成19年8月9日(2007.8.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]