JP2007158997A - 画像処理プログラム、およびカメラ - Google Patents
画像処理プログラム、およびカメラ Download PDFInfo
- Publication number
- JP2007158997A JP2007158997A JP2005354569A JP2005354569A JP2007158997A JP 2007158997 A JP2007158997 A JP 2007158997A JP 2005354569 A JP2005354569 A JP 2005354569A JP 2005354569 A JP2005354569 A JP 2005354569A JP 2007158997 A JP2007158997 A JP 2007158997A
- Authority
- JP
- Japan
- Prior art keywords
- image
- sky
- camera
- coefficient
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Exposure Control For Cameras (AREA)
- Color Television Image Signal Generators (AREA)
- Studio Devices (AREA)
Abstract
【課題】画像内の地平線または水平線を推定すること。
【解決手段】制御装置104は、水平方向に対する撮像光学系の光軸の傾きである第1の傾き情報と、光軸を中心とするカメラの回転方向の傾きである第2の傾き情報とを検出し、検出した第1の傾き、および第2の傾きに基づいて、カメラで撮像された画像内の地平線、または水平線を推定する。
【選択図】図1
【解決手段】制御装置104は、水平方向に対する撮像光学系の光軸の傾きである第1の傾き情報と、光軸を中心とするカメラの回転方向の傾きである第2の傾き情報とを検出し、検出した第1の傾き、および第2の傾きに基づいて、カメラで撮像された画像内の地平線、または水平線を推定する。
【選択図】図1
Description
本発明は、画像を処理して画像内における地平線または水平線を推定するための画像処理プログラム、および画像を撮像するためのカメラに関する。
次のような画像処理装置が特許文献1によって知られている。この画像処理装置は、実写画像を画像処理して画像の変化度合いが大きな領域を特定し、特定した領域に他の領域よりも重い重み付けを付与する。そして、画像データに基づいて抽出した画素の特徴量を、特定した領域に付与した重み付けを用いて再評価する。
一般的に、地平線や水平線より下の領域の画像は、地平線や水平線より上の空の領域色の影響を受けている場合が多い。そのため、撮影される画像中の地平線や水平線の位置を推定することができれば、地平線や水平線により分けられる領域の一方から情報を得ることにより、撮影された画像に好ましい処理をすることが可能となる。ところが、従来の画像処理装置では、画像中の地平線や水平線の位置に基づいた適切な処理ができないという問題があった。
本発明は、水平方向に対する撮像光学系の光軸の傾きである第1の傾き情報と、光軸を中心とするカメラの回転方向の傾きである第2の傾き情報とを検出し、検出した第1の傾き、および第2の傾きに基づいて、カメラで撮像された画像内の地平線または水平線を推定することを特徴とする。
そして、画像内おける重力の向きを判定し、重力の向きの判定結果と、地平線または水平線の推定結果とに基づいて画像内で空と推定される領域を空領域として抽出することが好ましい。
画像内の地平線または水平線を推定するに当たっては、撮像光学系の焦点距離情報、カメラの撮像素子の大きさ情報、および撮像光学系の収差情報のうち少なくとも一つの情報をさらに加味してもよい。
また、抽出された空領域のデータに基づいて、画像に対して実行する画像処理の第1の係数を決定してもよく、この第1の係数は、画像のホワイトバランスを調整するためのホワイトバランス係数としてもよい。
さらに、空領域の色温度を検出し、その検出結果に基づいて空領域として抽出した領域の画像が空の画像であるか否かを判定し、空領域の画像が空の画像であると判定された場合には、画像に対して第1の係数をホワイトバランス係数として設定し、空領域の画像が空の画像でないと判定された場合には、画像に対して第1の係数とは異なる第2の係数をホワイトバランス係数として設定することが好ましい。
そして、画像内おける重力の向きを判定し、重力の向きの判定結果と、地平線または水平線の推定結果とに基づいて画像内で空と推定される領域を空領域として抽出することが好ましい。
画像内の地平線または水平線を推定するに当たっては、撮像光学系の焦点距離情報、カメラの撮像素子の大きさ情報、および撮像光学系の収差情報のうち少なくとも一つの情報をさらに加味してもよい。
また、抽出された空領域のデータに基づいて、画像に対して実行する画像処理の第1の係数を決定してもよく、この第1の係数は、画像のホワイトバランスを調整するためのホワイトバランス係数としてもよい。
さらに、空領域の色温度を検出し、その検出結果に基づいて空領域として抽出した領域の画像が空の画像であるか否かを判定し、空領域の画像が空の画像であると判定された場合には、画像に対して第1の係数をホワイトバランス係数として設定し、空領域の画像が空の画像でないと判定された場合には、画像に対して第1の係数とは異なる第2の係数をホワイトバランス係数として設定することが好ましい。
本発明によれば、画像内の地平線または水平線を推定することができるため、地平線または水平線の位置に基づいた画像の処理が可能となる。
図1は、本実施の形態における画像処理装置の一実施の形態の構成を示すブロック図である。画像処理装置100は、例えばパーソナルコンピュータ(パソコン)であり、入力装置101と、外部インターフェース102と、HDD103と、制御装置104と、モニタ105と、プリンタ106とを備えている。
入力装置101は、キーボードやマウスなど、使用者によって操作される種々の入力部材を含んでいる。
外部インターフェース102は、例えばUSBインターフェースや無線LANモジュールなど、外部機器と有線通信、または無線通信を行うためのインターフェースである。本実施の形態におけるパソコンは、この外部インターフェース102を介して外部機器、例えばカメラ(デジタルカメラ)から画像ファイルを取り込む。または、外部インターフェース102として、メモリカードなどの記憶媒体を挿入するためのメモリカードスロットを設け、メモリカード経由で画像データを取り込むようにしてもよい。
なお、外部インターフェース102を介して取り込まれる画像ファイルは、画像データ部と付加情報部とを含み、画像データ部には、デジタルカメラで撮像された生データ、すなわちRAWデータが格納されている。このRAWデータは、例えば、画像データを構成する各々の画素にRGBのいずれか1つの色成分の色情報が存在するBayer画像であるものとする。なお、RGBの各色成分の色情報とは、例えば0〜255のレベルで表される各色の強度信号であり、RGBの各色の強度信号を基に各画素の輝度が決定される。
また、付加情報部には、デジタルカメラで画像が撮像された時点における(A)水平方向に対するレンズ(撮像光学系)の光軸の傾き情報、(B)レンズの光軸を中心とするデジタルカメラの回転方向の傾き情報、(C)レンズの焦点距離情報、(D)デジタルカメラに搭載された撮像素子、例えばCCDの大きさ情報、(E)レンズの収差情報、および(F)画像の撮像地点情報、例えば緯度経度情報を含んでいる。この他、画像撮像時の日時情報など、種々の画像に関する情報も付加情報部に含んでいる。
このため画像を撮像したデジタルカメラは、(A)および(B)の情報を取得するための重力センサ、および(F)の情報を取得するためのGPSセンサを備えている。また、(C)および(E)の各情報については、デジタルカメラにマウントされているレンズ固有の情報として、交換レンズ内にあらかじめ記憶されているものとし、(D)の情報は、デジタルカメラに搭載されている撮像素子情報として、デジタルカメラ内にあらかじめ記憶されているものとする。
なお、デジタルカメラが一般的なコンパクトデジカメのように、レンズを交換できない機種である場合には、(C)および(E)の各情報はデジタルカメラ内にあらかじめ記憶されている。また、デジタルカメラが単焦点のレンズを搭載している場合には、(C)の情報は固定値となる。
外部インターフェース102を介して取り込んだ画像ファイルは、HDD103に出力されて、所定のフォルダ内に記憶される。また、HDD103には画像ファイルに画像データ部として含まれるRAWデータを現像するためのRAW現像ソフトがインストールされている。すなわち、HDD103にはRAW現像ソフトを画像処理装置100上で実行するための画像処理プログラムが記憶されている。
制御装置104は、CPU、メモリ、およびその他周辺回路で構成され、HDD103に記憶された画像処理プログラムを実行することによって、RAW現像ソフトを起動する。すなわち、制御装置104は、HDD103から画像処理プログラムを読み込んで、制御装置104が有するメモリ空間上で実行することによって、画像処理装置100上でRAW現像ソフトを起動する。
このRAW現像ソフトは、図2により後述する処理を行って、処理対象のRAWデータが表す画像(RAW画像)内の地平線、または水平線を推定して、RAW画像内で空と推定される領域(空領域)を抽出する。そして、抽出した空領域のデータに基づいて、RAW画像のホワイトバランスを調整するためのホワイトバランス係数を設定して、RAW画像のホワイトバランスを調整する。
図2は、本実施の形態における画像処理プログラムによる処理を示すフローチャートである。この図2に示す処理は、使用者によって入力装置101が操作され、RAW現像ソフトの起動が指示されると、制御装置104によってHDD103から画像処理プログラムが読み込まれ、起動されることにより実行される。なお、ここでは画像処理プログラムによる処理の流れを中心に説明し、各ステップにおける処理の詳細な説明については、後述することとする。
ステップS10において、RAW現像ソフトの作業ウィンドウをモニタ105に表示する。この作業ウィンドウには、HDD103内に記憶された画像ファイルの一覧が表示されている。その後、ステップS20へ進み、使用者によって入力装置101が操作され、作業ウィンドウ内の画像ファイル一覧から処理対象とする画像が選択されたか否かを判断する。画像が選択されたと判断した場合には、ステップS30へ進む。
ステップS30では、使用者によって選択された画像ファイルをHDD103から制御装置104が有するメモリ上に読み込んで、ステップS40へ進む。ステップS40では、後述する地平線/水平線推定処理を行って、画像ファイルの画像データ部に含まれるRAW画像内の地平線または水平線を推定する。その後、ステップS50へ進み、後述する空領域抽出処理を行って、地平線/水平線推定処理で推定したRAW画像内の地平線または水平線に基づいて、RAW画像内の空が写っていると推定される領域を推定し、その領域を空領域として抽出する。その後、ステップS60へ進む。
ステップS60では、ステップS50で抽出した空領域に本当に空が写っているか否かを判断する。空領域に空が写っていると判断した場合にはステップS70へ進み、空領域のデータに基づいて、RAW画像に対して適用するホワイトバランス係数を設定する。これに対して、空領域に空が写っていないと判断した場合にはステップS80へ進み、画像全体のデータに基づいて、RAW画像に対して適用するホワイトバランス係数を設定する。その後、ステップS90へ進む。
ステップS90では、ステップS70またはステップS80で設定したホワイトバランス係数に基づき、RAW画像のホワイトバランス演算処理を行う。その後、ステップS100へ進み、公知の種々の画像処理や圧縮処理を行って、画像ファイルを所定の画像形式、例えばJpeg形式の画像ファイルに変換して、ステップS110へ進む。ステップS110では、変換後の画像データをモニタ105、またはプリンタ106へ出力する。このとき、モニタ105とプリンタ106のいずれに出力するかは、使用者によってあらかじめ設定されているものとする。その後、ステップS120へ進む。
ステップS120では、使用者によって入力装置101が操作され、RAW現像ソフトの終了が指示されたか否かを判断する。RAW現像ソフトの終了が指示されていないと判断した場合には、ステップS20へ戻って処理を繰り返す。これに対して、RAW現像ソフトの終了が指示されたと判断した場合には、処理を終了する。
次に、図2の各ステップにおける処理について説明する。なお、ステップS10〜ステップS30、およびステップS100〜ステップS120の処理については、それぞれ公知の処理であるため説明を省略し、ステップS40〜ステップS90の処理について詳細に説明する。
まず、ステップS40における地平線/水平線推定処理について説明する。この地平線/水平線推定処理では、制御装置104は、画像ファイルに含まれる付加情報部に記憶された(A)〜(E)の各情報に基づいて、画像データ部、すなわちRAW画像内の地平線または水平線を推定する。なお、以下の説明ではRAW画像内の地平線を推定する方法について説明するが、RAW画像内の水平線を推定する場合も同様である。
制御装置104は、まず、付加情報部に記憶されている上述した(A)の情報に基づいて、画像撮像時の水平方向に対するレンズの光軸の傾きを第1の傾き情報として検出する。また、(B)の情報に基づいて、レンズの光軸を中心とするデジタルカメラの回転方向の傾きを第2の傾き情報として検出する。
制御装置104は、まず、図3に示すように、第1の傾き情報、すなわち画像撮像時の水平方向に対するレンズの光軸の傾きに基づいて、RAW画像内の地平線が存在する位置を推定する。例えば、(A)の情報に基づいて検出される水平方向に対するレンズの光軸の傾きが0であれば、一般的に地平線は光軸上に存在することになる。そして、さらに(B)の情報に基づいて検出されるレンズの光軸を中心とするデジタルカメラの回転方向の傾き(第2の傾き情報)が0である場合を想定する。ここで、回転方向が0となるのは、撮影者が撮像素子の長辺方向と地平線とが平行となるようにカメラを構えた場合、すなわちカメラをいわゆる横位置に構えた場合である。
この想定において、撮像素子の撮像範囲が、撮像素子範囲3aである場合には、地平線は撮像素子範囲3aの短辺方向における中央を通り、かつ撮像素子範囲3aの長辺方向に延在する直線として撮像される。その結果、RAW画像内における地平線は、撮像範囲3bの短辺方向における中央に相当する部分を通り、かつ撮像範囲3bの長辺方向に相当する方向に延在している。なお、撮像素子の撮像範囲は、図4に示すように、(D)の情報に基づいて検出される撮像素子の大きさに基づいて決定される。
これに対して、レンズの光軸を中心とするデジタルカメラの回転方向の傾きが0度である場合に、水平方向に対するレンズの光軸の傾きがαであれば、撮像素子範囲3aは、図3(b)に示すように、図3(a)に示した場合と比較してその傾きαに応じたずれ量dだけ垂直方向にずれる。これによって、撮像素子範囲3a内における地平線は、撮像素子範囲3aの短辺方向の中央からずれ量dだけずれて撮像素子範囲3aの長辺方向に延在することになる。その結果、RAW画像内における地平線も、撮像範囲3bの短辺方向の中央からずれ量dに相当するずれ量だけずれて撮像範囲3bの長辺方向に相当する方向に延在する。
このときの撮像範囲3b上における短辺方向の中央からの地平線のずれ量dは、(C)の情報に基づいて検出されるレンズの焦点距離fと、(A)の情報に基づいて検出される画像撮像時の水平方向に対するレンズの光軸の傾きαとに基づいて算出される。すなわち、レンズの焦点距離fが長い場合には、図5に示す画角5aのように、撮像画像内に写りこむ画角が狭くなることから、画像撮像時の水平方向に対するレンズの光軸の傾きの変化量に対するずれ量dは大きくなる。これに対して、レンズの焦点距離fが短い場合には、図5に示す画角5bのように、撮像画像内に写りこむ画角が広くなることから、画像撮像時の水平方向に対するレンズの光軸の傾きの変化量に対するずれ量dは小さくなる。
このことを加味して、ずれ量dは、レンズの焦点距離fと、画像撮像時の水平方向に対するレンズの光軸の傾きαとに基づいて、次式(1)により算出される。
d=f・tanα ・・・(1)
d=f・tanα ・・・(1)
図3で上述した例では、(B)の情報に基づいて検出されるレンズの光軸を中心とするデジタルカメラの回転方向の傾きが0度である場合について説明したため、RAW画像内で地平線は撮像範囲3bの長辺方向に相当する方向に延在していた。しかし、レンズの光軸を中心としたデジタルカメラの回転方向の傾きが0でない場合には、その傾きに応じてRAW画像内での地平線の延在方向も傾くことになる。すなわち使用者がデジタルカメラを左右のいずれかに所定角度傾けて撮像した場合には、その角度分だけRAW画像内の地平線も傾く。
具体的には、使用者がデジタルカメラを左方向に回転させて画像を撮像した場合には、図6(a)に示すように、RAW画像内の地平線は、RAW画像内でカメラの回転方向とは逆方向に回転角度分傾き、RAW画像の右下から左上に向かう方向に延在することになる。換言すれば、(B)の情報に基づいてレンズの光軸を中心とするデジタルカメラの左回転方向の傾きがβであると検出された場合には、RAW画像内における地平線は、撮像範囲3bの長辺方向に相当する方向から右回りにβだけ傾いて延在する。
これに対して、使用者がデジタルカメラを右方向に回転させて画像を撮像した場合には、図6(b)に示すように、RAW画像内の地平線は、RAW画像内でカメラの回転方向とは逆方向に回転角度分傾き、RAW画像の左下から右上に向かう方向に延在することになる。換言すれば、(B)の情報に基づいてレンズの光軸を中心とするデジタルカメラの右回転方向の傾きがβであると検出された場合には、RAW画像内における地平線は、撮像範囲3bの長辺方向に相当する方向から左周りにβだけ傾いて延在する。
また、制御装置104は、(E)の情報に基づいて検出されるレンズの収差情報に基づいて、例えば図7に示すように画像に歪みが生じていると判定した場合には、その歪みの量を算出して、RAW画像内における地平線も算出した歪み量だけ歪んでいると判断する。そして、この地平線の歪みを加味して、RAW画像内における地平線を推定する。
次に、ステップS50における空領域抽出処理について説明する。この空領域抽出処理では、制御装置104は、RAW画像内から上述した処理によって推定した地平線より上の領域に含まれる空が写っていると思われる領域を空領域候補として抽出する。このために、まず、(A)の情報、または(B)の情報に基づいてRAW画像内の重力方向を検出し、RAW画像から推定した地平線を境界とし、検出した重力方向とは逆方向側の領域を抽出する。これによって、RAW画像内における地平線より上の領域を空領域候補として抽出することができる。
ステップS60における処理では、制御装置104は、ステップS50で抽出した空領域候補の色温度を算出し、算出した色温度が一般的な空が写っている画像の色温度の範囲に含まれるか否かを判定することによって、空領域候補に本当に空が写っているか否かを判断する。具体的には以下のように処理する。
制御装置104は、画像ファイルに含まれる付加情報部から上述した(F)の情報を取得し、この(F)の情報に基づいて画像が撮像された地点を特定する。また、付加情報部から画像の撮像日時を取得する。さらに使用者に対して、その画像が撮像された地点の画像撮像時の天気の入力を促し、入力装置101を介して天気情報の入力を受け付ける。
制御装置104は、このように画像撮像地点、画像撮像日時、および画像撮像時の天気が特定されることにより一意に決められる色温度と、RAW画像内の空領域候補の画像から得られる色温度とを比較する。具体的には、地点、または地域ごとに、時間・天候別の色温度と空の色をデータベース化してHDD103に記憶しておき、特定した画像撮像地点、画像撮像日時、および画像撮像時の天気を検索キーとしてデータベースを検索することによって、一意に決められる色温度を選択する。
制御装置104は、次に、空領域候補内の画素におけるRデータ、Bデータのそれぞれの平均値(Rデータの空領域平均値、およびBデータの空領域平均値)を算出する。なお、画像内における特定範囲内のRデータおよびBデータの平均値を算出する処理は公知の手法のため説明を省略する。
そして、制御装置104は、算出したRデータの空領域平均値、およびBデータの空領域平均値に基づいて、例えば図8に示すようなRデータの空領域平均値およびBデータの空領域平均値と、色温度との関係をデータ化した色温度テーブルを参照して、空領域候補内の色温度を算出する。色温度テーブルは、あらかじめ作成されてHDD103に記憶されているものとする。
制御装置104は、このようにして算出した空領域候補の色温度とデータベースによって得られた色温度との差が所定値以内であれば、空領域候補に本当に空が写っていると判定する。これに対して、算出した空領域候補の色温度とデータベースによって得られた色温度との差が所定値を超える場合には、空領域候補には空は写っていないものと判定する。例えば、建物の壁が空を完全に遮っている画像は、この処理により空が写っていないと判定される。
ステップS70、およびステップS80では、上述したステップS60での判定結果に基づいて、RAW画像のホワイトバランスを調整するためのホワイトバランス係数を設定する。空領域候補に空が写っていると判定された場合には、ステップS70で空領域候補内に含まれる空が写っている画素のデータに基づいてRAW画像に対して適用するホワイトバランス係数を設定する。これによって、ホワイトバランスを調整するための光源として適している空が写っている画素のデータに基づいてホワイトバランス係数を設定することができ、ホワイトバランスの性能を上げることができる。
具体的には、制御装置104は、空領域候補に含まれる各画素の色温度を算出し、算出した各画素の色温度とデータベースによって得られた色温度とを比較する。そして、データベースによって得られた色温度との差が所定値以内となる色温度が算出されている画素のみを抽出して、空領域候補の中から空が写っている画素のみを抽出する。例えば、空領域候補内に空と雲や飛行機などの空以外の物体が含まれている場合には、空以外の物体が写っている画素を排除して、空が写っている画素のみを抽出する。
制御装置104は、抽出した空が写っている画素全体におけるRデータ、Gデータ、およびBデータのそれぞれの平均値としてRavg,Gavg、Bavgを算出する。そして、次式(2)および(3)により、RAW画像全体のRデータに対して適用するホワイトバランス係数Rwb、およびBデータに対して適用するホワイトバランス係数Bwbを設定する。
Rwb=Ravg/Gavg ・・・(2)
Bwb=Bavg/Gavg ・・・(3)
Rwb=Ravg/Gavg ・・・(2)
Bwb=Bavg/Gavg ・・・(3)
また、空領域候補に空が写っていないと判定された場合には、ステップS80で画像全体のデータに基づいてRAW画像に対して適用するホワイトバランス係数を設定する。これによって、ホワイトバランスを調整するための光源とすべき空が写っている画素のデータを取得できない場合でも、画像全体の状態に応じたホワイトバランス係数を設定して、ホワイトバランスを調整することができる。
具体的には、制御装置104は、RAW画像に含まれる全画素におけるRデータ、Gデータ、およびBデータのそれぞれの平均値としてRavg´,Gavg´、Bavg´を算出する。そして、次式(4)および(5)により、RAW画像全体のRデータに対して適用するホワイトバランス係数Rwb´、およびBデータに対して適用するホワイトバランス係数Bwb´を設定する。
Rwb´=Ravg´/Gavg´ ・・・(4)
Bwb´=Bavg´/Gavg´ ・・・(5)
Rwb´=Ravg´/Gavg´ ・・・(4)
Bwb´=Bavg´/Gavg´ ・・・(5)
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
(1)制御装置104は、付加情報部に記憶されている(A)の情報、すなわち画像撮像時の水平方向に対するレンズの光軸の傾きに基づいて、画像内における垂直方向中央からの地平線のずれ量を算出した。また、(B)の情報、すなわちレンズの光軸を中心とするデジタルカメラの回転方向の傾きに基づいて、画像内における地平線の傾きを算出した。そしてこれらの算出結果に基づいてRAW画像内の地平線を推定するようにした。これによって、RAW画像内に存在する地平線を簡易な処理により、精度高く推定することができる。
(1)制御装置104は、付加情報部に記憶されている(A)の情報、すなわち画像撮像時の水平方向に対するレンズの光軸の傾きに基づいて、画像内における垂直方向中央からの地平線のずれ量を算出した。また、(B)の情報、すなわちレンズの光軸を中心とするデジタルカメラの回転方向の傾きに基づいて、画像内における地平線の傾きを算出した。そしてこれらの算出結果に基づいてRAW画像内の地平線を推定するようにした。これによって、RAW画像内に存在する地平線を簡易な処理により、精度高く推定することができる。
(2)制御装置104は、推定した地平線と重力方向とを加味して、RAW画像内から空領域を抽出するようにした。これによって、一般的に、地平線より上の領域には空が写っている可能性が高いことを考慮して、RAW画像内から空が写っていると思われる領域を精度高く抽出することができる。
(3)制御装置104は、空領域を抽出するに当たっては、付加情報部に記憶されている(C)〜(E)の情報、すなわち、レンズの焦点距離情報、デジタルカメラに搭載された撮像素子の大きさ情報、レンズの収差情報を加味するようにした。これによって、デジタルカメラのレンズや撮像素子の特徴も加味して、正確に地平線を推定することができる。
(4)制御装置104は、空領域内に空があると判断した場合には、空領域のデータに基づいてRAW画像に対して適用するホワイトバランス係数を設定し、設定したホワイトバランス係数を用いてRAW画像全体のホワイトバランスを調整するようにした。これによって、ホワイトバランスを調整するための光源として適している空が写っている領域のデータに基づいてホワイトバランス係数を設定することができ、画像全体を最適なホワイトバランスに調整することができる。
(5)制御装置104は、空領域内に空がないと判断した場合には、画像全体のデータに基づいてRAW画像に対して適用するホワイトバランス係数を設定し、設定したホワイトバランス係数を用いてRAW画像全体のホワイトバランスを調整するようにした。これによって、ホワイトバランスを調整するための光源とすべき空が写っている領域のデータを取得できない場合でも、画像全体の状態に応じたホワイトバランス係数を設定して、ホワイトバランスを調整することができる。
―変形例―
なお、上述した実施の形態の画像処理装置は、以下のように変形することもできる。
なお、上述した実施の形態の画像処理装置は、以下のように変形することもできる。
(1)上述した実施の形態では、画像処理プログラムによる処理の対象となる画像ファイルは、RAWデータに付加情報部を付加したもの、すなわちRAWファイルである場合について説明した。しかしこれに限定されず、その他の画像形式、例えばRAWデータをJEPG形式に圧縮して、公知のExif情報を付加したExif形式の画像ファイルを処理の対象としてもよい。
なお、Exif形式の画像ファイルを処理対象とする場合には、RawデータからJpegデータに変換する過程ですでにホワイトバランスの調整がなされていることが多い。したがって、画像変換過程でホワイトバランス調整を行なった際のホワイトバランス係数と、上述した(A)〜(F)の情報とをExifデータ内に記憶しておくようにする。そして、ホワイトバランス調整済みのJpegデータを、Exifデータ内に記憶されているホワイトバランス係数に基づいて、ホワイトバランス調整が行なわれていない状態に戻す。
その後、上述したように(A)〜(F)の情報を使用して地平線または水平線を推定して空領域を抽出し、抽出した空領域に基づいて設定したホワイトバランス係数をかけて、ホワイトバランスを調整し直すようにしてもよい。これによって、RawデータからJpegデータに変換する過程で行なわれたホワイトバランス調整が本実施の形態で上述した方法とは異なる方法で行なわれていた場合であっても、Jpegデータのホワイトバランス調整を本実施の形態で上述した方法で行なうことができ、ホワイトバランス性能を向上することができる。
(2)上述した実施の形態では、画像処理装置100としてパソコンを使用する例について説明し、画像処理プログラムを制御装置104により実行することによってRAW現像ソフトを起動する例について説明した。しかしこれに限定されず、画像処理装置100をカメラ(デジタルカメラ)に適用し、カメラで画像処理プログラムを実行してもよい。これによって、カメラで撮像した画像のホワイトバランスを調整することができるようになる。この場合、上述した(A)〜(F)の各情報については、上述した実施の形態と同様に画像ファイルの付加情報部に記憶しておいてもよく、あるいはカメラが有するメモリ内に記憶するようにしてもよい。
画像処理装置100として一眼レフのカメラシステムを使用した場合のブロック図を図9に示す。カメラシステムは、カメラボディ200と、交換レンズ300とから構成されている。交換レンズ300は、カメラボディ200に対して着脱可能である。交換レンズ300は、レンズ301と、レンズ情報記憶メモリ302と、レンズ部CPU303と、レンズ部インターフェース304とを備えている。
レンズ301は、被写体像を撮像素子202に結像するための光学系である。レンズ301は焦点距離が可変のズームレンズである。レンズ情報記憶メモリ302は、(C)レンズの焦点距離と、(E)レンズの収差情報とを記憶しているメモリである。レンズ情報記憶メモリ302は、各焦点距離とそれに対応する収差情報とを関連付けて記憶している。レンズ部CPU303は、交換レンズ300の各部を制御する演算処理回路である。レンズ部インターフェース304は、後述するカメラ部インターフェース213と電気的に接続され、カメラボディ200のカメラ部CPU208と通信を行うための回路である。
カメラボディ200は、撮像素子202と、アナログ処理回路203と、A/D変換部204と、デジタル処理回路205と、圧縮回路206と、メモリカードインターフェース207と、カメラ部CPU208と、重力センサ209と、LCD駆動回路210と、LCD211と、カメラ情報記憶メモリ212と、カメラ部インターフェース213と、GPSセンサ214と、操作部215とを備えている。操作部215には、レリーズボタンやカメラシステムの各種設定を行うためのスイッチが含まれる。
撮像素子202は、レンズ301によって結像された被写体像の光を光電変換することにより撮像して、撮像した画像データをアナログ処理回路203へ出力する。アナログ処理回路203では、画像データに対してAGC(オートゲインコントロール)、およびCDS(相関二重サンプリング)の各処理を実行して、A/D変換部204へ出力する。ここで画像データはデジタルデータに変換され、デジタル処理回路205へ出力される。
デジタル処理回路205では、画像データに対して、ホワイトバランス処理、γ処理、色補間処理などの種々の画像処理を施して、圧縮回路206へ出力する。圧縮回路206では、所定の画像形式、例えばJPEG形式に画像データを圧縮して画像ファイルを生成する。そして、生成した画像ファイルをメモリカードインターフェース207へ出力し、メモリカードインターフェース207を介してメモリカード207aなどの記憶媒体に画像データを記憶する。また、LCD駆動回路210を介してLCD211へ画像を出力する。
カメラ部CPU208は、以下に説明する手順で、上述した(A)〜(F)の各情報を取得する。(A)水平方向に対するレンズの光軸の傾き情報と、(B)レンズの光軸を中心とするデジタルカメラの回転方向の傾き情報については、カメラ部CPU208は、レリーズボタンからのレリーズ信号を受信した時点の重力センサ209の出力値を読み込む。そして、カメラ部CPU208は、重力センサ209の出力値の示す重力の方向を(A)水平方向に対するレンズの光軸の傾きの成分と、(B)レンズの光軸を中心とするデジタルカメラの回転方向の傾きの成分に分解して、それぞれを認識する。
次に(C)レンズの焦点距離情報と(E)レンズの収差情報の取得手順について説明する。カメラ部CPU208は、レリーズボタンよりレリーズ信号を受信すると、カメラ部インターフェース213を介して交換レンズ300側(レンズ部CPU303)に情報要求信号を出力する。レンズ部CPU303は、カメラ部CPU208からの情報要求信号に応答して、情報要求信号を受信した時点の焦点距離情報とレンズ収差情報とをレンズ情報記憶メモリ302から読み取る。そして、レンズ部CPU303は、レンズ部インターフェース304を介して、焦点距離情報とレンズ収差情報とをカメラボディ200側(カメラ部インターフェース213)へ出力する。カメラ部CPU208は、カメラ部インターフェース213を介して焦点距離情報とレンズ収差情報とを受信する。
(D)撮像素子の大きさ情報については、カメラ部CPU208は、カメラ情報記憶メモリ212に記憶されているパラメータを読み出すことにより、撮像素子202の大きさを認識する。(F)画像の撮像地点情報については、カメラ部CPU208は、レリーズ信号を受信すると、GPSセンサ214から緯度経度情報を取得する。カメラ部CPU208は、GPSセンサ214から得られた緯度経度情報により、撮像地点を認識する。
圧縮回路206は、カメラ部CPU208の命令に基づいて、画像データに上述した実施の形態における(A)〜(F)の情報を含んだ付加情報部を付加した画像ファイルを生成する。
カメラ部CPU208は、上述した画像処理プログラムを実行して、メモリカード207aに記憶されている画像ファイルに対して画像処理を施し、画像ファイルに含まれる画像データのホワイトバランスを調整する。なお、この変形例では、すでにデジタル処理回路205によってホワイトバランス処理が実行されていることから、カメラ部CPU208は、画像データに対して変形例(1)で上述した処理を実行する。
また、(A)〜(F)の情報を含んだ付加情報部を付加したJpeg形式またはRAW画像形式の画像ファイルを生成し、カメラ内では変形例(1)の処理を実行しなくてもよい。この場合は、前述した画像処理装置100に変形例(1)の処理を実行させればよい。また、カメラ部CPU208が、A/D変換部204の出力するRAW画像と、(A)〜(F)の情報とに基づいて、図2のステップS40〜ステップS90の処理を実行する構成にしてもよい。
(3)上述した実施の形態では、使用者によって入力装置103が操作され、作業ウィンドウ内の画像ファイル一覧から選択された画像を処理対象として、各画像ごとに上述した処理を実行する例について説明した。しかしこれに限定されず、HDD103に記憶されている複数の画像を処理対象として、複数の画像に対して一括して処理を実行するようにしてもよい。
(4)上述した実施の形態では、制御装置104は、空領域候補に空が写っていると判定された場合には、ステップS70で空領域候補内に含まれる空が写っている画素のデータに基づいてRAW画像に対して適用するホワイトバランス係数を設定する例について説明した。しかしこれに限定されず、空領域候補に空が写っていると判定された場合には、空領域候補内の全画素のデータに基づいてRAW画像に対して適用するホワイトバランス係数を設定するようにしてもよい。すなわち、空領域候補内に飛行機や雲などが映っていたとしても、これらが空領域候補内で占める割合は少ないことが一般的であることから、これらは誤差として処理可能であるため、ホワイトバランス係数設定時に空領域候補から除外しないようにする。これによって、空領域候補から空が写っている画素のみを抽出処理を省くことができるため、処理負荷を低減し、処理速度を向上することができる。
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。
100 画像処理装置、101 入力装置、102 外部インターフェース、103 HDD、104 制御装置、105 モニタ、106 プリンタ
Claims (12)
- コンピュータに、
水平方向に対する撮像光学系の光軸の傾きである第1の傾き情報と、前記光軸を中心とするカメラの回転方向の傾きである第2の傾き情報とを検出する傾き情報検出手順と、
前記傾き情報検出手順によって検出した前記第1の傾き情報、および前記第2の傾き情報に基づいて、前記撮像光学系を通して前記カメラにより撮像された画像内の地平線または水平線を推定する推定手順とを実行させるための画像処理プログラム。 - 請求項1に記載の画像処理プログラムにおいて、
コンピュータに、
前記画像内おける重力の向きを判定する重力方向判定手順と、
前記重力方向判定手順による判定結果、および前記推定手順による推定結果に基づいて、前記画像内で空と推定される領域を空領域として抽出する空領域抽出手順とをさらに実行させるための画像処理プログラム。 - 請求項1に記載の画像処理プログラムにおいて、
前記推定手順は、前記撮像光学系の焦点距離情報、前記カメラの撮像素子の大きさ情報、および前記撮像光学系の収差情報のうち少なくとも一つの情報をさらに加味して、前記画像内の地平線または水平線を推定することを特徴とする画像処理プログラム。 - 請求項2に記載の画像処理プログラムにおいて、
コンピュータに、
前記空領域抽出手順によって抽出された前記空領域のデータに基づいて、前記画像に対して実行する画像処理の第1の係数を決定する係数決定手順をさらに実行させるための画像処理プログラム。 - 請求項4に記載の画像処理プログラムにおいて、
前記画像処理の第1の係数は、前記画像のホワイトバランスを調整するためのホワイトバランス係数であることを特徴とする画像処理プログラム。 - 請求項5に記載の画像処理プログラムにおいて、
コンピュータに、
前記空領域の色温度を検出する色温度検出手順と、
前記色温度検出手順による検出結果に基づいて、前記空領域として抽出した領域の画像が空の画像であるか否かを判定する空領域判定手順と、
前記空領域判定手順によって前記空領域の画像が空の画像であると判定された場合には、前記画像に対して前記第1の係数をホワイトバランス係数として設定し、前記空領域判定手順によって前記空領域の画像が空の画像でないと判定された場合には、前記画像に対して前記第1の係数とは異なる第2の係数をホワイトバランス係数として設定するホワイトバランス係数設定手順とをさらに実行させるための画像処理プログラム。 - 水平方向に対する撮像光学系の光軸の傾きである第1の傾き情報と、前記光軸を中心とするカメラの回転方向の傾きである第2の傾き情報とを検出する傾き情報検出手段と、
前記傾き情報検出手段によって検出した前記第1の傾き情報、および前記第2の傾き情報に基づいて、前記撮像光学系を通して撮像した画像内の地平線または水平線を推定する推定手段とを備えることを特徴とするカメラ。 - 請求項7に記載のカメラにおいて、
前記画像内おける重力の向きを判定する重力方向判定手段と、
前記重力方向判定手段による判定結果、および前記推定手段による推定結果とに基づいて、前記画像内で空と推定される領域を空領域として抽出する空領域抽出手段とをさらに備えることを特徴とするカメラ。 - 請求項7に記載のカメラにおいて、
前記推定手段は、前記撮像光学系の焦点距離情報、撮像素子の大きさ情報、および前記撮像光学系の収差情報のうち少なくとも一つの情報をさらに加味して、前記画像内の地平線または水平線を推定することを特徴とするカメラ。 - 請求項7に記載のカメラにおいて、
前記空領域抽出手段によって抽出された前記空領域のデータに基づいて、前記画像に対して実行する画像処理の第1の係数を決定する係数決定手段をさらに備えることを特徴とするカメラ。 - 請求項7に記載のカメラにおいて、
前記画像処理の第1の係数は、前記画像のホワイトバランスを調整するためのホワイトバランス係数であることを特徴とするカメラ。 - 請求項11に記載のカメラにおいて、
前記空領域の色温度を検出する色温度検出手段と、
前記色温度検出手段による検出結果に基づいて、前記空領域として抽出した領域の画像が空の画像であるか否かを判定する空領域判定手段と、
前記空領域判定手段によって前記空領域の画像が空の画像であると判定された場合には、前記画像に対して前記第1の係数をホワイトバランス係数として設定し、前記空領域判定手段によって前記空領域の画像が空の画像でないと判定された場合には、前記画像に対して前記第1の係数とは異なる第2の係数をホワイトバランス係数として設定するホワイトバランス係数設定手段とをさらに備えることを特徴とするカメラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005354569A JP2007158997A (ja) | 2005-12-08 | 2005-12-08 | 画像処理プログラム、およびカメラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005354569A JP2007158997A (ja) | 2005-12-08 | 2005-12-08 | 画像処理プログラム、およびカメラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007158997A true JP2007158997A (ja) | 2007-06-21 |
Family
ID=38242734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005354569A Pending JP2007158997A (ja) | 2005-12-08 | 2005-12-08 | 画像処理プログラム、およびカメラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007158997A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012049709A (ja) * | 2010-08-25 | 2012-03-08 | Ricoh Co Ltd | 撮像装置、空領域判定方法、プログラム |
JP2016151955A (ja) * | 2015-02-18 | 2016-08-22 | キヤノン株式会社 | 画像処理装置、撮像装置、距離計測装置、および画像処理方法 |
JP2016200701A (ja) * | 2015-04-09 | 2016-12-01 | キヤノン株式会社 | 撮像装置及びその制御方法、プログラム並びに記憶媒体 |
-
2005
- 2005-12-08 JP JP2005354569A patent/JP2007158997A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012049709A (ja) * | 2010-08-25 | 2012-03-08 | Ricoh Co Ltd | 撮像装置、空領域判定方法、プログラム |
JP2016151955A (ja) * | 2015-02-18 | 2016-08-22 | キヤノン株式会社 | 画像処理装置、撮像装置、距離計測装置、および画像処理方法 |
JP2016200701A (ja) * | 2015-04-09 | 2016-12-01 | キヤノン株式会社 | 撮像装置及びその制御方法、プログラム並びに記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9225855B2 (en) | Imaging apparatus, imaging system, and control method for increasing accuracy when determining an imaging scene based on input image data and information stored in an external information processing apparatus | |
US7791668B2 (en) | Digital camera | |
JP5395678B2 (ja) | 距離マップ生成型マルチレンズカメラ | |
US9489747B2 (en) | Image processing apparatus for performing object recognition focusing on object motion, and image processing method therefor | |
JP5643563B2 (ja) | 画像処理装置及びその制御方法 | |
US8441554B2 (en) | Image capturing apparatus capable of extracting subject region from captured image | |
JP2007306416A (ja) | 顔検出枠の表示方法、文字情報の表示方法及び撮像装置 | |
JP2008092515A (ja) | 電子カメラ、画像処理装置およびプログラム | |
JP2003307669A (ja) | カメラ | |
JP4349380B2 (ja) | 撮像装置、画像を取得する方法 | |
JP2007133301A (ja) | オートフォーカスカメラ | |
JP4807582B2 (ja) | 画像処理装置、撮像装置及びそのプログラム | |
JP2000155257A (ja) | 自動焦点調節装置および方法 | |
JP2007158997A (ja) | 画像処理プログラム、およびカメラ | |
JP5067047B2 (ja) | 撮像装置 | |
JP2005283776A (ja) | カメラの自動焦点調節方法及び装置 | |
JP5638993B2 (ja) | 画像表示装置及び画像表示方法 | |
JP5045538B2 (ja) | 撮像装置、及び、プログラム | |
JP5532621B2 (ja) | 電子カメラ及び画像処理プログラム | |
US11727716B2 (en) | Information processing apparatus, imaging apparatus, which determines exposure amount with respect to face detection and human body detection | |
JP5564961B2 (ja) | 撮像装置 | |
JP4888829B2 (ja) | 動画処理装置、動画撮影装置および動画撮影プログラム | |
JP6886038B2 (ja) | 情報処理装置、撮影装置、撮影システム、情報処理方法、撮影方法、情報処理プログラム、及び撮影プログラム | |
EP2091233A2 (en) | Imaging apparatus | |
JP5415230B2 (ja) | 撮像装置及び撮像制御方法 |