(57)【要約】【課題】  傾いて撮像された被写体を含む画像を被写体が水平、または垂直になるように回転させること。【解決手段】  ＣＰＵ１０４は、モニタ１０５に表示した画像上で使用者によってマウス１０１を使用して指定された２点に基づいて本来画像上で水平または垂直となるべき直線を特定し、当該直線が画像内で水平または垂直方向を向くように画像を回転させる。回転結果は、使用者が直接回転角度、および方向を修正して微調整することができる。【選択図】      図１
2006146393.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実行するための画像処理プログラムであって、
画像をモニタに表示する表示処理と、
前記モニタに表示された画像の回転角度および回転方向の入力を促す入力促進処理と、
前記モニタに表示された画像上に直線を描画する描画処理と、
前記描画処理で描画された直線に基づいて、前記直線が画像内で水平もしくは垂直方向に向くように画像の回転角度および回転方向を算出する算出処理と、
前記入力促進処理にしたがって使用者によって入力された画像の回転角度と回転方向、および前記算出処理で算出された画像の回転角度と回転方向のうち、使用者に選択されたいずれか一方に基づいて画像を回転させる回転処理とを有することを特徴とする画像処理プログラム。
【請求項２】
請求項１に記載の画像処理プログラムにおいて、
前記算出処理で算出された画像の回転角度と回転方向に基づいて画像を回転させた後に、前記入力促進処理にしたがって使用者によって入力された画像の回転角度と回転方向とに基づいて、画像の回転角度、および回転方向を修正する修正処理をさらに有することを特徴とする画像処理プログラム。
【請求項３】
請求項１または２に記載の画像処理プログラムにおいて、
前記算出処理は、前記描画処理で描画された直線の画像上の水平方向に対する角度、および垂直方向に対する角度を算出し、算出した角度が小さい方向へその角度分画像を回転させるように回転角度、および回転方向を算出し、前記描画処理で描画された直線の画像上の水平方向に対する角度と、垂直方向に対する角度とが等しいときは、使用者によって指定された方向へその角度分画像を回転させるように回転角度、および回転方向を算出することを特徴とする画像処理プログラム。
【請求項４】
請求項１〜３のいずれか一項に記載の画像処理プログラムにおいて、
前記描画処理は、使用者によって画像上に指定された２点を結んで直線を描画することを特徴とする画像処理プログラム。
【請求項５】
請求項４に記載の画像処理プログラムにおいて、
前記描画処理は、使用者によって画像上に１点目が指定された場合、１点目を基準点として、水平、および垂直方向に所定角度の範囲内でのみ２点目を指定できるようにすることを特徴とする画像処理プログラム。
【請求項６】
請求項１〜５のいずれか一項に記載の画像処理プログラムを実行するためのプログラム実行手段と、
画像を表示するためのモニタとを備えることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを処理するための画像処理プログラム、および画像処理プログラムを実行して画像を表示するための画像処理装置に関する。
【背景技術】
【０００２】
使用者によって画像上に設定された２点を結ぶ直線の傾きに基づいて画像の傾きを算出し、算出した傾きに相当する角度だけ画像を回転させて、画像の歪みを補正する画像処理装置が特許文献１によって知られている。
【０００３】
【特許文献１】特開平８−１６１４２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の装置においては、必ず画像上に２点を設定して画像を回転させなければならないため、使用者は補正結果に満足するまで当該操作を繰り返さなければならず、操作が面倒であるという問題が生じていた。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、コンピュータで実行するための画像処理プログラムであって、
画像をモニタに表示する表示処理と、モニタに表示された画像の回転角度および回転方向の入力を促す入力促進処理と、モニタに表示された画像上に直線を描画する描画処理と、描画処理で描画された直線に基づいて、直線が画像内で水平もしくは垂直方向に向くように画像の回転角度および回転方向を算出する算出処理と、入力促進処理にしたがって使用者によって入力された画像の回転角度と回転方向、および算出処理で算出された画像の回転角度と回転方向のうち、使用者に選択されたいずれか一方に基づいて画像を回転させる回転処理とを有することを特徴とする。
請求項２に記載の発明は、請求項１に記載の画像処理プログラムにおいて、前記算出処理で算出された画像の回転角度と回転方向に基づいて画像を回転させた後に、入力促進処理にしたがって使用者によって入力された画像の回転角度と回転方向とに基づいて、画像の回転角度、および回転方向を修正する修正処理をさらに有することを特徴とする。
請求項３に記載の発明は、請求項１または２に記載の画像処理プログラムにおいて、算出処理は、描画処理で描画された直線の画像上の水平方向に対する角度、および垂直方向に対する角度を算出し、算出した角度が小さい方向へその角度分画像を回転させるように回転角度、および回転方向を算出し、描画処理で描画された直線の画像上の水平方向に対する角度と、垂直方向に対する角度とが等しいときは、使用者によって指定された方向へその角度分画像を回転させるように回転角度、および回転方向を算出することを特徴とする。
請求項４に記載の発明は、請求項１〜３のいずれか一項に記載の画像処理プログラムにおいて、描画処理は、使用者によって画像上に指定された２点を結んで直線を描画することを特徴とする。
請求項５に記載の発明は、請求項４に記載の画像処理プログラムにおいて、描画処理は、使用者によって画像上に１点目が指定された場合、１点目を基準点として、水平、および垂直方向に所定角度の範囲内でのみ２点目を指定できるようにすることを特徴とする。
請求項６に記載の画像処理装置は、請求項１〜５のいずれか一項に記載の画像処理プログラムを実行するためのプログラム実行手段と、画像を表示するためのモニタとを備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、使用者によって入力された画像の回転角度と回転方向、および画像上に描画された直線に基づいて、直線が画像内で水平もしくは垂直方向に向くように算出した画像の回転角度と回転方向のうち、使用者に選択されたいずれか一方に基づいて画像を回転させることとした。これによって使用者は回転させたい対象画像に応じた最適な回転方法を選択することができる。
【発明を実施するための最良の形態】
【０００７】
図１は、本実施の形態における画像処理装置の一実施の形態の構成を示すブロック図である。画像処理装置１００は、使用者によって操作されるマウス１０１と、後述する画像処理の対象となるデジタルカメラ等で撮像された画像データ、および画像処理プログラムを保存するＨＤＤ１０２と、画像処理プログラムを実行するための作業エリアとなるメモリ１０３と、画像処理プログラムを実行するＣＰＵ１０４と、ＨＤＤ１０２に格納された画像データ、および画像処理プログラムによって表示される各種メニュー画面や設定画面を表示するためのモニタ１０５とを備えている。
【０００８】
本実施の形態における画像処理装置１００では、使用者によって撮像された画像内の被写体が、本来は画像内で水平、もしくは垂直であるべきところ、例えばカメラが傾いた状態で撮像された場合など、被写体が使用者の意図に反して傾いて撮像されていた場合に、被写体が水平、もしくは垂直方向を向くように画像を回転させる。例えば、図２に示すような鉄橋を被写体として撮像した画像において、本来は鉄橋の線路部分が画像内で水平になるように撮像したかったにも関わらず、角度θだけ右上がりに傾いて撮像されてしまった場合に、使用者はモニタ１０５上にメニューを呼び出して、画像回転処理の実行を指示する。
【０００９】
使用者によって画像回転処理の実行が指示されると、ＣＰＵ１０４はモニタ１０５に図３に示す画像回転画面を表示する。画像回転画面においては、後述するように使用者は回転角度入力欄３ａ、および回転方向指定欄３ｂに直接回転角度、および回転方向を指定して画像を回転することができる。また、使用者は基準線設定ボタン３ｅを押下して、画像上の被写体に本来水平、もしくは垂直であるべき部分を示す線分を基準線として入力して、当該線分が水平、もしくは垂直方向を向くように画像を回転することもできる。
【００１０】
使用者は上述したいずれの方法で画像を回転させるかを決定して画像の回転を行うことができ、回転した画像に対してさらに上述したいずれかの方法を使用して再回転することができる。以下の説明では使用者はまず基準線設定ボタン３ｅを押下して画像上に基準線を指定し、当該基準線に基づいた画像の回転を実行する。その後、回転角度入力欄３ａ、および回転方向指定欄３ｂに直接回転角度、および回転方向を指定して、基準線に基づいた画像の回転結果を微調整する方法について説明する。なお、以下の説明においては、図２に示した鉄橋の線路部分が画像内で水平になるように画像を時計回りに回転角度θだけ回転させる場合について説明する。
【００１１】
使用者によって基準線設定ボタン３ｅが押下されると、モニタ１０５に表示された画像上にマウス１０１を用いて基準線を決定するための２点が設定可能となる。使用者は、マウス１０１を使用して図４に示すように本来水平、もしくは垂直の位置関係となるべき２点、例えば点２ａと点２ｂとを指定する。この場合、使用者によってまず点２ａがマウスをクリックして指定されると、点２ａを始点とし、マウスのカーソル位置を終点とする直線が画像上に表示され、直線の終点はマウスカーソルの移動と共に移動する。そして、使用者が次にマウスをクリックして点２ｂを指定すると、そのときに表示されていた直線、すなわち点２ａと点２ｂとを結ぶ直線２ｃが画像上に描画される。ＣＰＵ１０４は、この点２ａと点２ｂとを結ぶ直線２ｃを本来画像内で水平もしくは垂直となるべき線分であると特定して、当該線分２ｃを基準線として決定する。
【００１２】
このとき、マウスカーソルの移動と共に移動する直線、および基準線２ｃの表示色は、固定の色とせず、線が引かれる周辺の色と対比してコントラストの高い色を選択する。たとえばＲＧＢ各８ビットで構成される画像において、線上に位置する画素の元のＲＧＢレベルがそれぞれｒ１、ｇ１、ｂ１である場合、これらの値が１２８以上であればそれぞれに１２８を減算し、１２８未満であればそれぞれに１２８を加算することによって表示色を決定する。
【００１３】
また、使用者によって点２ａが指定されると、点２ａを基準点として、水平、および垂直方向に±１０度の範囲内でしか点２ｂを指定できないように、点２ｂの指定範囲を制限する。これは、一般的に撮像時に発生する使用者の意図しないカメラの傾きは、左右それぞれに１０度以内であることを考慮して、それ以上の角度で水平または垂直としたい被写体を示す線分が指定されることは稀であるためである。これによって、使用者が誤って一般的には考えられない位置関係（角度）で２点を指定することを防ぐことができる。
【００１４】
次に、回転角度と回転方向を決定する。回転角度は、図５に示すように、基準線２ｃを斜辺とする直角三角形を作成し、点２ａの角度を算出する。すなわち、図５（ａ）に示す直角三角形における点２ａの角度θ１を、次式（１）により算出する。
θ１＝ｔａｎ−１（ｄｖ／ｄｈ）・・・（１）
また、図５（ｂ）に示す直角三角形における点２ａの角度θ２を、次式（２）により算出する。
θ２＝ｔａｎ−１（ｄｈ／ｄｖ）・・・（２）
【００１５】
そして、式（１）、および（２）で算出した点２ａの角度θ１、およびθ２のうち、小さい方を回転角度θとして決定し、決定した回転角度θを０度にする方向へ、画像の表示サイズ、および画像の縮尺を保持したまま回転角度θだけ回転する。すなわち、基準線２ｃを画像上における水平方向もしくは垂直方向のいずれか近い方向に一致するように画像を回転する。したがって、図４に示した例においては、矢印２ｄに示すように時計回りに回転角度をθとして画像を回転させて、図６に示すように画像の表示サイズ、および画像の縮尺を保持したまま線路部分を水平に修正した画像を得る。なお、画像の傾きが１０度以上の場合に備えて、前述の±１０度の指定制限を解除することも可能である。
【００１６】
この場合において、式（１）、および（２）の算出結果が両方とも４５度で一致した場合には、回転方向を決定することができないため、この場合には、図７に示すように基準線２ｃと、基準線２ｃの垂直２等分線６ａによって（ａ）〜（ｄ）の４つの領域に分割する。そして、使用者に（ａ）〜（ｄ）の領域のうち、いずれか１つの領域の指定を促す。使用者によってマウス１０１を使用して（ａ）〜（ｄ）の領域のうち、いずれか１つの領域が指定されると、その指定された領域の方向へ画像を４５度回転させる。
【００１７】
すなわち、使用者が操作するマウス１０１のカーソル（マウスカーソル）の形状を以下の（１）〜（４）に示すように変更して使用者に領域の指定を促し、使用者によって指定された領域に基づいて、以下の（１）〜（４）に示すように画像を回転する。
（１）領域（ａ）が指定された場合
使用者によってマウス１０１が操作され、マウスカーソルが領域（ａ）内にあるときには、マウスカーソルの形状を図８（ａ）に示す形状に変化させて使用者に領域の指定を促すと同時に、領域（ａ）を指定することによって画像が時計回りに回転することを使用者に通知する。そして、使用者が領域（ａ）の範囲内でマウス１０１をクリックして領域（ａ）を指定した場合には、画像を時計回りに４５度回転して、基準線２ｃが画像上で水平方向を向くようにする。
【００１８】
（２）領域（ｂ）が指定された場合
使用者によってマウス１０１が操作され、マウスカーソルが領域（ｂ）内にあるときには、マウスカーソルの形状を図８（ｂ）に示す形状に変化させて使用者に領域の指定を促すと同時に、領域（ｂ）を指定することによって画像が反時計回りに回転することを使用者に通知する。そして、使用者が領域（ｂ）の範囲内でマウス１０１をクリックして領域（ｂ）を指定した場合には、画像を反時計回りに４５度回転して、基準線２ｃが画像上で垂直方向を向くようにする。
【００１９】
（３）領域（ｃ）が指定された場合
使用者によってマウス１０１が操作され、マウスカーソルが領域（ｃ）内にあるときには、マウスカーソルの形状を図８（ｃ）に示す形状に変化させて使用者に領域の指定を促すと同時に、領域（ｃ）を指定することによって画像が反時計回りに回転することを使用者に通知する。そして、使用者が領域（ｃ）の範囲内でマウス１０１をクリックして領域（ｃ）を指定した場合には、画像を反時計回りに４５度回転して、基準線２ｃが画像上で垂直方向を向くようにする。
【００２０】
（４）領域（ｄ）が指定された場合
使用者によってマウス１０１が操作され、マウスカーソルが領域（ｄ）内にあるときには、マウスカーソルの形状を図８（ｄ）に示す形状に変化させて使用者に領域の指定を促すと同時に、領域（ｄ）を指定することによって画像が時計回りに回転することを使用者に通知する。そして、使用者が領域（ｄ）の範囲内でマウス１０１をクリックして領域（ｄ）を指定した場合には、画像を時計回りに４５度回転する。これによって基準線２ｃが画像上で水平方向を向くようにする。
【００２１】
上述した処理によって画像を回転させた結果、点２ａおよび２ｂを指定した際にずれが生じており、水平または垂直にしたい被写体が使用者が満足する状態に回転されていない場合には、使用者は回転角度、および回転方向の微調整を行うことができる。使用者によって、微調整の実行が指示されると、図３により上述した画像回転画面をモニタ１０５に表示する。このとき画像回転画面の回転角度入力欄３ａには、上述した処理で画像を回転したときの回転角度が初期表示されており、また、回転方向指定欄３ｂには、上述した処理で画像を回転したときの回転方向が初期表示されている。使用者は回転角度入力欄３ａに表示された回転角度、および回転方向指定欄３ｂに表示された回転方向を修正することで、画像の回転角度、および回転方向を微調整することができる。
【００２２】
使用者によって画像の回転角度、および回転方向が修正され、ＯＫボタン３ｃが押下されると、画像の初期状態からの回転角度、および回転方向が使用者によって修正された回転角度、および回転方向になるように画像を再回転させた後に画像回転画面を閉じる。一方、使用者によってキャンセルボタン３ｄが押下された場合には、そのまま画像回転画面を閉じる。もし、使用者によって基準線設定ボタン３ｅが押下された場合には、上述した処理で回転した結果得られた画像に対して、再度、点２ａおよび点２ｂの指定を可能とし、水平または垂直としたい線分２ｃを決定して、上述したように画像を回転させる。
【００２３】
また、画像の表示サイズ、および画像の縮尺を保持したまま画像を回転させた後は、図９に示すように画像の四隅部分で画像の欠落が発生し、さらに余白が発生してしまう。すなわち、画像の回転によって欠落部９ａ、および余白部９ｂが発生する。本実施の形態においては、使用者によってこれらの欠落部９ａや余白部９ｂを修正する指示がなされた場合には、欠落部９ａや余白部９ｂをあらかじめ指定された以下の（Ａ）または（Ｂ）のいずれかの方法によって修正する。
【００２４】
（Ａ）画像の欠落部９ａの表示を優先して余白部９ｂの発生を許す方法
「画像の欠落部９ａの表示を優先して余白部９ｂの発生を許す方法」が指定された場合は、画像の表示サイズを保持したままの状態で、欠落部９ａに相当する部分の画像が全て表示されるように画像を縮小する。これによって、図１０に示すように、画像内における余白部９ｂが占める割合は大きくなるが、欠落部９ａの無い回転前の画像全体を含む画像を画像の表示サイズを保持したまま表示することができる。
【００２５】
（Ｂ）画像の余白部９ｂの削除を優先して欠落部ａの発生を許す方法
「画像の余白部９ｂの削除を優先して欠落部ａの発生を許す方法」が選択された指定は、画像の余白部９ｂを含まない最大サイズの長方形に画像を切り取り、切り取った長方形の画像を切り取り前の画像の表示サイズとなるように拡大する。これによって、図１１に示すように、切り取った長方形に含まれなかった部分の画像も余白部９ｂとともに削除されてしまい、画像の欠落面積は大きくなるが、余白部９ｂの無い画像を画像の表示サイズを保持したまま表示することができる。
【００２６】
図１２は、本実施の形態における画像処理装置１００による処理の流れを示すフローチャートである。なお、図１２に示す処理は、使用者によってモニタ１０５上に表示された画像に対する画像回転処理の実行が指示された場合にＣＰＵ１０４によって起動されるプログラムとして実行される。ステップＳ１０において、モニタ１０５に図３に示す画像回転画面を表示してステップＳ２０へ進む。ステップＳ２０では、画像回転画面において使用者によって基準線設定ボタン３ｅが押下されたか否かを判断する。基準線設定ボタン３ｅが押下されないと判断した場合には、ステップＳ３０へ進む。
【００２７】
ステップＳ３０では、使用者によって回転角度入力欄３ａ、および回転方向指定欄３ｂに回転角度、および回転方向が入力され、ＯＫボタン３ｃが押下されたか否かが判断される。肯定判定された場合には後述するステップＳ１２０へ進み、否定判定された場合にはステップＳ２０へ戻る。これに対して、基準線設定ボタン３ｅが押下されたと判断した場合には、ステップＳ４０へ進む。ステップＳ４０では、使用者によって画像上で水平、もしくは垂直となるべき基準線２ｃを決定するための１点目（点２ａ）が指定されたか否かを判断する。使用者によって１点目が指定されたと判断した場合には、ステップＳ５０へ進む。
【００２８】
ステップＳ５０では、使用者によって指定された１点目を基準点として、水平、および垂直方向に±１０度の範囲内でしか２点目（点２ｂ）を指定できないように、２点目の指定範囲を制限して、ステップＳ６０へ進む。ステップＳ６０では、使用者によって２点目が指定されたか否かを判断する。使用者によって２点目が指定されたと判断された場合にはステップＳ７０へ進み、上述したように、指定された１点目と２点目とによって決定される基準線２ｃに基づいて、式（１）および（２）により画像の回転角度、および回転方向を算出する。その後、ステップＳ８０へ進む。
【００２９】
ステップＳ８０では、±１０度の指定制限を解除した場合において、式（１）および（２）により算出した回転角度が共に４５度で等しいか否かを判断する。回転角度が４５度でないと判断した場合には、後述するステップＳ１２０へ進む。一方、回転角度が４５度であると判断した場合には、ステップＳ９０へ進む。ステップＳ９０では、上述したように使用者に回転方向を指定するための３点目の入力を促すために、図８に示すようにモニタ１０５におけるマウスカーソルの位置に応じて、表示するマウスカーソルを変更する。その後、ステップＳ１００へ進む。ステップＳ１００では、使用者によって３点目が指定されたか否かを判定する。使用者によって３点目が指定されたと判断した場合には、ステップＳ１１０へ進む。
【００３０】
ステップＳ１１０では、画像上における３点目の指定位置に基づいて画像の回転方向を決定する。その後、ステップＳ１２０へ進む。ステップＳ１２０では、上述した処理で算出した回転角度、および回転方向に基づいて、画像の表示サイズ、および画像の縮尺を保持したまま画像を回転させて、ステップＳ１３０へ進む。ステップＳ１３０では、回転後の画像に対して、使用者によって微調整が指示されたか否かを判断する。使用者によって微調整が指示されないと判断した場合には、後述するステップＳ１６０へ進む。これに対して、使用者によって微調整が指示されたと判断した場合には、ステップＳ１４０へ進む。
【００３１】
ステップＳ１４０では、ステップＳ１１０で回転したときの画像の回転角度、および回転方向を回転角度入力欄３ａ、および回転方向指定欄３ｂに初期表示した状態で画像回転画面をモニタ１０５に表示して、ステップＳ１５０へ進む。ステップＳ１５０では、使用者によって初期表示された回転角度、および回転方向が修正され、ＯＫボタン３ｃが押下されたか否かを判断する。肯定判定された場合には、ステップＳ１２０へ戻り、使用者によって修正された回転角度、および回転方向になるように、画像を再回転する。一方、否定判定された場合、すなわち使用者によって回転角度、および回転方向が修正されずにＯＫボタン３ｃが押下された場合、またはキャンセルボタン３ｄが押下された場合には、ステップＳ１６０へ進む。
【００３２】
ステップＳ１６０では、使用者によって画像の回転によって生じた欠落部９ａ、および余白部９ｂの修正が指示されたか否かを判定する。修正が指示されないと判断した場合にはそのまま処理を終了する。一方、修正が指示されたと判断した場合にはステップＳ１７０へ進む。ステップＳ１７０では、上述した「画像の欠落部９ａの表示を優先して余白部９ｂの発生を許す方法」、または「画像の余白部９ｂの削除を優先して欠落部ａの発生を許す方法」のうち、あらかじめ指定された方法によって画像を修正して、処理を終了する。
【００３３】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
（１）画像の回転を行うに当たって、画像回転画面を表示して使用者に２点によって決定される基準線に基づいて画像を回転する方法と、回転角度、および回転方向を直接入力する方法とを提供することとした。これによって使用者は画像内における被写体の傾き加減に応じて、最適な回転方法を選択することができる。
（２）基準線を指定して画像を回転した後に微調整を行う場合には、画像回転画面の回転角度入力欄３ａ、および回転方向指定欄３ｂに、基準線に基づいて画像を回転したときの
回転角度、および回転方向を初期表示して修正できるようにした。これによって、使用者は、まず基準線に基づいて画像を回転させた後、その回転結果に満足できない場合には、直前の回転結果を参考にしながら微調整を行うことができる。
【００３４】
（３）±１０度の指定制限を解除した場合において、使用者によって指定された２点（１点目と２点目）により決定した基準線２ｃ基づいて画像を回転するときに、式（１）および（２）で算出した画像の回転角度が共に４５度であった場合には、基準線２ｃと、基準線２ｃの垂直２等分線６ａによって分割される４つの領域のいずれか１つの領域内に３点目を指定させ、指定された３点目がどの領域内に存在するかを判断して、画像の回転方向を決定するようにした。これによって、基準線２ｃだけでは回転方向が決定できない場合でも、使用者は簡易な方法で回転方向を指定することができる。
（４）また、当該４つの領域のそれぞれに対応して、マウスカーソルの形状を画像の回転方向を表すように変更することとした。これによって、使用者は各領域にマウスカーソルを合わせるだけで、各領域に３点目を指定したときの画像の回転方向をあらかじめ認識することができる。
【００３５】
（５）使用者によって点２ａが指定されると、点２ａを基準点として、水平、および垂直方向に±１０度の範囲内でしか点２ｂを指定できないように、点２ｂの指定範囲を制限するようにした。これによって、一般的に撮像時に発生する使用者の意図しないカメラの傾きが左右それぞれに１０度以内であることを考慮して、使用者が誤って一般的には考えられない位置関係（角度）で２点を指定することを防ぐことができる。
（６）画像を表示サイズ、および画像の縮尺を保持したまま回転した結果発生する欠落部９ａ、および余白部９ｂを、あらかじめ設定された「画像の欠落部９ａの表示を優先して余白部９ｂの発生を許す方法」、または「画像の余白部９ｂの削除を優先して欠落部ａの発生を許す方法」によって修正することとした。これによって、画像の欠落部９ａを表示することを優先するか、または画像の余白部９ｂを削除することを優先するかを使用者の好みに合わせて選択して設定しておくことができる。
【００３６】
なお、上述した実施の形態の画像処理装置は、以下のように変形することもできる。
（１）上述した実施の形態では、使用者は画像上に２点（点２ａと点２ｂ）を指定し、点２ａと点２ｂとを結ぶ直線を基準線２ｃとする例について説明した。しかし、これに限定されず、使用者は画像上でマウスをドラッグして直線を描画してもよく、その他の方法で画像上に直線を描画してもよい。
【００３７】
（２）画像回転画面を表示している間は、画像上に格子状のグリッド線を重ねて表示してもよい。これによって、使用者は、回転角度入力欄３ａに回転角度を入力する際に、被写体の本来水平または垂直であるべき部分とグリッド線との位置を比較しながら角度を入力することができ、容易かつ正確に回転角度を指定することができる。
【００３８】
（３）上述した実施の形態では、±１０度の指定制限を解除した場合において、式（１）、および（２）の算出結果が両方とも４５度で一致した場合には、使用者によって指定された３点目の位置に基づいて画像の回転方向を決定する例について説明した。しかしこれに限定されず、使用者は基準線２ｃをマウスでドラッグして回転させたい方向へ回転させてもよく、その他の方法で回転させたい方向を指定してもよい。
【００３９】
（４）上述した実施の形態では、画像の回転によって生じた欠落部９ａ、および余白部９ｂを修正する場合には、「画像の欠落部９ａの表示を優先して余白部９ｂの発生を許す方法」、または「画像の余白部９ｂの削除を優先して欠落部ａの発生を許す方法」のうち、あらかじめ指定された方法によって画像を修正する例について説明した。しかし、どちらの方法で画像を修正するかを、画像修正時に任意に選択できるようにしてもよい。
【００４０】
（５）また、上述した「画像の欠落部９ａの表示を優先して余白部９ｂの発生を許す方法」、および「画像の余白部９ｂの削除を優先して欠落部ａの発生を許す方法」では、元の画像サイズを保持するように、それぞれ画像を縮小または拡大する例について説明したが、画像の倍率を保持し、縮小または拡大を行わないようにしてもよい。
【００４１】
（６）さらに、画像を修正する方法はこれに限定されず、例えば余白部９ｂと画像との境界付近を、周囲の画像色が徐々に薄くなっていくようにグラデーション処理してもよい。これによって自然かつ見栄えのよい画像を得ることが出来る。また、余白部９ｂを使用者が指定した色で塗りつぶすようにしてもよい。
【００４２】
（７）上述した実施の形態では、回転した画像に対して「画像の欠落部９ａの表示を優先して余白部９ｂの発生を許す方法」、および「画像の余白部９ｂの削除を優先して欠落部ａの発生を許す方法」のいずれも行わない場合、また「画像の余白部９ｂの削除を優先して欠落部ａの発生を許す方法」を行った場合には、欠落部９ａが発生することになる。この場合、欠落部９ａに主要被写体が含まれている場合には、画像をマウス１０１をドラッグして上下左右方向に平行移動させて、移動方向と逆側の欠落部９ａに含まれている画像を表示できるようにしてもよい。これによって、画像上の欠落してもよい部分と欠落させたくない部分を使用者が判断して、欠落させたくない部分が欠落することを防ぐことができる。
【００４３】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。
【００４４】
特許請求の範囲の構成要素と実施の形態との対応関係について説明する。ＣＰＵ１０４はプログラム実行手段に相当する。なお、この対応は一例であり、実施の形態の構成によって対応関係は異なるものである。
【図面の簡単な説明】
【００４５】
【図１】画像処理装置の一実施の形態の構成を示すブロック図である。
【図２】画像処理の対象となる撮像画像の具体例を示す図である。
【図３】画像回転画面の具体例を示す図である。
【図４】画像上に点２ａと点２ｂとを指定した場合の具体例を示す図である。
【図５】基準線２ｃを斜辺とする直角三角形を作成した場合の具体例を示す図である。
【図６】画像の表示サイズを保持したまま回転した画像の具体例を示す図である。
【図７】基準線２ｃと、基準線２ｃの垂直２等分線６ａによって分割される領域（ａ）〜（ｄ）の具体例を示す図である。
【図８】領域（ａ）〜（ｄ）のそれぞれにマウスカーソルが場合のマウスカーソルの形状を示した図である。
【図９】回転後の画像における欠落部と余白部を示す図である。
【図１０】画像の欠落部９ａの表示を優先して余白部９ｂの発生を許す方法によって修正した結果表示される画像の具体例を示した図である。
【図１１】画像の余白部９ｂの削除を優先して欠落部ａの発生を許す方法によって修正した結果表示される画像の具体例を示した図である。
【図１２】画像処理装置１００による処理の流れを示すフローチャート図である。
【符号の説明】
【００４６】
１００  画像処理装置
１０１  マウス
１０２  ＨＤＤ
１０３  メモリ
１０４  ＣＰＵ
１０５  モニタ
【図１】
2006146393.tif 000003
【図２】
2006146393.tif 000004
【図３】
2006146393.tif 000005
【図４】
2006146393.tif 000006
【図５】
2006146393.tif 000007
【図６】
2006146393.tif 000008
【図７】
2006146393.tif 000009
【図８】
2006146393.tif 000010
【図９】
2006146393.tif 000011
【図１０】
2006146393.tif 000012
【図１１】
2006146393.tif 000013
【図１２】
2006146393.tif 000014