電子カメラ、画像処理装置および画像処理プログラム
【課題】
従来は、画像の回転やトリミングを行うために煩雑な操作を行わなければならないという問題があった。
【解決手段】
本発明では、被写体画像を撮影する撮影部と、前記撮影部が撮影した画像を表示するための方形状の表示面を有する表示部と、前記表示部に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定部と、前記表示部に表示された画像の回転方向を指示する回転方向指示部と、前記基準軸が前記表示部の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転部とを有することを特徴とする。
従来は、画像の回転やトリミングを行うために煩雑な操作を行わなければならないという問題があった。
【解決手段】
本発明では、被写体画像を撮影する撮影部と、前記撮影部が撮影した画像を表示するための方形状の表示面を有する表示部と、前記表示部に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定部と、前記表示部に表示された画像の回転方向を指示する回転方向指示部と、前記基準軸が前記表示部の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転部とを有することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理技術に関する。
【背景技術】
【0002】
近年の電子カメラの普及に伴い、画像撮影が気軽に行われるようになってきた。ところが、撮影時に電子カメラを水平に構えることができず、被写体が斜めに撮影されてしまうという問題があった。また、撮影された画像を好みの角度に回転して編集したいという要望もあった。そこで、例えば撮影済みの画像をトリミングして、任意に角度を決めて回転させる技術が検討されていた(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−129101号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところが、従来技術では、画像の回転を行うために煩雑な操作を行わなければならないという問題があった。
【0005】
本発明の目的は、煩雑な操作を行うことなく画像の回転を行うことができる電子カメラ、画像処理装置および画像処理プログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明に係る電子カメラは、被写体画像を撮影する撮影部と、前記撮影部が撮影した画像を表示するための方形状の表示面を有する表示部と、前記表示部に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定部と、前記表示部に表示された画像の回転方向を指示する回転方向指示部と、前記基準軸が前記表示部の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転部とを有することを特徴とする。
【0007】
本発明に係る画像処理装置は、記憶媒体に記憶された画像を表示するための方形状の表示面を有する表示部と、前記表示部に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定部と、前記表示部に表示された画像の回転方向を指示する回転方向指示部と、前記基準軸が前記表示部の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転部とを有することを特徴とする。
【0008】
本発明に係る画像処理プログラムは、方形状の表示面を有する表示媒体に記憶媒体に記憶された画像を表示するための表示する画像表示処理と、前記表示媒体に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定処理と、前記表示媒体に表示された画像の回転方向を指示する回転方向指示処理と、前記基準軸が前記表示媒体の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転処理とを有することを特徴とする。
【発明の効果】
【0009】
本発明に係る電子カメラ、画像処理装置および画像処理プログラムは、煩雑な操作を行うことなく画像の回転を行うことができる。
【図面の簡単な説明】
【0010】
【図1】電子カメラ101の構成例を示す図である。
【図2】画像処理部104の構成例を示す図である。
【図3】電子カメラ101の画像処理の具体例を示す図である。
【図4】回転ベクトルの一例を示す図である。
【図5】回転ベクトルのその他の例を示す図である。
【図6】電子カメラ101の水平・垂直補正処理を示すフローチャートである。
【図7】電子カメラ101aの構成例を示す図である。
【図8】電子カメラ101aの画像処理の具体例を示す図である。
【図9】電子カメラ101aの水平・垂直補正処理を示すフローチャートである。
【図10】その他の基準軸または回転ベクトルの入力方法を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明に係る電子カメラ、画像処理装置および画像処理プログラムの実施形態について図面を用いて詳しく説明する。尚、以下の実施形態では、本発明に係る画像処理装置および画像処理プログラムが搭載された電子カメラの例について説明するが、撮影済みの画像データを入力して画像処理を行うパソコンの画像処理プログラムや単体の画像処理装置であっても構わない。
【0012】
[電子カメラ101の構成例および基本動作]
先ず、各実施形態に共通の電子カメラ101の構成例および基本動作について説明する。図1は電子カメラ101の構成例を示すブロック図で、電子カメラ101は、撮像部102と、画像バッファ103と、画像処理部104と、表示部105と、タッチパネル106と、制御部107と、メモリ108と、メモリカードIF(インターフェース)109と、操作部110とで構成される。尚、操作ボタン110以外の各ブロックは、共通バス111を介して相互に接続されている。
【0013】
撮像部102は、例えば光学レンズ、撮像素子、A/D変換器およびタイミング発生器などで構成される。そして、撮像部102は、制御部107の指令に従って被写体画像を撮影し、撮影した画像を共通バッファ111を介して画像バッファ103に取り込む。
【0014】
画像バッファ103は、例えば揮発性の高速メモリで構成され、撮像部102が撮影した画像を一時的に記憶する。また、画像処理部104が画像処理を行う際のバッファメモリとしても使用される。或いは、メモリカードIF109に接続されたメモリカード109aに保存されている撮影済の画像を読み出して表示部105に表示したり、画像処理を施す際のバッファメモリとしても使用される。
【0015】
画像処理部104は、例えば信号処理プロセッサなどで構成され、画像バッファ103に取り込まれた画像に対して所定の画像処理を施す。所定の画像処理は、例えばホワイトバランス処理、色補間処理、ガンマ補正処理、彩度強調処理、輪郭輪郭強調処理、或いはJPEG規格などに準拠した画像圧縮方法による画像データの圧縮処理などである。特に本実施形態では、画像処理部104は、後に説明するように、画像の回転処理、トリミング処理、画像サイズ調整処理などを行う。
【0016】
表示部105は、液晶モニタなどで構成され、制御部107の指令によって画像バッファ103に記憶されている撮影画像や電子カメラ101の操作に必要なメニュー画面などが表示される。
【0017】
タッチパネル106は、表示部105の画面上に配置され、ユーザーが指で触れた画面上の座標位置を制御部107に出力する。
【0018】
制御部107は、例えば内部に記憶されたプログラムに従って動作するCPUで構成され、電子カメラ101の各部の動作を制御する。例えばユーザーによる操作部110の操作に従って電子カメラ101の電源のON/OFFや撮影モードの設定などを行う。また、制御部107は、タッチパネル106が出力する座標位置の情報を使用して、例えば表示部105にメニュー画面が表示されている場合は、メニュー画面上に表示されたボタンが押下されたか否かを判別する。特に本実施形態では、表示部105に表示されている画像を回転する際の操作をタッチパネル106を利用して行う。
【0019】
メモリ108は、例えばフラッシュメモリなどの不揮発性の半導体メモリで構成され、電子カメラ101の動作に必要なパラメータが記憶される。制御部107は、これらのパラメータを参照して電子カメラ101の動作を制御する。尚、これらのパラメータは、操作部110を介して行われるユーザー操作に応じて適宜更新される。
【0020】
メモリカードIF109は、電子カメラ101にメモリカード109aを接続するためのインターフェースである。そして、制御部107はメモリカードIF109を介してメモリカード109aに画像データを読み書きする。
【0021】
操作部110は、電源ボタン110a、レリーズボタン110b、動作モード選択ダイヤル110c、カーソルボタン110d、水平・垂直補正ボタン111eなどで構成される。ユーザーは、これらの操作ボタンを操作して電子カメラ101を使用する。例えば動作モード選択ダイヤル110cでは、静止画撮影モード、動画撮影モード、或いは撮影済みの画像の再生モードなどを選択する。また、カーソルボタン110dでは、表示部105に表示されたメニュー画面の操作などをタッチパネル106と並行して行う。特に本実施形態では、水平・垂直補正ボタン111eが押下されると、制御部107および画像処理部104は、表示部105に表示されている画像を回転して、画像内の被写体が水平または垂直になるように補正する処理を行う。
【0022】
以上が電子カメラ101の構成および基本動作である。尚、電子カメラ101ではなく、本発明に係る単体の画像処理装置の場合は、図1において、撮像部102および操作部110のレリーズボタン110bなどの撮像用のブロックを取り除いた構成でよい。そして、制御部107は画像処理装置の制御部に相当し、撮影済みの画像データをメモリカード109aから画像バッファ103に読み出して、画像処理部104で画像の回転処理、トリミング処理、画像サイズ調整処理などを行う。
【0023】
[画像処理部104の構成例]
次に、画像処理部104について詳しく説明する。画像処理部104は、先に説明したように、ホワイトバランス処理や色補間処理などの一般的な画像処理に加えて、表示部105に表示されている画像を回転する処理を行う。尚、この処理は、操作部110の水平・垂直補正ボタン111eが押下された場合に、制御部107から画像処理部104に回転処理を指令する。
【0024】
図2は、画像処理部104が行う画像の回転処理に関係する処理ブロックを示した図である。尚、図2では、わかり易いように、一般的な画像処理を行うブロックは省略してある。
【0025】
図2において、画像処理部104は、基準軸設定処理部201と、回転方向設定処理部202と、回転処理部203と、トリミング処理部204とで基本的に構成される。さらに、後で説明するように、画像サイズ調整処理部205を設けても構わない。以下、図3を参照して各処理について説明する。
【0026】
基準軸設定処理部201は、表示部105の画面105aに表示された画像300を回転する際に、水平または垂直に合わせようとする基準軸を設定する処理を行う。例えば図3(a)は、表示部105の画面105aに表示された撮影済みの画像300の例を示し、被写体301の人物が左に傾いて撮影されている。そして、基準軸設定処理部201は、ユーザーが表示部105の画面105a上を指でなぞった部分に直線Aを描画し、図3(b)に示すように、この直線Aを基準軸として設定する。
【0027】
回転方向設定処理部202は、基準軸となる直線Aが描かれた画面105aに、回転方向を設定する処理を行う。例えば図3(c)に示すように、直線Aが描かれた画面105a上をユーザーが指でなぞった部分に直線Bを回転ベクトルとして設定する。
【0028】
回転処理部203は、回転ベクトルとなる直線Bが設定された画面105a内で、画像300を回転する処理を行う。例えば図3(d)に示すように、直線Aが描かれた画像300は、直線Aが画面105aに対して垂直になるように回転される。ここで、回転処理部203は、直線Aを直近の水平または垂直の位置に自動的に合わせるものとする。また、直線Aを画面105aに対して垂直にする処理は、例えば図3(c)および図3(d)に示すように、画面105aおよび画像300の画素座標から、直線Aと画面105aの垂直方向との角度θが判るので、周知のアフィン変換などの座標回転計算を行うことにより、回転後の画像を得ることができる。
【0029】
トリミング処理部204は、回転後の画像300は画面105aからはみ出した部分があるので、画面105aと水平および垂直が平行になるように画像300をトリミングして画像302を作成する。尚、トリミングは、画像302ができるだけ大きくなるように矩形上に画像300をトリミングする。トリミング方法の一例として、例えば、画像302が画面105aと同じアスペクト比の矩形領域とした場合、図3(e)に示すように、直線Aの中点を基準に矩形領域の4つの角を広げて行った時に画像302の4つの角のいずれかが画像300の辺に突き当たった状態がトリミングの最大サイズとなる。このようにして、図3(f)に示すようなトリミング後の画像302を得ることができる。
【0030】
画像サイズ調整処理部205は、トリミング後の画像302を撮影済みの画像300と同じサイズに拡大する処理を行う。トリミング後の画像302は、図3(f)に示すように、画面105aより小さい画像になっているので、メモリカード109aに記憶されている他の撮影済みの画像と画像のサイズが異なってしまう。そこで、画像サイズ調整処理部205は、図3(g)に示すように、画像300と同じサイズになるように画像302に対して拡大処理を行って拡大後の画像303を作成する。尚、拡大処理は、例えば1画素を縦横2画素に置き換えたり、画素補間などの方法で行うことができる。
【0031】
尚、図3(c)の説明では、回転ベクトルは直線Bの方向だけで決まり、図3(d)に示すように、回転処理部203は直線Aが直近の画面105aの水平または垂直に合うように回転処理を行うものとしたが、直線Bの代わりに、図4(a)に示すように、2方向を示す2つの直線を組み合わせた線Cを回転方向として入力できるようにしても構わない。この場合は、一旦、図3(c)に示すように直線Aを画面105aの垂直方向に合わせた後、さらに同じ方向(図3の場合は時計回り)に回転させて、図4(b)に示すように、画面105aの水平方向に合わせる。尚、線Cを3方向を示す3つの直線を組み合わせて、さらに大きな回転角度を指定できるようにしてもよい。或いは、図4(d)に示すように、曲線Dや曲線Eで指定するようにしてもよい。この場合は、曲線Dや曲線Eの長さなどで回転角度を指定できる。
【0032】
また、図3(d)の回転処理では、図5(a)に示すように、直線Aの中点を中心に回転するようにしたが、図5(b)に示すように回転の中心を移動できるようにしてもよい。この場合は、図3(b)の直線Aの設定時に、図5(a)に示すように中心点311を画面105aに表示し、例えば操作部110のカーソルボタン110dによって中心311の位置を直線Aに沿って移動できるようにしてもよい。例えばカーソルボタン110dの下矢印キーを押下すると、図5(b)に示すように中心311が直線Aの下方に移動する。同様に、カーソルボタン110dの上矢印キーを押下すれば、中心311を直線Aの上方に移動することもできる。或いは、図5(c)に示すように、ユーザーの人差し指312を中心311に固定し、中指313で画面105a上をコンパスのように回転させて回転ベクトルを入力するようにしてもよい。
【0033】
このようにして、本実施形態に係る電子カメラ101は、図3(a)のように、斜めに撮影された被写体301を図3(f)および図3(g)に示すように画面105aに対して水平または垂直に回転する補正を行うことができる。
【0034】
[水平・垂直補正処理]
次に、水平・垂直補正処理について図6のフローチャートを用いて説明する。
【0035】
(ステップS101)ユーザーは、電子カメラ101を用いて撮影した画像またはメモリカード109aから読み出した画像を表示部105に表示する。
【0036】
(ステップS102)ユーザーが操作部110の水平・垂直補正ボタン111eを押下すると、制御部107および画像処理部104は水平・垂直補正処理を開始する。
【0037】
(ステップS103)制御部107は、タッチパネル106から入力される座標情報に応じて直線Aを描画するよう画像処理部104に指令する。そして、画像処理部104の基準軸設定処理部201は、制御部107から入力する座標情報に従って基準軸を設定する処理を行う。例えば、基準軸設定処理部201は、先に説明した図3(b)のように、ユーザーがタッチパネル106で入力した直線Aを画面105aの画像300上に描画する。
【0038】
(ステップS104)制御部107は、ユーザーによる直線Aの入力および画像処理部104による設定が完了したか否かを判別し、完了していない場合はステップS103に戻り、完了した場合は次のステップに進む。
【0039】
(ステップS105)制御部107は、タッチパネル106から入力される座標情報に応じて直線Bを入力し、回転ベクトルを設定するよう画像処理部104に指令する。そして、画像処理部104の回転方向設定処理部202は、制御部107から入力する座標情報に従って回転ベクトルを設定する処理を行う。例えば、回転方向設定処理部202は、先に説明した図3(c)のように、ユーザーがタッチパネル106で入力した直線Bを回転ベクトルとする。
【0040】
尚、直線Bは、画面105aの画像300上に描画してもよいが、直線Bの設定終了と同時に次のステップS106とステップS107とが連続して直ぐに実行されるので、直線Bの描画を行わなくても構わない。或いは、ユーザーが直線Bを確認できるように、所定時間(例えば1秒間)だけ直線Bを表示した後、次のステップS106およびステップS107に進むようにしても構わないし、直線Bを表示したまま後の処理を行うようにしても構わない。いずれの場合でも、直線Aや直線Bは画像300の画像データを書き換えるのではなく、画面105aに表示する際の表示用のデータ上に書き加えられるので、メモリカード109aに保存するときに直線Aや直線Bが残ることはない。
【0041】
(ステップS106)制御部107は、ユーザーによる直線Bの入力および画像処理部104による設定が完了したか否かを判別し、完了していない場合はステップS105に戻り、完了した場合は次のステップに進む。
【0042】
(ステップS107)画像処理部104の回転処理部203は、設定された直線Aを基準に直線Bの回転ベクトルに従って表示部105に表示されている画像300を回転する処理を行う。この状態で、先に説明した図3(d)の回転後の画像300が得られる。
【0043】
(ステップS108)画像処理部104のトリミング処理部204は、回転後の画像のトリミング処理を行う。例えば、トリミング処理部204は、先に説明した図3(e)のようなトリミング処理を行い、図3(f)に示すようなトリミング後の画像302が得られる。
【0044】
(ステップS109)画像処理部104の画像サイズ調整処理部205は、トリミング後の画像を撮影後の画像と同じサイズ(同じ画素数)の画像になるように拡大する処理を行う。例えば、画像サイズ調整処理部205は、先に説明した図3(g)のように、トリミング後の画像302を撮影時の画像300と同じサイズになるように拡大処理を行い、拡大後の画像303が得られる。尚、本処理を行わずに次の保存処理を行うようにしても構わない。
【0045】
(ステップS110)制御部107は、画像バッファ103に記憶されている画像処理部104が処理後の画像をメモリカードIF109を介してメモリカード109aに保存する。例えば、ステップS109の拡大処理を行わない場合は、図3(f)のトリミング後の画像302の画像データをメモリカード109aに保存し、ステップS109の拡大処理を行う場合は、図3(g)の拡大後の画像303の画像データをメモリカード109aに保存する。
【0046】
このようにして、本実施形態に係る電子カメラ101は、図3(a)のように、斜めに撮影された被写体301を図3(f)および図3(g)に示すように画面105aに対して水平または垂直に回転する補正を行うことができる。
【0047】
(変形例)
次に、先に説明した図1の電子カメラ101の変形例として、図7の電子カメラ101aについて説明する。尚、図7において、図1と同符号のものは同じものを示す。図7において、図1と異なるのは、ジャイロセンサ112が追加されていることである。ジャイロセンサ112は、加速度を感知するセンサで、電子カメラ101の筐体の傾き角度を検出するセンサである。特に本実施形態に係る電子カメラ101では、ジャイロセンサ112は、表示部105の表示面を含む二次元平面上の回転角度を検出する。
【0048】
ジャイロセンサ112が出力する傾き角度の情報は、図2で説明した画像処理部104の回転方向設定処理部202に出力される。そして、回転方向設定処理部202は、先の実施形態で説明した直線Bによる回転ベクトルの代わりにジャイロセンサ112の傾き角度の情報を利用する。
【0049】
次に、本変形例における電子カメラ101aの処理について説明する。図8は、図3に対応する図で、電子カメラ101aの筐体の表示部105側の様子を示した図である。例えば図8(a)は図3(a)に対応し、表示部105の画面105aに表示された撮影済みの画像300の例を示し、被写体301の人物が左に傾いて撮影されている。そして、基準軸設定処理部201は、ユーザーが表示部105の画面105a上を指でなぞった部分に直線Aを描画し、図8(b)に示すように、この直線Aを基準軸として設定する。基準軸の設定までの処理は、図3(b)と同じである。
【0050】
ここで、ユーザーは、回転方向設定処理部202に、回転方向を設定する操作を行う。例えば図8(c)に示すように、ユーザーは、画像300を回転したい方向に、電子カメラ101aの筐体を回転させる。ジャイロセンサ112は、この動きを検知して傾き角度の情報を回転方向設定処理部202に出力する。回転方向設定処理部202は、ジャイロセンサ112から入力する傾き角度の情報から例えば紙面の時計回りに傾いたことがわかるので回転ベクトルを時計回りに設定する。ここで、ジャイロセンサ112が出力する情報から回転方向がわかればよいので、正確な角度情報は不要である。
【0051】
そして、回転処理部203は、回転方向設定処理部202が設定した回転ベクトルに従って、画面105a内で画像300を回転する処理を行う。例えば図8(d)に示すように、直線Aが描かれた画像300は、直線Aが画面105aに対して垂直になるように回転される。ここで、回転処理部203は、図3の場合と同様に、直線Aを直近の水平または垂直の位置に自動的に合わせるものとする。尚、ジャイロセンサ112の傾き角度が予め設定した閾値以下の場合は直近の水平または垂直の位置に合わせ、閾値以上の場合はさらに次の水平または垂直の位置に合わせるようにしてもよい。
【0052】
また、図8(d)の回転終了後に、回転後の位置を確定する操作を行うようにしてもよい。例えば回転後にレリーズボタン110bの押下(或いは水平・垂直補正ボタン111eの押下)を行うことにより、回転位置を確定する。これにより、さらに回転処理を続けることが可能になる。例えば、ユーザーは図8(d)の状態から図8(c)のようにさらに電子カメラ101aの筐体を回転させることにより、画像300を時計回りや反時計回りに自由に回転させることができる。そして、気に入った位置で、レリーズボタン110bの押下(或いは水平・垂直補正ボタン111eの押下)を行うことにより、回転位置を確定する。
【0053】
尚、回転方向設定処理部202がジャイロセンサ112の傾き角度から回転ベクトルを設定する際に、ジャイロセンサ112の角度変化が予め設定した閾値以上の場合だけ回転ベクトルとして認識するようにしてもよい。これにより、ユーザーが手持ちの電子カメラ101aが緩やかに動いている場合の誤動作を防止できる。
【0054】
そして、回転処理が終了後、トリミング処理部204は、図3(e)と同様に、回転後の画像300の画面105aからはみ出した部分をトリミングする処理を行い、図8(e)に示すようなトリミング後の画像302を作成する。尚、トリミング方法については、先に説明した通りである。また、電子カメラ101aの設定により、画像サイズ調整処理部205は、トリミング後の画像302を撮影時の画像300と同じサイズに拡大する処理を行って、図8(f)に示すように、拡大後の画像303を作成してもよい。
【0055】
このようにして、本変形例に係る電子カメラ101aは、図8(a)のように、斜めに撮影された被写体301を図8(e)および図8(f)に示すように画面105aに対して水平または垂直に回転する補正を行うことができる。特に本変形例では、回転方向の指定を電子カメラ101aの筐体を傾ける操作によって行うので、感覚的に利用することができる。
【0056】
次に、変形例に係る電子カメラ101aの水平・垂直補正処理について図9のフローチャートを用いて説明する。尚、図9のフローチャートは、先に説明した図6に対応する図で、同じステップ番号は同じ処理を示す。以下、図6と異なる部分についてのみ説明する。図9において、ステップS101からステップS103までの基準軸を設定するまでの処理は図6と同じである。
【0057】
(ステップS201)ユーザーは、表示部105の画面105aに表示されている画像を回転させたい方向に電子カメラ101aの筐体を回転させる。そして、ジャイロセンサ112が筐体の回転を検出した場合は次のステップに進み、筐体の回転を検出しない場合はステップS201で待機する。
【0058】
(ステップS202)画像処理部104の回転方向設定処理部202は、ジャイロセンサ112から入力する傾き角度の情報に従って回転ベクトルを設定する処理を行う。尚、本処理は、図6のステップS105に対応する処理である。
【0059】
次のステップS107の処理は、図6と同じ処理で、画像処理部104の回転処理部203は、設定された直線Aを基準に回転ベクトルに従って表示部105に表示されている画像300を回転する処理を行う。この状態で、先に説明した図8(d)の回転後の画像300が得られる。
【0060】
(ステップS203)制御部107は、ジャイロセンサ112が筐体の傾きを検出したか否かを判別する。そして、ジャイロセンサ112が筐体の傾きを検出した場合は、ステップS202に戻って再び回転処理を行い、ジャイロセンサ112が筐体の傾きを検出していない場合は、次のステップに進む。
【0061】
(ステップS204)制御部107は、回転後の位置を確定するために、ユーザーが操作部110のレリーズボタン110bを押下したか否かを判別する。尚、ここでは、レリーズボタン110bの押下により、回転後の位置を確定するものとするが、水平・垂直補正ボタン111eの押下により回転後の位置を確定するようにしてもよい。この場合は、本処理ステップで水平・垂直補正ボタン111eが押下されたか否かの判別を行う。そして、レリーズボタン110bが押下された場合は次のステップに進み、押下されていない場合はステップS203に戻って、連続して回転するか否かの判別処理を行う。尚、連続して回転する処理を行わない場合は、ステップS203およびステップS204の処理は不要である。
【0062】
(ステップS205)制御部107は、画像処理部104に回転後の位置確定の指令を出力し、画像処理部104は回転後の位置を確定する。
【0063】
回転後の位置が確定すると、図6と同様にステップS108のトリミング処理を行い、さらに画像サイズを調整する場合は、ステップS109で画像サイズの拡大処理を行う。そして、ステップS110で、制御部107は、画像バッファ103に記憶されている画像処理部104が処理後の画像をメモリカードIF109を介してメモリカード109aに保存する。例えば、ステップS109の拡大処理を行わない場合は、図8(e)のトリミング後の画像302の画像データをメモリカード109aに保存し、ステップS109の拡大処理を行う場合は、図8(f)の拡大後の画像303の画像データをメモリカード109aに保存する。
【0064】
このようにして、本変形例に係る電子カメラ101aは、図8(a)のように、斜めに撮影された被写体301を図8(e)および図8(f)に示すように画面105aに対して水平または垂直に回転する補正を行うことができる。特に本変形例では、回転方向の指定を電子カメラ101aの筐体を傾ける操作によって行うので、感覚的に利用することができる。
【0065】
尚、上記の実施形態では、本発明を電子カメラ101および電子カメラ101aに適用する場合について説明したが、単体の画像処理装置の場合は、図1または図7において、撮像部102および操作部110のレリーズボタン110bなどの撮像用のブロックを取り除いた構成でよい。そして、制御部107は画像処理装置の制御部に相当し、撮影済みの画像データをメモリカード109aから画像バッファ103に読み出して、画像処理部104で画像の回転処理、トリミング処理、画像サイズ調整処理などを行う。
【0066】
また、図6のフローチャートおよび図9のフローチャートに従った処理を行う画像プログラムを記憶した記憶媒体やインターネット等の通信媒体を介してダウンロードした画像処理プログラムをパソコンなどのコンピュータにインストールして実行するようにしてもよい。このようにパソコンで処理を行う場合は、例えば図1のタッチパネル106ではなくマウスなどのポインティングデバイスを用いて基準軸や回転ベクトルの設定を行うことができる。例えば図10(a)に示すように、パソコンのモニタの画面105a上に表示されたマウスのカーソル401で基準軸となる直線Aを引いたり(図10(a))、回転ベクトルとなる直線Bを引くことができる(図10(b))。或いは、回転ベクトルは、図10(c)に示すように、マウス402自体を右方向や左方向に動かすことによって指定することができる。尚、トリミングや画像サイズの拡大などの処理は、電子カメラ101や電子カメラ101aの場合と同じである。
【0067】
このように、各実施形態に係る電子カメラ101および電子カメラ101a、或いは撮像部102を持たない専用の画像処理装置やパソコンなどのコンピュータで実行する画像処理プログラムは、撮影済みの画像に対して、表示部105の画面上で任意に基準軸となる直線を設定して表示し、その直線が画面の各辺に対して垂直又は水平になるように表示された画像を回転し、画面の各辺と平行になるように矩形状に画像をトリミングする。これにより、画面の各辺に対して斜めに撮影された画像を水平または垂直になるように画像を回転して補正することことができ、撮影時に被写体が水平になっているか或いは垂直になっているかに気を使うことなく気軽に撮影することができる。
【0068】
以上、本発明に係る電子カメラ、画像処理装置および画像処理プログラムについて、各実施形態で例を挙げて説明してきたが、その精神またはその主要な特徴から逸脱することなく他の多様な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明は、特許請求の範囲によって示されるものであって、本発明は明細書本文にはなんら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【符号の説明】
【0069】
101・・・電子カメラ;102・・・撮像部;103・・・画像バッファ;104・・・画像処理部;105・・・表示部;106・・・タッチパネル;107・・・制御部;108・・・メモリ;109・・・メモリカードIF;110・・・操作部;111・・・共通バス;201・・・基準軸設定処理部;202・・・回転方向設定処理部;203・・・回転処理部;204・・・トリミング処理部;205・・・画像サイズ調整処理部;112・・・ジャイロセンサ;110a・・・電源ボタン;110b・・・レリーズボタン;110c・・・動作モード選択ダイヤル;110d・・・カーソルボタン;111e・・・水平・垂直補正ボタン
【技術分野】
【0001】
本発明は、画像処理技術に関する。
【背景技術】
【0002】
近年の電子カメラの普及に伴い、画像撮影が気軽に行われるようになってきた。ところが、撮影時に電子カメラを水平に構えることができず、被写体が斜めに撮影されてしまうという問題があった。また、撮影された画像を好みの角度に回転して編集したいという要望もあった。そこで、例えば撮影済みの画像をトリミングして、任意に角度を決めて回転させる技術が検討されていた(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−129101号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところが、従来技術では、画像の回転を行うために煩雑な操作を行わなければならないという問題があった。
【0005】
本発明の目的は、煩雑な操作を行うことなく画像の回転を行うことができる電子カメラ、画像処理装置および画像処理プログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明に係る電子カメラは、被写体画像を撮影する撮影部と、前記撮影部が撮影した画像を表示するための方形状の表示面を有する表示部と、前記表示部に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定部と、前記表示部に表示された画像の回転方向を指示する回転方向指示部と、前記基準軸が前記表示部の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転部とを有することを特徴とする。
【0007】
本発明に係る画像処理装置は、記憶媒体に記憶された画像を表示するための方形状の表示面を有する表示部と、前記表示部に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定部と、前記表示部に表示された画像の回転方向を指示する回転方向指示部と、前記基準軸が前記表示部の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転部とを有することを特徴とする。
【0008】
本発明に係る画像処理プログラムは、方形状の表示面を有する表示媒体に記憶媒体に記憶された画像を表示するための表示する画像表示処理と、前記表示媒体に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定処理と、前記表示媒体に表示された画像の回転方向を指示する回転方向指示処理と、前記基準軸が前記表示媒体の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転処理とを有することを特徴とする。
【発明の効果】
【0009】
本発明に係る電子カメラ、画像処理装置および画像処理プログラムは、煩雑な操作を行うことなく画像の回転を行うことができる。
【図面の簡単な説明】
【0010】
【図1】電子カメラ101の構成例を示す図である。
【図2】画像処理部104の構成例を示す図である。
【図3】電子カメラ101の画像処理の具体例を示す図である。
【図4】回転ベクトルの一例を示す図である。
【図5】回転ベクトルのその他の例を示す図である。
【図6】電子カメラ101の水平・垂直補正処理を示すフローチャートである。
【図7】電子カメラ101aの構成例を示す図である。
【図8】電子カメラ101aの画像処理の具体例を示す図である。
【図9】電子カメラ101aの水平・垂直補正処理を示すフローチャートである。
【図10】その他の基準軸または回転ベクトルの入力方法を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明に係る電子カメラ、画像処理装置および画像処理プログラムの実施形態について図面を用いて詳しく説明する。尚、以下の実施形態では、本発明に係る画像処理装置および画像処理プログラムが搭載された電子カメラの例について説明するが、撮影済みの画像データを入力して画像処理を行うパソコンの画像処理プログラムや単体の画像処理装置であっても構わない。
【0012】
[電子カメラ101の構成例および基本動作]
先ず、各実施形態に共通の電子カメラ101の構成例および基本動作について説明する。図1は電子カメラ101の構成例を示すブロック図で、電子カメラ101は、撮像部102と、画像バッファ103と、画像処理部104と、表示部105と、タッチパネル106と、制御部107と、メモリ108と、メモリカードIF(インターフェース)109と、操作部110とで構成される。尚、操作ボタン110以外の各ブロックは、共通バス111を介して相互に接続されている。
【0013】
撮像部102は、例えば光学レンズ、撮像素子、A/D変換器およびタイミング発生器などで構成される。そして、撮像部102は、制御部107の指令に従って被写体画像を撮影し、撮影した画像を共通バッファ111を介して画像バッファ103に取り込む。
【0014】
画像バッファ103は、例えば揮発性の高速メモリで構成され、撮像部102が撮影した画像を一時的に記憶する。また、画像処理部104が画像処理を行う際のバッファメモリとしても使用される。或いは、メモリカードIF109に接続されたメモリカード109aに保存されている撮影済の画像を読み出して表示部105に表示したり、画像処理を施す際のバッファメモリとしても使用される。
【0015】
画像処理部104は、例えば信号処理プロセッサなどで構成され、画像バッファ103に取り込まれた画像に対して所定の画像処理を施す。所定の画像処理は、例えばホワイトバランス処理、色補間処理、ガンマ補正処理、彩度強調処理、輪郭輪郭強調処理、或いはJPEG規格などに準拠した画像圧縮方法による画像データの圧縮処理などである。特に本実施形態では、画像処理部104は、後に説明するように、画像の回転処理、トリミング処理、画像サイズ調整処理などを行う。
【0016】
表示部105は、液晶モニタなどで構成され、制御部107の指令によって画像バッファ103に記憶されている撮影画像や電子カメラ101の操作に必要なメニュー画面などが表示される。
【0017】
タッチパネル106は、表示部105の画面上に配置され、ユーザーが指で触れた画面上の座標位置を制御部107に出力する。
【0018】
制御部107は、例えば内部に記憶されたプログラムに従って動作するCPUで構成され、電子カメラ101の各部の動作を制御する。例えばユーザーによる操作部110の操作に従って電子カメラ101の電源のON/OFFや撮影モードの設定などを行う。また、制御部107は、タッチパネル106が出力する座標位置の情報を使用して、例えば表示部105にメニュー画面が表示されている場合は、メニュー画面上に表示されたボタンが押下されたか否かを判別する。特に本実施形態では、表示部105に表示されている画像を回転する際の操作をタッチパネル106を利用して行う。
【0019】
メモリ108は、例えばフラッシュメモリなどの不揮発性の半導体メモリで構成され、電子カメラ101の動作に必要なパラメータが記憶される。制御部107は、これらのパラメータを参照して電子カメラ101の動作を制御する。尚、これらのパラメータは、操作部110を介して行われるユーザー操作に応じて適宜更新される。
【0020】
メモリカードIF109は、電子カメラ101にメモリカード109aを接続するためのインターフェースである。そして、制御部107はメモリカードIF109を介してメモリカード109aに画像データを読み書きする。
【0021】
操作部110は、電源ボタン110a、レリーズボタン110b、動作モード選択ダイヤル110c、カーソルボタン110d、水平・垂直補正ボタン111eなどで構成される。ユーザーは、これらの操作ボタンを操作して電子カメラ101を使用する。例えば動作モード選択ダイヤル110cでは、静止画撮影モード、動画撮影モード、或いは撮影済みの画像の再生モードなどを選択する。また、カーソルボタン110dでは、表示部105に表示されたメニュー画面の操作などをタッチパネル106と並行して行う。特に本実施形態では、水平・垂直補正ボタン111eが押下されると、制御部107および画像処理部104は、表示部105に表示されている画像を回転して、画像内の被写体が水平または垂直になるように補正する処理を行う。
【0022】
以上が電子カメラ101の構成および基本動作である。尚、電子カメラ101ではなく、本発明に係る単体の画像処理装置の場合は、図1において、撮像部102および操作部110のレリーズボタン110bなどの撮像用のブロックを取り除いた構成でよい。そして、制御部107は画像処理装置の制御部に相当し、撮影済みの画像データをメモリカード109aから画像バッファ103に読み出して、画像処理部104で画像の回転処理、トリミング処理、画像サイズ調整処理などを行う。
【0023】
[画像処理部104の構成例]
次に、画像処理部104について詳しく説明する。画像処理部104は、先に説明したように、ホワイトバランス処理や色補間処理などの一般的な画像処理に加えて、表示部105に表示されている画像を回転する処理を行う。尚、この処理は、操作部110の水平・垂直補正ボタン111eが押下された場合に、制御部107から画像処理部104に回転処理を指令する。
【0024】
図2は、画像処理部104が行う画像の回転処理に関係する処理ブロックを示した図である。尚、図2では、わかり易いように、一般的な画像処理を行うブロックは省略してある。
【0025】
図2において、画像処理部104は、基準軸設定処理部201と、回転方向設定処理部202と、回転処理部203と、トリミング処理部204とで基本的に構成される。さらに、後で説明するように、画像サイズ調整処理部205を設けても構わない。以下、図3を参照して各処理について説明する。
【0026】
基準軸設定処理部201は、表示部105の画面105aに表示された画像300を回転する際に、水平または垂直に合わせようとする基準軸を設定する処理を行う。例えば図3(a)は、表示部105の画面105aに表示された撮影済みの画像300の例を示し、被写体301の人物が左に傾いて撮影されている。そして、基準軸設定処理部201は、ユーザーが表示部105の画面105a上を指でなぞった部分に直線Aを描画し、図3(b)に示すように、この直線Aを基準軸として設定する。
【0027】
回転方向設定処理部202は、基準軸となる直線Aが描かれた画面105aに、回転方向を設定する処理を行う。例えば図3(c)に示すように、直線Aが描かれた画面105a上をユーザーが指でなぞった部分に直線Bを回転ベクトルとして設定する。
【0028】
回転処理部203は、回転ベクトルとなる直線Bが設定された画面105a内で、画像300を回転する処理を行う。例えば図3(d)に示すように、直線Aが描かれた画像300は、直線Aが画面105aに対して垂直になるように回転される。ここで、回転処理部203は、直線Aを直近の水平または垂直の位置に自動的に合わせるものとする。また、直線Aを画面105aに対して垂直にする処理は、例えば図3(c)および図3(d)に示すように、画面105aおよび画像300の画素座標から、直線Aと画面105aの垂直方向との角度θが判るので、周知のアフィン変換などの座標回転計算を行うことにより、回転後の画像を得ることができる。
【0029】
トリミング処理部204は、回転後の画像300は画面105aからはみ出した部分があるので、画面105aと水平および垂直が平行になるように画像300をトリミングして画像302を作成する。尚、トリミングは、画像302ができるだけ大きくなるように矩形上に画像300をトリミングする。トリミング方法の一例として、例えば、画像302が画面105aと同じアスペクト比の矩形領域とした場合、図3(e)に示すように、直線Aの中点を基準に矩形領域の4つの角を広げて行った時に画像302の4つの角のいずれかが画像300の辺に突き当たった状態がトリミングの最大サイズとなる。このようにして、図3(f)に示すようなトリミング後の画像302を得ることができる。
【0030】
画像サイズ調整処理部205は、トリミング後の画像302を撮影済みの画像300と同じサイズに拡大する処理を行う。トリミング後の画像302は、図3(f)に示すように、画面105aより小さい画像になっているので、メモリカード109aに記憶されている他の撮影済みの画像と画像のサイズが異なってしまう。そこで、画像サイズ調整処理部205は、図3(g)に示すように、画像300と同じサイズになるように画像302に対して拡大処理を行って拡大後の画像303を作成する。尚、拡大処理は、例えば1画素を縦横2画素に置き換えたり、画素補間などの方法で行うことができる。
【0031】
尚、図3(c)の説明では、回転ベクトルは直線Bの方向だけで決まり、図3(d)に示すように、回転処理部203は直線Aが直近の画面105aの水平または垂直に合うように回転処理を行うものとしたが、直線Bの代わりに、図4(a)に示すように、2方向を示す2つの直線を組み合わせた線Cを回転方向として入力できるようにしても構わない。この場合は、一旦、図3(c)に示すように直線Aを画面105aの垂直方向に合わせた後、さらに同じ方向(図3の場合は時計回り)に回転させて、図4(b)に示すように、画面105aの水平方向に合わせる。尚、線Cを3方向を示す3つの直線を組み合わせて、さらに大きな回転角度を指定できるようにしてもよい。或いは、図4(d)に示すように、曲線Dや曲線Eで指定するようにしてもよい。この場合は、曲線Dや曲線Eの長さなどで回転角度を指定できる。
【0032】
また、図3(d)の回転処理では、図5(a)に示すように、直線Aの中点を中心に回転するようにしたが、図5(b)に示すように回転の中心を移動できるようにしてもよい。この場合は、図3(b)の直線Aの設定時に、図5(a)に示すように中心点311を画面105aに表示し、例えば操作部110のカーソルボタン110dによって中心311の位置を直線Aに沿って移動できるようにしてもよい。例えばカーソルボタン110dの下矢印キーを押下すると、図5(b)に示すように中心311が直線Aの下方に移動する。同様に、カーソルボタン110dの上矢印キーを押下すれば、中心311を直線Aの上方に移動することもできる。或いは、図5(c)に示すように、ユーザーの人差し指312を中心311に固定し、中指313で画面105a上をコンパスのように回転させて回転ベクトルを入力するようにしてもよい。
【0033】
このようにして、本実施形態に係る電子カメラ101は、図3(a)のように、斜めに撮影された被写体301を図3(f)および図3(g)に示すように画面105aに対して水平または垂直に回転する補正を行うことができる。
【0034】
[水平・垂直補正処理]
次に、水平・垂直補正処理について図6のフローチャートを用いて説明する。
【0035】
(ステップS101)ユーザーは、電子カメラ101を用いて撮影した画像またはメモリカード109aから読み出した画像を表示部105に表示する。
【0036】
(ステップS102)ユーザーが操作部110の水平・垂直補正ボタン111eを押下すると、制御部107および画像処理部104は水平・垂直補正処理を開始する。
【0037】
(ステップS103)制御部107は、タッチパネル106から入力される座標情報に応じて直線Aを描画するよう画像処理部104に指令する。そして、画像処理部104の基準軸設定処理部201は、制御部107から入力する座標情報に従って基準軸を設定する処理を行う。例えば、基準軸設定処理部201は、先に説明した図3(b)のように、ユーザーがタッチパネル106で入力した直線Aを画面105aの画像300上に描画する。
【0038】
(ステップS104)制御部107は、ユーザーによる直線Aの入力および画像処理部104による設定が完了したか否かを判別し、完了していない場合はステップS103に戻り、完了した場合は次のステップに進む。
【0039】
(ステップS105)制御部107は、タッチパネル106から入力される座標情報に応じて直線Bを入力し、回転ベクトルを設定するよう画像処理部104に指令する。そして、画像処理部104の回転方向設定処理部202は、制御部107から入力する座標情報に従って回転ベクトルを設定する処理を行う。例えば、回転方向設定処理部202は、先に説明した図3(c)のように、ユーザーがタッチパネル106で入力した直線Bを回転ベクトルとする。
【0040】
尚、直線Bは、画面105aの画像300上に描画してもよいが、直線Bの設定終了と同時に次のステップS106とステップS107とが連続して直ぐに実行されるので、直線Bの描画を行わなくても構わない。或いは、ユーザーが直線Bを確認できるように、所定時間(例えば1秒間)だけ直線Bを表示した後、次のステップS106およびステップS107に進むようにしても構わないし、直線Bを表示したまま後の処理を行うようにしても構わない。いずれの場合でも、直線Aや直線Bは画像300の画像データを書き換えるのではなく、画面105aに表示する際の表示用のデータ上に書き加えられるので、メモリカード109aに保存するときに直線Aや直線Bが残ることはない。
【0041】
(ステップS106)制御部107は、ユーザーによる直線Bの入力および画像処理部104による設定が完了したか否かを判別し、完了していない場合はステップS105に戻り、完了した場合は次のステップに進む。
【0042】
(ステップS107)画像処理部104の回転処理部203は、設定された直線Aを基準に直線Bの回転ベクトルに従って表示部105に表示されている画像300を回転する処理を行う。この状態で、先に説明した図3(d)の回転後の画像300が得られる。
【0043】
(ステップS108)画像処理部104のトリミング処理部204は、回転後の画像のトリミング処理を行う。例えば、トリミング処理部204は、先に説明した図3(e)のようなトリミング処理を行い、図3(f)に示すようなトリミング後の画像302が得られる。
【0044】
(ステップS109)画像処理部104の画像サイズ調整処理部205は、トリミング後の画像を撮影後の画像と同じサイズ(同じ画素数)の画像になるように拡大する処理を行う。例えば、画像サイズ調整処理部205は、先に説明した図3(g)のように、トリミング後の画像302を撮影時の画像300と同じサイズになるように拡大処理を行い、拡大後の画像303が得られる。尚、本処理を行わずに次の保存処理を行うようにしても構わない。
【0045】
(ステップS110)制御部107は、画像バッファ103に記憶されている画像処理部104が処理後の画像をメモリカードIF109を介してメモリカード109aに保存する。例えば、ステップS109の拡大処理を行わない場合は、図3(f)のトリミング後の画像302の画像データをメモリカード109aに保存し、ステップS109の拡大処理を行う場合は、図3(g)の拡大後の画像303の画像データをメモリカード109aに保存する。
【0046】
このようにして、本実施形態に係る電子カメラ101は、図3(a)のように、斜めに撮影された被写体301を図3(f)および図3(g)に示すように画面105aに対して水平または垂直に回転する補正を行うことができる。
【0047】
(変形例)
次に、先に説明した図1の電子カメラ101の変形例として、図7の電子カメラ101aについて説明する。尚、図7において、図1と同符号のものは同じものを示す。図7において、図1と異なるのは、ジャイロセンサ112が追加されていることである。ジャイロセンサ112は、加速度を感知するセンサで、電子カメラ101の筐体の傾き角度を検出するセンサである。特に本実施形態に係る電子カメラ101では、ジャイロセンサ112は、表示部105の表示面を含む二次元平面上の回転角度を検出する。
【0048】
ジャイロセンサ112が出力する傾き角度の情報は、図2で説明した画像処理部104の回転方向設定処理部202に出力される。そして、回転方向設定処理部202は、先の実施形態で説明した直線Bによる回転ベクトルの代わりにジャイロセンサ112の傾き角度の情報を利用する。
【0049】
次に、本変形例における電子カメラ101aの処理について説明する。図8は、図3に対応する図で、電子カメラ101aの筐体の表示部105側の様子を示した図である。例えば図8(a)は図3(a)に対応し、表示部105の画面105aに表示された撮影済みの画像300の例を示し、被写体301の人物が左に傾いて撮影されている。そして、基準軸設定処理部201は、ユーザーが表示部105の画面105a上を指でなぞった部分に直線Aを描画し、図8(b)に示すように、この直線Aを基準軸として設定する。基準軸の設定までの処理は、図3(b)と同じである。
【0050】
ここで、ユーザーは、回転方向設定処理部202に、回転方向を設定する操作を行う。例えば図8(c)に示すように、ユーザーは、画像300を回転したい方向に、電子カメラ101aの筐体を回転させる。ジャイロセンサ112は、この動きを検知して傾き角度の情報を回転方向設定処理部202に出力する。回転方向設定処理部202は、ジャイロセンサ112から入力する傾き角度の情報から例えば紙面の時計回りに傾いたことがわかるので回転ベクトルを時計回りに設定する。ここで、ジャイロセンサ112が出力する情報から回転方向がわかればよいので、正確な角度情報は不要である。
【0051】
そして、回転処理部203は、回転方向設定処理部202が設定した回転ベクトルに従って、画面105a内で画像300を回転する処理を行う。例えば図8(d)に示すように、直線Aが描かれた画像300は、直線Aが画面105aに対して垂直になるように回転される。ここで、回転処理部203は、図3の場合と同様に、直線Aを直近の水平または垂直の位置に自動的に合わせるものとする。尚、ジャイロセンサ112の傾き角度が予め設定した閾値以下の場合は直近の水平または垂直の位置に合わせ、閾値以上の場合はさらに次の水平または垂直の位置に合わせるようにしてもよい。
【0052】
また、図8(d)の回転終了後に、回転後の位置を確定する操作を行うようにしてもよい。例えば回転後にレリーズボタン110bの押下(或いは水平・垂直補正ボタン111eの押下)を行うことにより、回転位置を確定する。これにより、さらに回転処理を続けることが可能になる。例えば、ユーザーは図8(d)の状態から図8(c)のようにさらに電子カメラ101aの筐体を回転させることにより、画像300を時計回りや反時計回りに自由に回転させることができる。そして、気に入った位置で、レリーズボタン110bの押下(或いは水平・垂直補正ボタン111eの押下)を行うことにより、回転位置を確定する。
【0053】
尚、回転方向設定処理部202がジャイロセンサ112の傾き角度から回転ベクトルを設定する際に、ジャイロセンサ112の角度変化が予め設定した閾値以上の場合だけ回転ベクトルとして認識するようにしてもよい。これにより、ユーザーが手持ちの電子カメラ101aが緩やかに動いている場合の誤動作を防止できる。
【0054】
そして、回転処理が終了後、トリミング処理部204は、図3(e)と同様に、回転後の画像300の画面105aからはみ出した部分をトリミングする処理を行い、図8(e)に示すようなトリミング後の画像302を作成する。尚、トリミング方法については、先に説明した通りである。また、電子カメラ101aの設定により、画像サイズ調整処理部205は、トリミング後の画像302を撮影時の画像300と同じサイズに拡大する処理を行って、図8(f)に示すように、拡大後の画像303を作成してもよい。
【0055】
このようにして、本変形例に係る電子カメラ101aは、図8(a)のように、斜めに撮影された被写体301を図8(e)および図8(f)に示すように画面105aに対して水平または垂直に回転する補正を行うことができる。特に本変形例では、回転方向の指定を電子カメラ101aの筐体を傾ける操作によって行うので、感覚的に利用することができる。
【0056】
次に、変形例に係る電子カメラ101aの水平・垂直補正処理について図9のフローチャートを用いて説明する。尚、図9のフローチャートは、先に説明した図6に対応する図で、同じステップ番号は同じ処理を示す。以下、図6と異なる部分についてのみ説明する。図9において、ステップS101からステップS103までの基準軸を設定するまでの処理は図6と同じである。
【0057】
(ステップS201)ユーザーは、表示部105の画面105aに表示されている画像を回転させたい方向に電子カメラ101aの筐体を回転させる。そして、ジャイロセンサ112が筐体の回転を検出した場合は次のステップに進み、筐体の回転を検出しない場合はステップS201で待機する。
【0058】
(ステップS202)画像処理部104の回転方向設定処理部202は、ジャイロセンサ112から入力する傾き角度の情報に従って回転ベクトルを設定する処理を行う。尚、本処理は、図6のステップS105に対応する処理である。
【0059】
次のステップS107の処理は、図6と同じ処理で、画像処理部104の回転処理部203は、設定された直線Aを基準に回転ベクトルに従って表示部105に表示されている画像300を回転する処理を行う。この状態で、先に説明した図8(d)の回転後の画像300が得られる。
【0060】
(ステップS203)制御部107は、ジャイロセンサ112が筐体の傾きを検出したか否かを判別する。そして、ジャイロセンサ112が筐体の傾きを検出した場合は、ステップS202に戻って再び回転処理を行い、ジャイロセンサ112が筐体の傾きを検出していない場合は、次のステップに進む。
【0061】
(ステップS204)制御部107は、回転後の位置を確定するために、ユーザーが操作部110のレリーズボタン110bを押下したか否かを判別する。尚、ここでは、レリーズボタン110bの押下により、回転後の位置を確定するものとするが、水平・垂直補正ボタン111eの押下により回転後の位置を確定するようにしてもよい。この場合は、本処理ステップで水平・垂直補正ボタン111eが押下されたか否かの判別を行う。そして、レリーズボタン110bが押下された場合は次のステップに進み、押下されていない場合はステップS203に戻って、連続して回転するか否かの判別処理を行う。尚、連続して回転する処理を行わない場合は、ステップS203およびステップS204の処理は不要である。
【0062】
(ステップS205)制御部107は、画像処理部104に回転後の位置確定の指令を出力し、画像処理部104は回転後の位置を確定する。
【0063】
回転後の位置が確定すると、図6と同様にステップS108のトリミング処理を行い、さらに画像サイズを調整する場合は、ステップS109で画像サイズの拡大処理を行う。そして、ステップS110で、制御部107は、画像バッファ103に記憶されている画像処理部104が処理後の画像をメモリカードIF109を介してメモリカード109aに保存する。例えば、ステップS109の拡大処理を行わない場合は、図8(e)のトリミング後の画像302の画像データをメモリカード109aに保存し、ステップS109の拡大処理を行う場合は、図8(f)の拡大後の画像303の画像データをメモリカード109aに保存する。
【0064】
このようにして、本変形例に係る電子カメラ101aは、図8(a)のように、斜めに撮影された被写体301を図8(e)および図8(f)に示すように画面105aに対して水平または垂直に回転する補正を行うことができる。特に本変形例では、回転方向の指定を電子カメラ101aの筐体を傾ける操作によって行うので、感覚的に利用することができる。
【0065】
尚、上記の実施形態では、本発明を電子カメラ101および電子カメラ101aに適用する場合について説明したが、単体の画像処理装置の場合は、図1または図7において、撮像部102および操作部110のレリーズボタン110bなどの撮像用のブロックを取り除いた構成でよい。そして、制御部107は画像処理装置の制御部に相当し、撮影済みの画像データをメモリカード109aから画像バッファ103に読み出して、画像処理部104で画像の回転処理、トリミング処理、画像サイズ調整処理などを行う。
【0066】
また、図6のフローチャートおよび図9のフローチャートに従った処理を行う画像プログラムを記憶した記憶媒体やインターネット等の通信媒体を介してダウンロードした画像処理プログラムをパソコンなどのコンピュータにインストールして実行するようにしてもよい。このようにパソコンで処理を行う場合は、例えば図1のタッチパネル106ではなくマウスなどのポインティングデバイスを用いて基準軸や回転ベクトルの設定を行うことができる。例えば図10(a)に示すように、パソコンのモニタの画面105a上に表示されたマウスのカーソル401で基準軸となる直線Aを引いたり(図10(a))、回転ベクトルとなる直線Bを引くことができる(図10(b))。或いは、回転ベクトルは、図10(c)に示すように、マウス402自体を右方向や左方向に動かすことによって指定することができる。尚、トリミングや画像サイズの拡大などの処理は、電子カメラ101や電子カメラ101aの場合と同じである。
【0067】
このように、各実施形態に係る電子カメラ101および電子カメラ101a、或いは撮像部102を持たない専用の画像処理装置やパソコンなどのコンピュータで実行する画像処理プログラムは、撮影済みの画像に対して、表示部105の画面上で任意に基準軸となる直線を設定して表示し、その直線が画面の各辺に対して垂直又は水平になるように表示された画像を回転し、画面の各辺と平行になるように矩形状に画像をトリミングする。これにより、画面の各辺に対して斜めに撮影された画像を水平または垂直になるように画像を回転して補正することことができ、撮影時に被写体が水平になっているか或いは垂直になっているかに気を使うことなく気軽に撮影することができる。
【0068】
以上、本発明に係る電子カメラ、画像処理装置および画像処理プログラムについて、各実施形態で例を挙げて説明してきたが、その精神またはその主要な特徴から逸脱することなく他の多様な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明は、特許請求の範囲によって示されるものであって、本発明は明細書本文にはなんら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【符号の説明】
【0069】
101・・・電子カメラ;102・・・撮像部;103・・・画像バッファ;104・・・画像処理部;105・・・表示部;106・・・タッチパネル;107・・・制御部;108・・・メモリ;109・・・メモリカードIF;110・・・操作部;111・・・共通バス;201・・・基準軸設定処理部;202・・・回転方向設定処理部;203・・・回転処理部;204・・・トリミング処理部;205・・・画像サイズ調整処理部;112・・・ジャイロセンサ;110a・・・電源ボタン;110b・・・レリーズボタン;110c・・・動作モード選択ダイヤル;110d・・・カーソルボタン;111e・・・水平・垂直補正ボタン
【特許請求の範囲】
【請求項1】
(基本クレーム)
被写体画像を撮影する撮影部と、
前記撮影部が撮影した画像を表示するための方形状の表示面を有する表示部と、
前記表示部に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定部と、
前記表示部に表示された画像の回転方向を指示する回転方向指示部と、
前記基準軸が前記表示部の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転部と、
を有することを特徴とする電子カメラ。
【請求項2】
請求項1に記載の電子カメラにおいて、
前記画像回転部が回転後の画像をトリミングするトリミング部と、
前記トリミング部がトリミング後の画像を記憶媒体に記録する記録部と
を更に設けたことを特徴とする電子カメラ。
【請求項3】
(トリミング後の画像サイズ調整)
請求項2に記載の電子カメラにおいて、
前記トリミング部がトリミング後の画像のサイズを前記撮影部が撮影した画像と同サイズに調整する画像サイズ調整部を更に設けたことを特徴とする電子カメラ。
【請求項4】
(タッチパネル)
請求項1から3のいずれか一項に記載の電子カメラにおいて、
前記基準軸および前記回転方向を設定するためのタッチパネルを前記表示部に更に設けたことを特徴とする電子カメラ。
【請求項5】
(パソコンなどの画像処理装置クレーム)
記憶媒体に記憶された画像を表示するための方形状の表示面を有する表示部と、
前記表示部に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定部と、
前記表示部に表示された画像の回転方向を指示する回転方向指示部と、
前記基準軸が前記表示部の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転部と
を有することを特徴とする画像処理装置。
【請求項6】
請求項5に記載の画像処理装置において、
前記画像回転部が回転後の画像をトリミングするトリミング部を更に設けたことを特徴とする画像処理装置。
【請求項7】
(マウス対応)
請求項5または6に記載の画像処理装置において、
前記基準軸および前記回転方向を設定するためのポインティング部を更に設けたことを特徴とする画像処理装置。
【請求項8】
(プログラムクレーム)
方形状の表示面を有する表示媒体に記憶媒体に記憶された画像を表示するための表示する画像表示処理と、
前記表示媒体に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定処理と、
前記表示媒体に表示された画像の回転方向を指示する回転方向指示処理と、
前記基準軸が前記表示媒体の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転処理と
を有することを特徴とするコンピュータで実行可能な画像処理プログラム。
【請求項1】
(基本クレーム)
被写体画像を撮影する撮影部と、
前記撮影部が撮影した画像を表示するための方形状の表示面を有する表示部と、
前記表示部に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定部と、
前記表示部に表示された画像の回転方向を指示する回転方向指示部と、
前記基準軸が前記表示部の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転部と、
を有することを特徴とする電子カメラ。
【請求項2】
請求項1に記載の電子カメラにおいて、
前記画像回転部が回転後の画像をトリミングするトリミング部と、
前記トリミング部がトリミング後の画像を記憶媒体に記録する記録部と
を更に設けたことを特徴とする電子カメラ。
【請求項3】
(トリミング後の画像サイズ調整)
請求項2に記載の電子カメラにおいて、
前記トリミング部がトリミング後の画像のサイズを前記撮影部が撮影した画像と同サイズに調整する画像サイズ調整部を更に設けたことを特徴とする電子カメラ。
【請求項4】
(タッチパネル)
請求項1から3のいずれか一項に記載の電子カメラにおいて、
前記基準軸および前記回転方向を設定するためのタッチパネルを前記表示部に更に設けたことを特徴とする電子カメラ。
【請求項5】
(パソコンなどの画像処理装置クレーム)
記憶媒体に記憶された画像を表示するための方形状の表示面を有する表示部と、
前記表示部に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定部と、
前記表示部に表示された画像の回転方向を指示する回転方向指示部と、
前記基準軸が前記表示部の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転部と
を有することを特徴とする画像処理装置。
【請求項6】
請求項5に記載の画像処理装置において、
前記画像回転部が回転後の画像をトリミングするトリミング部を更に設けたことを特徴とする画像処理装置。
【請求項7】
(マウス対応)
請求項5または6に記載の画像処理装置において、
前記基準軸および前記回転方向を設定するためのポインティング部を更に設けたことを特徴とする画像処理装置。
【請求項8】
(プログラムクレーム)
方形状の表示面を有する表示媒体に記憶媒体に記憶された画像を表示するための表示する画像表示処理と、
前記表示媒体に表示された画像に対して水平または垂直を示す基準軸を設定する基準軸設定処理と、
前記表示媒体に表示された画像の回転方向を指示する回転方向指示処理と、
前記基準軸が前記表示媒体の方形状の表示面の辺に対して水平または垂直になるように前記画像を前記回転方向に回転させる画像回転処理と
を有することを特徴とするコンピュータで実行可能な画像処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2012−156628(P2012−156628A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−11944(P2011−11944)
【出願日】平成23年1月24日(2011.1.24)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願日】平成23年1月24日(2011.1.24)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]