説明

デジタルカメラ、画像処理装置および画像処理プログラム

【課題】撮影画面内の任意の直線を容易に水平/垂直にすることが可能なデジタルカメラを提供する。
【解決手段】スルー画表示中に、スルー画内の直線部分を抽出し、その直線部分に重ねて所定色の直線を表示する(直線表示)。直線表示の対象直線は、全ての直線でもよいし、撮影者またはカメラが選択してもよい。撮影者が光軸回りにカメラを傾け、水平/垂直でなかった直線が水平/垂直になると、直線の色を変えて報知する。これに応じて撮影者が撮影操作を行うことで、任意の直線が水平/垂直に維持された画像を得ることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、水平/垂直をガイドするデジタルカメラ、画像処理装置および画像処理プログラムに関する。
【背景技術】
【0002】
カメラの光軸回りの傾き状況を液晶モニタ上に2本の線によって明示し、2本の線が重なるようにカメラの姿勢を変更することで、水平を出せるようにしたカメラが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−271654号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1のカメラは単なる水平出しを行うもので、撮影画面内の任意の直線を水平または垂直にすることをガイドするものではない。
【課題を解決するための手段】
【0005】
本発明に係るデジタルカメラは、被写体を撮像して画像データを生成する撮像手段と、生成された画像データに基づく画像を表示する表示手段とを有し、撮影指示の待機中に撮像手段および表示手段を繰り返し作動せしめるものであって、画像データ中の直線部分を抽出する抽出手段と、抽出された直線部分のそれぞれに対し、その直線部分が撮影画面に対して水平または垂直になっているか否かを判定する判定手段と、判定手段の判定に基づき、それぞれの直線部分が水平または垂直になっているか否かを報知する報知手段とを具備することを特徴とする。
本発明に係る画像処理装置は、画像データ中の直線部分を抽出する抽出手段と、抽出された直線部分が画像に対して水平または垂直になっているか否かを判定する判定手段と、画像データ中の直線部分が水平または垂直になっていないと判定された場合に、その直線部分が水平または垂直になるように画像データに回転処理を施す処理手段とを具備することを特徴とする。
本発明に係る画像処理プログラムは、上記抽出手段、判定手段および処理手段の各処理をコンピュータに実行させるためのものである。
【発明の効果】
【0006】
本発明によれば、画像中の任意の直線を容易に水平/垂直にすることができる。
【図面の簡単な説明】
【0007】
【図1】本発明の一実施形態に係るカメラのブロック図。
【図2】一実施形態における水平/垂直ガイド機能の制御内容を説明するフローチャート。
【図3】スルー画表示の一例を示す図。
【図4】直線表示および任意の直線を垂直にする場合の動作を説明する図。
【図5】直線表示および任意の直線を水平にする場合の動作を説明する図。
【図6】他の実施形態における水平/垂直ガイド機能の制御内容を説明するフローチャート。
【図7】カメラの傾き調整方向をガイドする例を示す図。
【図8】画像データに対して水平/垂直処理を施す場合の制御内容を説明するフローチャート。
【発明を実施するための形態】
【0008】
図1〜図5により本発明の一実施形態を説明する。
図1はデジタルカメラの制御ブロック図である。撮影レンズ(ズームレンズ)1を透過した被写体光束は、撮像素子2で撮像され、その撮像信号は画像処理部3に入力される。画像処理部3を構成する画像処理回路3aは、入力された撮像信号に種々の処理を施して画像データを生成する。画像データは、表示回路3bによる処理を経て、カメラ背面などに設けられた液晶モニタ4に表示される。撮影モード設定時には、上記撮像および画像表示が繰り返され、いわゆるライブビュー表示(スルー画表示)が行われる。撮影指示がなされると改めて撮像が行われ、生成された画像データは、コンピュータで扱うことが可能な画像ファイルとして、記録/再生回路3cによりメモリカード等の記録媒体5に記録される。
【0009】
再生モードでは、記録媒体5に記録された画像データを記録/再生回路3cにて読み出し、画像処理回路3aおよび表示回路3bによる処理を経て液晶モニタ4に表示することができる。
【0010】
CPU6は、操作部7からの入力に応答して画像処理部3や不図示の回路を制御する。操作部7は、電源ボタンやレリーズボタン、再生操作や情報入力等で用いる各種操作部材等を含む。
【0011】
次に、本カメラの特徴である水平/垂直ガイド機能について説明する。
図2は撮影モード時のカメラ動作を示すフローチャートであり、例えばカメラの電源オン、あるいは撮影モードの設定に伴ってCPU6がこのプログラムを起動する。なお、本発明と無関係な処理(例えば、AF処理やAE処理等)は図示を省略してある。
【0012】
まずステップS1で撮像を行い、画像データを得る。ステップS2では、得られた画像データをスルー画として液晶モニタ4に表示する。ステップS3では、水平/垂直ガイド機能が設定されているか否かを判定する。この機能の設定/非設定は、所定のスイッチ操作あるいはメニュー画面にて切換えることができる。ステップS3が否定されると、通常の撮影を行うべくステップS10に進み、肯定されるとステップS4に進む。
【0013】
ステップS4では、ステップS1で得られた画像データに対してエッジ検出を行う。ステップS5では、エッジ検出の結果に基づいて、直線と見なせるエッジ部分を全て抽出するとともに、それらの直線部分の撮影画面内における傾きを求める。例えば、撮影画面全体をxy座標系とみなしたときのエッジ部分のピクセル番地(x,y)から、エッジ線が直線か否かの判定および傾き検出は容易に行える。
【0014】
直線部分の抽出状況は被写体によって異なるが、例えば図3に示すような構図では、縦、横、斜めの直線部分が複数検出される。なお、直線判定を厳しくし過ぎると、レンズの収差の影響で直線が直線と判断されないおそれがあるので、それを見込んで判定基準を設定することが望ましい。あるいは、レンズの収差情報を予めカメラに記憶させておき、その情報を考慮して直線判定を行ってもよい。
【0015】
ステップS6では、抽出された全直線部分のうち水平/垂直の候補となる直線部分(候補直線)を抽出する。これは、検出した傾きが所定値以上の直線部分は、もともと水平/垂直にすべき直線部分ではないとみなして候補から除外する処理である。すなわち、水平に対する傾きが所定値未満の直線部分および垂直に対する傾きが所定値未満の直線部分のみが候補として選択される。また、傾きに拘わらず、長さが所定値未満の直線部分も、水平/垂直にすべき直線部分ではないとみなして除外することが望ましい。
【0016】
ステップS7では、上記抽出された候補直線の各々に対し、そられが撮影画面に対して水平または垂直状態にあるか否かを判別する。候補直線の傾きが0を中心とする所定範囲外であれば、その候補直線は水平でも垂直でもないと判断してステップS9に進み、スルー画上に通常の直線表示を行う。候補直線の傾きが0を中心とする所定範囲内であれば、その直線は水平または垂直と判断してステップS8に進み、直線の強調表示を行う。
【0017】
ここで、通常の直線表示としては、その直線部分に所定色の直線をオーバーレイ表示することが考えられる。強調表示としては、直線を通常表示とは異なる色で表示したり、通常表示よりも表示線を太くしたり、表示線を点滅させたりと種々の方法が考えられる。
【0018】
ステップS10ではレリーズ操作がなされたか否かを判定し、否定されるとステップS1に戻って上述の処理を繰り返す。この間、スルー画が逐次更新表示され、スルー画上の直線表示は、構図の変更に追従して自動的に変化する。また、カメラを光軸回りに傾けると、それに応じて画面内の直線の傾きが変わるため、水平/垂直の候補となっていた直線部分が候補から除外されたり、候補外の直線部分が新たに候補に加わったり、水平/垂直の判定が変化したりする。それらの変化は、全てスルー画上の直線表示に反映される。
【0019】
撮影者は、構図決定後、スルー画上に直線表示がなされた候補直線のうち水平または垂直にしたい直線部分に注目する。もしその直線部分が強調表示されていなければ、強調表示されるまでカメラを光軸回りに傾ける。意中の直線部分が強調表示されたら、その直線部分は撮影画面に対して水平または垂直になったと判断してよく、その状態でレリーズ操作を行う。
【0020】
レリーズ操作がなされると、ステップS10からステップS11に進み、改めて撮像を行い、得られた画像データに基づいて画像ファイルを生成し、その画像ファイルを記録媒体5に記録する。その後、ステップS1に戻る。
【0021】
以上の処理により、撮影者は、画面上の任意の直線部分を容易に、かつ正確に水平/垂直にすることができる。例えば図3の構図において、撮影者が候補直線L1を垂直にしたいと考えたとする。図3の状態では、直線L1はやや左に傾いているため強調表示されておらず、これを垂直にするには、カメラを反時計回りに少し傾ける必要がある。図4は直線L1が垂直になったときの状況を示し、このとき直線L1が強調表示されるので、それを見届けてレリーズ操作を行うことで、直線L1が正確に垂直に維持された画像が得られる。
【0022】
同様に撮影者が図3の候補直線L2を水平にしたいと考えたとする。図3の状態では、直線L2はやや右上がりであるため強調表示されておらず、これを水平にするには、カメラを反時計回りに少し傾ける必要がある。図5は直線L2が水平になったときの状況を示し、このとき直線L2が強調表示されるので、それを見届けてレリーズ操作を行うことで、直線L2が正確に水平に維持された画像が得られる。
【0023】
なお、水平/垂直の候補直線の抽出(ステップS6)は行わなくてもよく、ステップS5で抽出された全ての直線に対して以降の処理を行ってもよい。ただし、直線表示が多すぎると、画面が煩雑になり見にくくなるため、抽出された全直線の本数が所定数以上の場合には、候補直線の抽出を行うようにすることが望ましい。候補抽出にあたっては、上述したように直線部分の傾きや長さを考慮するほか、太さを考慮してもよい(細い線は候補から外す)。
【0024】
次に、撮影者自身が候補直線の抽出を行うようにした実施形態を説明する。
図6は本実施形態における処理手順を示し、図2と同様のステップには同一のステップ番号を付してある。
【0025】
ステップS5の直線抽出の後、ステップS21において、抽出された全直線部分に対して直線表示を行う(スルー画上にオーバーレイ表示)。この状態で撮影者は、直線表示がなされた直線から任意の直線を候補直線として選択することができる。選択方法としては、例えば液晶モニタ4の画面にタッチパネルが配置されたものでは、候補にしたい直線表示部分をタッチすることで選択がなされるようにしてもよい。あるいは、候補から外したい直線表示部分をタッチする方法でもよい。タッチパネルがないものでは、何らかの操作部材が操作されるたびに選択中の直線を所定の方向に順に変更し、「決定」操作を行うことで選択が確定されるようにしてもよい。この場合、選択中の直線表示は他の直線と異なる表示態様(例えば色を変える)で表示する必要がある。
なお、1本の直線部分のみ選択可能としてもよいし、複数の直線部分を選択できるようにしてもよい。選択可能な直線部分の本数に制限を設けてもよい。
【0026】
上記のような候補直線の選択操作がなされると、ステップS22からステップS23に進み、直線の選択状況をスルー画に反映させる。例えば、選択された候補直線以外の直線に対する直線表示を全て解除したり、候補直線か否かで色を変えるなどの方法が考えられる。なお、選択の解除や追加、初期状態(ステップS21直後の状態)への復帰等も自由に行えるようにすることが望ましい。
【0027】
その後の処理は図2と同様であるが、ステップS8,S9の処理の対象となる直線部分は、上記選択された候補直線のみである。選択操作がなされていない状況では、ステップS5で抽出された全直線部分が対象となる。
【0028】
図7はカメラの傾き調整方向をガイドする例を示している。
この例では、抽出された直線部分からいずれか一つを選択できるようにする。撮影者によって直線部分が選択されると、CPU6は、選択された直線部分に対して上述した水平/垂直判定を行い、水平/垂直になっていない場合には、カメラをいずれの方向に傾ければ水平/垂直になるかを判定する。そして、その判定結果に基づき、カメラを傾けるべき方向を示すガイド表示を行う。
【0029】
図7の例では、選択された直線部分L1が水平より垂直に近いので、これは垂直にすべき直線であると判断し、直線部分L1を垂直にするためのカメラの傾き方向を示す矢印50を表示する。もし、選択された直線部分が水平に近ければ、その直線部分を水平にするための傾き方向が表示されることになる。選択された直線部分が水平/垂直になると、ガイド表示(矢印50)は消えるので、撮影者はその直線部分が水平/垂直になったことを知ることができる。同時に上記のような直線表示(通常表示,強調表示)を行うようにしてもよい。
【0030】
このような傾き調整方向のガイド表示を行うことで、撮影者は迷うことなく正しい方向にカメラを傾けることができ、いち早く所望の直線部分を水平または垂直にすることができる。
【0031】
以上は撮影にあたってガイド表示を行う例について説明したが、記録済みの画像に対して水平/垂直処理を行うことも考えられる。以下、その一例を説明する。
なお、この機能を実現する装置は、カメラであってもよいし、画像データを扱うことが可能なカメラ以外の装置(例えば、パーソナルコンピュータ)であってもよい。
【0032】
図8は本実施形態の処理の流れを示し、ステップS31で処理対象となる画像ファイルが選択されるのを待つ。画像ファイルが選択されると、ステップS32でその画像を表示部(液晶モニタ4,コンピュータ用ディスプレイ装置など)に表示する。ステップS33,S34では、上述したようなエッジ検出および直線抽出を行い、ステップS35では、抽出された全直線に対して直線表示を行う(画像上にオーバーレイ表示)。この状態で操作者は、直線表示がなされた直線から任意の直線を候補直線として選択することができる。候補選択の方法は上述した通りであるが、ここで選択可能な直線は1本のみである。
なお、ステップS34の後に、図2のステップS6に示したような候補直線の抽出を行ってもよい。
【0033】
直線の選択がなされると、ステップS36からステップS37に進み、選択された直線が水平または垂直か否かを判定する。ステップS36が肯定されるとステップS39に進み、否定されるとステップS38において、選択された直線が水平または垂直になるように、当該画像ファイル中の画像データに回転処理を施す。水平にするか垂直にするかは、選択された直線の傾きによって決まる。すなわち、選択された直線の傾きが垂直よりも水平に近ければ水平に、垂直に近ければ垂直となるように回転処理を施す。
【0034】
その後、ステップS36に戻って上述の処理を繰り返し、保存指示があった場合は、ステップS39からステップS40に進み、処理後の画像ファイルを元画像ファイルに上書きで、あるいは別ファイルとして保存する。保存しない場合はステップS31に戻る。
【0035】
本実施形態によれば、撮影済み画像の任意の直線を容易に水平または垂直に補正することができるので、撮影時に水平あるいは垂直出しに失敗した場合でも問題はない。なお、画像回転処理によって画像全体が傾くことになるが、これはトリミング等によって対処すればよい。
【0036】
なお、上記各実施形態においては、エッジ検出により直線部分を抽出するようにしたが、例えば撮影者が画像中の2点を指定すると、その2点を結ぶ仮想直線を直線部分とみなして抽出するようにしてもよい。
【符号の説明】
【0037】
1 撮影レンズ
2 撮像素子
3 画像処理部
4 液晶モニタ
5 記録媒体
6 CPU
7 操作部

【特許請求の範囲】
【請求項1】
被写体を撮像して画像データを生成する撮像手段と、
前記生成された画像データに基づく画像を表示する表示手段とを有し、撮影指示の待機中に前記撮像手段および表示手段を繰り返し作動せしめるデジタルカメラにおいて、
前記画像データ中の直線部分を抽出する抽出手段と、
前記抽出された直線部分のそれぞれに対し、その直線部分が撮影画面に対して水平または垂直になっているか否かを判定する判定手段と、
該判定手段の判定に基づき、前記それぞれの直線部分が水平または垂直になっているか否かを報知する報知手段とを具備することを特徴とするデジタルカメラ。
【請求項2】
前記抽出された直線部分から1または複数の直線部分を選択する選択手段を更に備え、前記判定手段は、前記選択された直線部分のみを判定の対象とすることを特徴とする請求項1に記載のデジタルカメラ。
【請求項3】
前記選択手段は、前記それぞれの直線部分の傾きに応じて前記直線部分の選択を行うことを特徴とする請求項2に記載のデジタルカメラ。
【請求項4】
前記選択手段は、水平に対する傾きが所定値未満の直線部分および垂直に対する傾きが所定値未満の直線部分のみを選択することを特徴とする請求項3に記載のデジタルカメラ。
【請求項5】
前記選択手段は、操作者の選択指示に応じて前記直線部分の選択を行うことを特徴とする請求項2に記載のデジタルカメラ。
【請求項6】
前記報知手段は、前記表示された画像中の直線部分に直線を重ねて表示する直線表示を行い、水平または垂直になっている直線部分の直線表示と、水平,垂直のいずれにもなっていない直線部分の直線表示とで表示態様を異ならしめることを特徴とする請求項1〜5のいずれか1項に記載のデジタルカメラ。
【請求項7】
前記抽出された直線部分から1の直線部分を選択する選択手段を更に備え、前記報知手段は、前記選択された直線部分が水平でない場合は、当該直線部分を水平にするためのカメラの回転方向を指示することを特徴とする請求項1に記載のデジタルカメラ。
【請求項8】
前記抽出された直線部分から1の直線部分を選択する選択手段を更に備え、前記報知手段は、前記選択された直線部分が垂直でない場合は、当該直線部分を垂直にするためのカメラの回転方向を指示することを特徴とする請求項1に記載のデジタルカメラ。
【請求項9】
画像データ中の直線部分を抽出する抽出手段と、
前記抽出された直線部分が画像に対して水平または垂直になっているか否かを判定する判定手段と、
前記画像データ中の直線部分が水平または垂直になっていないと判定された場合に、その直線部分が水平または垂直になるように画像データに回転処理を施す処理手段とを具備することを特徴とする画像処理装置。
【請求項10】
操作に応じて前記画像データ中の直線部分からいずれか1の直線部分を選択する選択手段を更に備え、前記処理手段は、前記選択された直線部分が水平または垂直になるように画像データに回転処理を施すことを特徴とする請求項9に記載の画像処理装置。
【請求項11】
コンピュータに、
画像データ中の直線部分を抽出する処理と、
前記抽出された直線部分が画像に対して水平または垂直になっているか否かを判定する処理と、
前記画像データ中の直線部分が水平または垂直になっていないと判定された場合に、その直線部分が水平または垂直になるように画像データに回転処理を施す処理とを実行させるための画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−142574(P2011−142574A)
【公開日】平成23年7月21日(2011.7.21)
【国際特許分類】
【出願番号】特願2010−3115(P2010−3115)
【出願日】平成22年1月8日(2010.1.8)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】