(57)【要約】【課題】撮影画面内の任意の直線を容易に水平／垂直にすることが可能なデジタルカメラを提供する。【解決手段】スルー画表示中に、スルー画内の直線部分を抽出し、その直線部分に重ねて所定色の直線を表示する（直線表示）。直線表示の対象直線は、全ての直線でもよいし、撮影者またはカメラが選択してもよい。撮影者が光軸回りにカメラを傾け、水平／垂直でなかった直線が水平／垂直になると、直線の色を変えて報知する。これに応じて撮影者が撮影操作を行うことで、任意の直線が水平／垂直に維持された画像を得ることができる。【選択図】図２
2011142574.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像して画像データを生成する撮像手段と、
前記生成された画像データに基づく画像を表示する表示手段とを有し、撮影指示の待機中に前記撮像手段および表示手段を繰り返し作動せしめるデジタルカメラにおいて、
前記画像データ中の直線部分を抽出する抽出手段と、
前記抽出された直線部分のそれぞれに対し、その直線部分が撮影画面に対して水平または垂直になっているか否かを判定する判定手段と、
該判定手段の判定に基づき、前記それぞれの直線部分が水平または垂直になっているか否かを報知する報知手段とを具備することを特徴とするデジタルカメラ。
【請求項２】
前記抽出された直線部分から１または複数の直線部分を選択する選択手段を更に備え、前記判定手段は、前記選択された直線部分のみを判定の対象とすることを特徴とする請求項１に記載のデジタルカメラ。
【請求項３】
前記選択手段は、前記それぞれの直線部分の傾きに応じて前記直線部分の選択を行うことを特徴とする請求項２に記載のデジタルカメラ。
【請求項４】
前記選択手段は、水平に対する傾きが所定値未満の直線部分および垂直に対する傾きが所定値未満の直線部分のみを選択することを特徴とする請求項３に記載のデジタルカメラ。
【請求項５】
前記選択手段は、操作者の選択指示に応じて前記直線部分の選択を行うことを特徴とする請求項２に記載のデジタルカメラ。
【請求項６】
前記報知手段は、前記表示された画像中の直線部分に直線を重ねて表示する直線表示を行い、水平または垂直になっている直線部分の直線表示と、水平，垂直のいずれにもなっていない直線部分の直線表示とで表示態様を異ならしめることを特徴とする請求項１〜５のいずれか１項に記載のデジタルカメラ。
【請求項７】
前記抽出された直線部分から１の直線部分を選択する選択手段を更に備え、前記報知手段は、前記選択された直線部分が水平でない場合は、当該直線部分を水平にするためのカメラの回転方向を指示することを特徴とする請求項１に記載のデジタルカメラ。
【請求項８】
前記抽出された直線部分から１の直線部分を選択する選択手段を更に備え、前記報知手段は、前記選択された直線部分が垂直でない場合は、当該直線部分を垂直にするためのカメラの回転方向を指示することを特徴とする請求項１に記載のデジタルカメラ。
【請求項９】
画像データ中の直線部分を抽出する抽出手段と、
前記抽出された直線部分が画像に対して水平または垂直になっているか否かを判定する判定手段と、
前記画像データ中の直線部分が水平または垂直になっていないと判定された場合に、その直線部分が水平または垂直になるように画像データに回転処理を施す処理手段とを具備することを特徴とする画像処理装置。
【請求項１０】
操作に応じて前記画像データ中の直線部分からいずれか１の直線部分を選択する選択手段を更に備え、前記処理手段は、前記選択された直線部分が水平または垂直になるように画像データに回転処理を施すことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
コンピュータに、
画像データ中の直線部分を抽出する処理と、
前記抽出された直線部分が画像に対して水平または垂直になっているか否かを判定する処理と、
前記画像データ中の直線部分が水平または垂直になっていないと判定された場合に、その直線部分が水平または垂直になるように画像データに回転処理を施す処理とを実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、水平／垂直をガイドするデジタルカメラ、画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
カメラの光軸回りの傾き状況を液晶モニタ上に２本の線によって明示し、２本の線が重なるようにカメラの姿勢を変更することで、水平を出せるようにしたカメラが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２７１６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のカメラは単なる水平出しを行うもので、撮影画面内の任意の直線を水平または垂直にすることをガイドするものではない。
【課題を解決するための手段】
【０００５】
本発明に係るデジタルカメラは、被写体を撮像して画像データを生成する撮像手段と、生成された画像データに基づく画像を表示する表示手段とを有し、撮影指示の待機中に撮像手段および表示手段を繰り返し作動せしめるものであって、画像データ中の直線部分を抽出する抽出手段と、抽出された直線部分のそれぞれに対し、その直線部分が撮影画面に対して水平または垂直になっているか否かを判定する判定手段と、判定手段の判定に基づき、それぞれの直線部分が水平または垂直になっているか否かを報知する報知手段とを具備することを特徴とする。
本発明に係る画像処理装置は、画像データ中の直線部分を抽出する抽出手段と、抽出された直線部分が画像に対して水平または垂直になっているか否かを判定する判定手段と、画像データ中の直線部分が水平または垂直になっていないと判定された場合に、その直線部分が水平または垂直になるように画像データに回転処理を施す処理手段とを具備することを特徴とする。
本発明に係る画像処理プログラムは、上記抽出手段、判定手段および処理手段の各処理をコンピュータに実行させるためのものである。
【発明の効果】
【０００６】
本発明によれば、画像中の任意の直線を容易に水平／垂直にすることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係るカメラのブロック図。
【図２】一実施形態における水平／垂直ガイド機能の制御内容を説明するフローチャート。
【図３】スルー画表示の一例を示す図。
【図４】直線表示および任意の直線を垂直にする場合の動作を説明する図。
【図５】直線表示および任意の直線を水平にする場合の動作を説明する図。
【図６】他の実施形態における水平／垂直ガイド機能の制御内容を説明するフローチャート。
【図７】カメラの傾き調整方向をガイドする例を示す図。
【図８】画像データに対して水平／垂直処理を施す場合の制御内容を説明するフローチャート。
【発明を実施するための形態】
【０００８】
図１〜図５により本発明の一実施形態を説明する。
図１はデジタルカメラの制御ブロック図である。撮影レンズ（ズームレンズ）１を透過した被写体光束は、撮像素子２で撮像され、その撮像信号は画像処理部３に入力される。画像処理部３を構成する画像処理回路３ａは、入力された撮像信号に種々の処理を施して画像データを生成する。画像データは、表示回路３ｂによる処理を経て、カメラ背面などに設けられた液晶モニタ４に表示される。撮影モード設定時には、上記撮像および画像表示が繰り返され、いわゆるライブビュー表示（スルー画表示）が行われる。撮影指示がなされると改めて撮像が行われ、生成された画像データは、コンピュータで扱うことが可能な画像ファイルとして、記録／再生回路３ｃによりメモリカード等の記録媒体５に記録される。
【０００９】
再生モードでは、記録媒体５に記録された画像データを記録／再生回路３ｃにて読み出し、画像処理回路３ａおよび表示回路３ｂによる処理を経て液晶モニタ４に表示することができる。
【００１０】
ＣＰＵ６は、操作部７からの入力に応答して画像処理部３や不図示の回路を制御する。操作部７は、電源ボタンやレリーズボタン、再生操作や情報入力等で用いる各種操作部材等を含む。
【００１１】
次に、本カメラの特徴である水平／垂直ガイド機能について説明する。
図２は撮影モード時のカメラ動作を示すフローチャートであり、例えばカメラの電源オン、あるいは撮影モードの設定に伴ってＣＰＵ６がこのプログラムを起動する。なお、本発明と無関係な処理（例えば、ＡＦ処理やＡＥ処理等）は図示を省略してある。
【００１２】
まずステップＳ１で撮像を行い、画像データを得る。ステップＳ２では、得られた画像データをスルー画として液晶モニタ４に表示する。ステップＳ３では、水平／垂直ガイド機能が設定されているか否かを判定する。この機能の設定／非設定は、所定のスイッチ操作あるいはメニュー画面にて切換えることができる。ステップＳ３が否定されると、通常の撮影を行うべくステップＳ１０に進み、肯定されるとステップＳ４に進む。
【００１３】
ステップＳ４では、ステップＳ１で得られた画像データに対してエッジ検出を行う。ステップＳ５では、エッジ検出の結果に基づいて、直線と見なせるエッジ部分を全て抽出するとともに、それらの直線部分の撮影画面内における傾きを求める。例えば、撮影画面全体をｘｙ座標系とみなしたときのエッジ部分のピクセル番地（ｘ，ｙ）から、エッジ線が直線か否かの判定および傾き検出は容易に行える。
【００１４】
直線部分の抽出状況は被写体によって異なるが、例えば図３に示すような構図では、縦、横、斜めの直線部分が複数検出される。なお、直線判定を厳しくし過ぎると、レンズの収差の影響で直線が直線と判断されないおそれがあるので、それを見込んで判定基準を設定することが望ましい。あるいは、レンズの収差情報を予めカメラに記憶させておき、その情報を考慮して直線判定を行ってもよい。
【００１５】
ステップＳ６では、抽出された全直線部分のうち水平／垂直の候補となる直線部分（候補直線）を抽出する。これは、検出した傾きが所定値以上の直線部分は、もともと水平／垂直にすべき直線部分ではないとみなして候補から除外する処理である。すなわち、水平に対する傾きが所定値未満の直線部分および垂直に対する傾きが所定値未満の直線部分のみが候補として選択される。また、傾きに拘わらず、長さが所定値未満の直線部分も、水平／垂直にすべき直線部分ではないとみなして除外することが望ましい。
【００１６】
ステップＳ７では、上記抽出された候補直線の各々に対し、そられが撮影画面に対して水平または垂直状態にあるか否かを判別する。候補直線の傾きが０を中心とする所定範囲外であれば、その候補直線は水平でも垂直でもないと判断してステップＳ９に進み、スルー画上に通常の直線表示を行う。候補直線の傾きが０を中心とする所定範囲内であれば、その直線は水平または垂直と判断してステップＳ８に進み、直線の強調表示を行う。
【００１７】
ここで、通常の直線表示としては、その直線部分に所定色の直線をオーバーレイ表示することが考えられる。強調表示としては、直線を通常表示とは異なる色で表示したり、通常表示よりも表示線を太くしたり、表示線を点滅させたりと種々の方法が考えられる。
【００１８】
ステップＳ１０ではレリーズ操作がなされたか否かを判定し、否定されるとステップＳ１に戻って上述の処理を繰り返す。この間、スルー画が逐次更新表示され、スルー画上の直線表示は、構図の変更に追従して自動的に変化する。また、カメラを光軸回りに傾けると、それに応じて画面内の直線の傾きが変わるため、水平／垂直の候補となっていた直線部分が候補から除外されたり、候補外の直線部分が新たに候補に加わったり、水平／垂直の判定が変化したりする。それらの変化は、全てスルー画上の直線表示に反映される。
【００１９】
撮影者は、構図決定後、スルー画上に直線表示がなされた候補直線のうち水平または垂直にしたい直線部分に注目する。もしその直線部分が強調表示されていなければ、強調表示されるまでカメラを光軸回りに傾ける。意中の直線部分が強調表示されたら、その直線部分は撮影画面に対して水平または垂直になったと判断してよく、その状態でレリーズ操作を行う。
【００２０】
レリーズ操作がなされると、ステップＳ１０からステップＳ１１に進み、改めて撮像を行い、得られた画像データに基づいて画像ファイルを生成し、その画像ファイルを記録媒体５に記録する。その後、ステップＳ１に戻る。
【００２１】
以上の処理により、撮影者は、画面上の任意の直線部分を容易に、かつ正確に水平／垂直にすることができる。例えば図３の構図において、撮影者が候補直線Ｌ１を垂直にしたいと考えたとする。図３の状態では、直線Ｌ１はやや左に傾いているため強調表示されておらず、これを垂直にするには、カメラを反時計回りに少し傾ける必要がある。図４は直線Ｌ１が垂直になったときの状況を示し、このとき直線Ｌ１が強調表示されるので、それを見届けてレリーズ操作を行うことで、直線Ｌ１が正確に垂直に維持された画像が得られる。
【００２２】
同様に撮影者が図３の候補直線Ｌ２を水平にしたいと考えたとする。図３の状態では、直線Ｌ２はやや右上がりであるため強調表示されておらず、これを水平にするには、カメラを反時計回りに少し傾ける必要がある。図５は直線Ｌ２が水平になったときの状況を示し、このとき直線Ｌ２が強調表示されるので、それを見届けてレリーズ操作を行うことで、直線Ｌ２が正確に水平に維持された画像が得られる。
【００２３】
なお、水平／垂直の候補直線の抽出（ステップＳ６）は行わなくてもよく、ステップＳ５で抽出された全ての直線に対して以降の処理を行ってもよい。ただし、直線表示が多すぎると、画面が煩雑になり見にくくなるため、抽出された全直線の本数が所定数以上の場合には、候補直線の抽出を行うようにすることが望ましい。候補抽出にあたっては、上述したように直線部分の傾きや長さを考慮するほか、太さを考慮してもよい（細い線は候補から外す）。
【００２４】
次に、撮影者自身が候補直線の抽出を行うようにした実施形態を説明する。
図６は本実施形態における処理手順を示し、図２と同様のステップには同一のステップ番号を付してある。
【００２５】
ステップＳ５の直線抽出の後、ステップＳ２１において、抽出された全直線部分に対して直線表示を行う（スルー画上にオーバーレイ表示）。この状態で撮影者は、直線表示がなされた直線から任意の直線を候補直線として選択することができる。選択方法としては、例えば液晶モニタ４の画面にタッチパネルが配置されたものでは、候補にしたい直線表示部分をタッチすることで選択がなされるようにしてもよい。あるいは、候補から外したい直線表示部分をタッチする方法でもよい。タッチパネルがないものでは、何らかの操作部材が操作されるたびに選択中の直線を所定の方向に順に変更し、「決定」操作を行うことで選択が確定されるようにしてもよい。この場合、選択中の直線表示は他の直線と異なる表示態様（例えば色を変える）で表示する必要がある。
なお、１本の直線部分のみ選択可能としてもよいし、複数の直線部分を選択できるようにしてもよい。選択可能な直線部分の本数に制限を設けてもよい。
【００２６】
上記のような候補直線の選択操作がなされると、ステップＳ２２からステップＳ２３に進み、直線の選択状況をスルー画に反映させる。例えば、選択された候補直線以外の直線に対する直線表示を全て解除したり、候補直線か否かで色を変えるなどの方法が考えられる。なお、選択の解除や追加、初期状態（ステップＳ２１直後の状態）への復帰等も自由に行えるようにすることが望ましい。
【００２７】
その後の処理は図２と同様であるが、ステップＳ８，Ｓ９の処理の対象となる直線部分は、上記選択された候補直線のみである。選択操作がなされていない状況では、ステップＳ５で抽出された全直線部分が対象となる。
【００２８】
図７はカメラの傾き調整方向をガイドする例を示している。
この例では、抽出された直線部分からいずれか一つを選択できるようにする。撮影者によって直線部分が選択されると、ＣＰＵ６は、選択された直線部分に対して上述した水平／垂直判定を行い、水平／垂直になっていない場合には、カメラをいずれの方向に傾ければ水平／垂直になるかを判定する。そして、その判定結果に基づき、カメラを傾けるべき方向を示すガイド表示を行う。
【００２９】
図７の例では、選択された直線部分Ｌ１が水平より垂直に近いので、これは垂直にすべき直線であると判断し、直線部分Ｌ１を垂直にするためのカメラの傾き方向を示す矢印５０を表示する。もし、選択された直線部分が水平に近ければ、その直線部分を水平にするための傾き方向が表示されることになる。選択された直線部分が水平／垂直になると、ガイド表示（矢印５０）は消えるので、撮影者はその直線部分が水平／垂直になったことを知ることができる。同時に上記のような直線表示（通常表示，強調表示）を行うようにしてもよい。
【００３０】
このような傾き調整方向のガイド表示を行うことで、撮影者は迷うことなく正しい方向にカメラを傾けることができ、いち早く所望の直線部分を水平または垂直にすることができる。
【００３１】
以上は撮影にあたってガイド表示を行う例について説明したが、記録済みの画像に対して水平／垂直処理を行うことも考えられる。以下、その一例を説明する。
なお、この機能を実現する装置は、カメラであってもよいし、画像データを扱うことが可能なカメラ以外の装置（例えば、パーソナルコンピュータ）であってもよい。
【００３２】
図８は本実施形態の処理の流れを示し、ステップＳ３１で処理対象となる画像ファイルが選択されるのを待つ。画像ファイルが選択されると、ステップＳ３２でその画像を表示部（液晶モニタ４，コンピュータ用ディスプレイ装置など）に表示する。ステップＳ３３，Ｓ３４では、上述したようなエッジ検出および直線抽出を行い、ステップＳ３５では、抽出された全直線に対して直線表示を行う（画像上にオーバーレイ表示）。この状態で操作者は、直線表示がなされた直線から任意の直線を候補直線として選択することができる。候補選択の方法は上述した通りであるが、ここで選択可能な直線は１本のみである。
なお、ステップＳ３４の後に、図２のステップＳ６に示したような候補直線の抽出を行ってもよい。
【００３３】
直線の選択がなされると、ステップＳ３６からステップＳ３７に進み、選択された直線が水平または垂直か否かを判定する。ステップＳ３６が肯定されるとステップＳ３９に進み、否定されるとステップＳ３８において、選択された直線が水平または垂直になるように、当該画像ファイル中の画像データに回転処理を施す。水平にするか垂直にするかは、選択された直線の傾きによって決まる。すなわち、選択された直線の傾きが垂直よりも水平に近ければ水平に、垂直に近ければ垂直となるように回転処理を施す。
【００３４】
その後、ステップＳ３６に戻って上述の処理を繰り返し、保存指示があった場合は、ステップＳ３９からステップＳ４０に進み、処理後の画像ファイルを元画像ファイルに上書きで、あるいは別ファイルとして保存する。保存しない場合はステップＳ３１に戻る。
【００３５】
本実施形態によれば、撮影済み画像の任意の直線を容易に水平または垂直に補正することができるので、撮影時に水平あるいは垂直出しに失敗した場合でも問題はない。なお、画像回転処理によって画像全体が傾くことになるが、これはトリミング等によって対処すればよい。
【００３６】
なお、上記各実施形態においては、エッジ検出により直線部分を抽出するようにしたが、例えば撮影者が画像中の２点を指定すると、その２点を結ぶ仮想直線を直線部分とみなして抽出するようにしてもよい。
【符号の説明】
【００３７】
１  撮影レンズ
２  撮像素子
３  画像処理部
４  液晶モニタ
５  記録媒体
６  ＣＰＵ
７  操作部
【図１】
2011142574.tif 000003
【図２】
2011142574.tif 000004
【図３】
2011142574.tif 000005
【図４】
2011142574.tif 000006
【図５】
2011142574.tif 000007
【図６】
2011142574.tif 000008
【図７】
2011142574.tif 000009
【図８】
2011142574.tif 000010