(57)【要約】【課題】  画像上の２点間の角度を算出してモニタに表示すること。【解決手段】  ＣＰＵ１０４は、モニタ１０５に表示した画像上でマウス１０１を使用して使用者によって指定された２点間の撮影レンズから見た角度を算出し、算出した角度を実空間上における撮影レンズから見た２点間の角度としてモニタ１０５に表示する。【選択図】      図１
2006203347.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実行するための画像処理プログラムであって、
使用者によって選択された画像をモニタに表示する画像表示処理と、
前記モニタに表示した画像上で使用者によって指定された２点間の実空間上における撮影レンズから見た角度を算出する角度算出処理と、
前記角度算出処理で算出した実空間上における撮影レンズから見た２点間の角度を前記モニタに表示する角度表示処理とを有することを特徴とする画像処理プログラム。
【請求項２】
請求項１に記載の画像処理プログラムにおいて、
前記角度算出処理は、前記モニタに表示された画像上で指定された２点の位置を、当該画像の撮像時に使用した撮像素子上の位置に変換し、
撮像素子上に変換した撮影レンズから見た２点間の角度を算出して、実空間上における撮影レンズから見た２点間の角度とすることを特徴とする画像処理プログラム。
【請求項３】
請求項１または２に記載の画像処理プログラムにおいて、
前記モニタに表示した画像上で使用者によって指定された２点間の実空間上における距離を算出する距離算出処理をさらに有することを特徴とする画像処理プログラム。
【請求項４】
請求項１〜３のいずれかに記載の画像処理プログラムにおいて、
前記モニタに表示した画像の中心点と、画像全体に設定した複数の点との間の撮影レンズから見た角度を算出し、前記中心点から水平方向、および垂直方向にそれぞれ所定角度おきに同一角度となる点上を通る直線を描画して、画像上にグリッド線を表示するグリッド線表示処理をさらに有することを特徴とする画像処理プログラム。
【請求項５】
請求項１〜４のいずれか一項に記載の画像処理プログラムを記憶する記憶手段と、
前記記憶手段に記憶した画像処理プログラムを実行する実行手段と、
請求項１〜４に記載のモニタとを備えることを特徴とするデジタルカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを編集する画像処理プログラム、および画像処理プログラムを搭載したデジタルカメラに関する。
【背景技術】
【０００２】
次のようなカメラが特許文献１によって知られている。このカメラでは、被写体の大きさと角度をファインダ内に表示する。
【０００３】
【特許文献１】特開平４−３２６００４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のカメラによれば、ファインダ内に存在する被写体の角度を検出するための振れ角センサをカメラに搭載しなければならず、さらに撮像者が被写体に対してカメラを向けて、ファインダ内に被写体が映っているときしか角度を表示できないという問題が生じていた。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、コンピュータで実行するための画像処理プログラムであって、使用者によって選択された画像をモニタに表示する画像表示処理と、モニタに表示した画像上で使用者によって指定された２点間の実空間上における撮影レンズから見た角度を算出する角度算出処理と、角度算出処理で算出した実空間上における撮影レンズから見た２点間の角度をモニタに表示する角度表示処理とを有することを特徴とする。
請求項２に記載の発明は、請求項１に記載の画像処理プログラムにおいて、角度算出処理は、モニタに表示された画像上で指定された２点の位置を、当該画像の撮像時に使用した撮像素子上の位置に変換し、撮像素子上に変換した撮影レンズから見た２点間の角度を算出して、実空間上における撮影レンズから見た２点間の角度とすることを特徴とする。
請求項３に記載の発明は、請求項１または２に記載の画像処理プログラムにおいて、モニタに表示した画像上で使用者によって指定された２点間の実空間上における距離を算出する距離算出処理をさらに有することを特徴とする。
請求項４に記載の発明は、請求項１〜３のいずれかに記載の画像処理プログラムにおいて、モニタに表示した画像の中心点と、画像全体に設定した複数の点との間の撮影レンズから見た角度を算出し、中心点から水平方向、および垂直方向にそれぞれ所定角度おきに同一角度となる点上を通る直線を描画して、画像上にグリッド線を表示するグリッド線表示処理をさらに有することを特徴とする。
請求項５に記載のデジタルカメラは、請求項１〜４のいずれか一項に記載の画像処理プログラムを記憶する記憶手段と、記憶手段に記憶した画像処理プログラムを実行する実行手段と、請求項１〜４に記載のモニタとを備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、モニタに表示した画像上で使用者によって指定された２点間の実空間上における撮影レンズから見た角度を算出してモニタに表示するようにした。これによって、角度を算出するための振れ角センサを別途搭載しなくても実空間上における撮影レンズから見た２点間の角度を算出することができる。また、撮像後の画像を用いて角度を算出するため、被写体に対してカメラが向けられていないときでも撮影レンズから見た２点間の角度を算出して使用者に提示することができる。
【発明を実施するための最良の形態】
【０００７】
図１は、本実施の形態における画像処理装置の一実施の形態の構成を示すブロック図である。画像処理装置１００は、例えばパソコンが用いられ、使用者によって操作されるマウス１０１と、後述する画像処理の対象となるデジタルカメラ等で撮像された画像データ、および画像処理プログラムを保存するＨＤＤ１０２と、画像処理プログラムを実行するための作業エリアとなるメモリ１０３と、画像処理プログラムを実行するＣＰＵ１０４と、ＨＤＤ１０２に格納された画像データ、および画像処理プログラムによって表示される各種データを表示するためのモニタ１０５とを備えている。
【０００８】
本実施の形態における画像処理装置１００では、使用者によって撮像された画像内における任意の２点間の撮影レンズから見た角度を算出してモニタ１０５に表示する。これによって使用者は、例えば、画像内に２つの異なる被写体が存在する場合に、これらの２つの被写体上でそれぞれ１点ずつを指定することによって、この２点間の画像内における撮影レンズから見た角度を知ることができる。このように画像内における任意の２点間の撮影レンズから見た角度を算出するために、使用者はマウス１０１を操作しＨＤＤ１０２に格納された画像の中から、任意の２点間の撮影レンズから見た角度を算出したい画像を選択してモニタ１０５に表示する。そして、この表示した対象画像に対して次のように処理を行う。
【０００９】
まず、使用者はマウス１０１を操作してモニタ１０５に表示された対象画像上で角度を算出したい任意の２点を指定する。本実施の形態の画像処理装置１００では、使用者がモニタ１０５に表示された画像上の任意の位置でマウス１０１をクリックすることによって、そのクリック位置を点として指定することができ、画像上の任意の２ヶ所でマウス１０１をクリックすることによって、対象画像上に角度を算出したい任意の２点を指定することができる。
【００１０】
使用者によって対象画像上に２点が指定されると、次のように処理を実行し、後述する式（１）〜（１３）によって２点間の角度を算出する。まず、使用者によって対象画像上に指定された２点の位置は、当該対象画像を撮像したデジタルカメラの撮像素子上の位置に変換される。これによって、使用者によって対象画像上で指定された２点は、例えば図２に示すように、撮像素子２ｂ上の位置Ａ´およびＢ´に変換される。
【００１１】
なお、図２においては、デジタルカメラのレンズ２ａの前側節点Ｎから前側節点Ｎを被写体の位置に変換した点Ｏまでの距離、すなわち前側節点Ｎから被写体までの距離はｌである。また、レンズ２ａの後側節点Ｎ´から後側節点Ｎ´を撮像素子上の位置に変換した点Ｏ´までの距離、すなわち後側節点Ｎ´から撮像素子２ｂまでの距離がｌ´である。そして、∠ＡＮＢ＝ω、∠Ａ´Ｎ´Ｂ´＝ω´であり、ω＝ω´の関係が成り立つ。したがって、撮像素子上における２点間の撮影レンズから見た角度を算出することによって、対象画像内で指定された２点間の実空間上における撮影レンズから見た角度を求めることができる。
【００１２】
ここで、レンズ２ａの前側節点Ｎから被写体までの距離はｌ、および後側節点Ｎ´から撮像素子２ｂまでの距離ｌ´は、レンズ２ａの型式ごとに異なり、撮影距離および焦点距離に基づいて算出可能である。ここで、撮影距離は、対象画像の撮影時にデジタルカメラによって焦点距離などの撮影データとともに計測され、対象画像の画像データ内に記憶されている。デジタルカメラのレンズ２ａの型式に対応する撮影距離および焦点距離と、距離ｌおよびｌ´との対応表をあらかじめＨＤＤ１０２に記憶しておき、当該対応表に基づいて距離ｌおよびｌ´を算出する。
【００１３】
図３は、図２における撮像素子２ｂ側を拡大して、撮像素子２ｂ上の位置に変換された２点Ａ´およびＢ´の位置関係を明確に示した図である。図３において、レンズ２ａの後側節点Ｎ´から２点Ａ´およびＢ´まで距離をそれぞれｌａおよびｌｂとする。また、点Ｏ´から点Ａ´までの水平方向の距離を示す点をＡ´ｘ、垂直方向の距離を示す点をＡ´ｙとし、点Ｏ´から点Ｂ´までの水平方向の距離を示す点をＢ´ｘ、垂直方向の距離を示す点をＢ´ｙとする。
【００１４】
図４は、上述した図３を上方、すなわち矢印３ａの方向から見た図である。この図４においては、点Ｏ´と点Ａ´ｘ間の長さをａｘ、点Ｏ´と点Ｂ´ｘ間の長さをｂｘ、後側節点Ｎ´と点Ａ´ｘ間の長さをｌａｈ、後側節点Ｎ´と点Ｂ´ｘ間の長さをｌｂｈとする。このとき、∠Ａ´ｘＮ´Ｂ´ｘ、すなわち撮像素子上の位置に変換した２点Ａ´およびＢ´の水平角度をωｈとすると、この水平角度ωｈは余弦定理により次式（１）および（２）によって算出される。
（ａｘ＋ｂｘ）２  ＝  ｌａｈ２＋ｌｂｈ２−２・ｌａｈ・ｌｂｈ・ｃｏｓωｈ  ・・・（１）
ωｈ  ＝  ｃｏｓ−１（（ｌａｈ２＋ｌｂｈ２−（ａｘ＋ｂｘ）２）／（２・ｌａｈ・ｌｂｈ））  ・・・（２）
【００１５】
なお、式（２）においてｌａｈおよびｌｂｈは、次式（３）および（４）により算出可能である。すなわち、∠Ｎ´Ｏ´Ａ´ｘ、および∠Ｎ´Ｏ´Ｂ´ｘがそれぞれ直角なので、三平方の定理により次式（３）および（４）が成り立つ。
ｌａｈ２  ＝ｌ  ´２＋ａｘ２  ・・・（３）
ｌｂｈ２  ＝  ｌ´２＋ｂｘ２  ・・・（４）
【００１６】
図５は、上述した図３を側方、すなわち矢印３ｂの方向から見た図である。この図５においては、点Ｏ´と点Ａ´ｙ間の長さをａｙ、点Ｏ´と点Ｂ´ｙ間の長さをｂｙ、後側節点Ｎ´と点Ａ´ｙ間の長さをｌａｖ、後側節点Ｎ´と点Ｂ´ｙ間の長さをｌｂｖとする。このとき、∠Ａ´ｙＮ´Ｂ´ｙ、すなわち撮像素子上の位置に変換した２点Ａ´およびＢ´の垂直角度をωｖとすると、この垂直角度をωｖは余弦定理により次式（５）および（６）によって算出される。
（ａｙ＋ｂｙ）２  ＝  ｌａｖ２＋ｌｂｖ２−２・ｌａｖ・ｌｂｖ・ｃｏｓωｖ  ・・・（５）
ωｖ  ＝  ｃｏｓ−１（（ｌａｖ２＋ｌｂｖ２−（ａｙ＋ｂｙ）２）／（２・ｌａｖ・ｌｂｖ））  ・・・（６）
【００１７】
なお、式（６）においてｌａｖおよびｌｂｖは、次式（７）および（８）により算出可能である。すなわち、∠Ｎ´Ｏ´Ａ´ｙ、および∠Ｎ´Ｏ´Ｂ´ｙはそれぞれ直角なので、三平方の定理により次式（７）および（８）が成り立つ。
ｌａｖ２  ＝  ｌ´２＋ａｙ２  ・・・（７）
ｌｂｖ２  ＝  ｌ´２＋ｂｙ２  ・・・（８）
【００１８】
そして、図３におけるＡ´Ｂ´間の角度ωは、Ａ´Ｂ´間の距離をｄとすると次式（９）および（１０）によって算出される。
ｄ２  ＝  ｌａ２＋ｌｂ２−２・ｌａ・ｌｂ・ｃｏｓω  ・・・（９）
ω  ＝  ｃｏｓ−１（（ｌａ２＋ｌｂ２−ｄ２）／（２・ｌａ・ｌｂ））  ・・・（１０）
【００１９】
なお、式（１０）においてｄは、次式（１１）により算出可能である。
ｄ２  ＝  （ａｘ＋ｂｘ）２＋（ａｙ＋ｂｙ）２・・・（１１）
また、ｌａおよびｌｂは、次式（１２）および（１３）により算出可能である。すなわち図３において、∠Ｎ´Ａ´ｘＡ´、および∠Ｎ´Ｂ´ｘＢ´はそれぞれ直角であることから、式（３）および（４）により、次式（１２）および（１３）が成り立つ。
ｌａ２  ＝  ｌａｈ２＋ａｙ２＝ｌ´２＋ａｘ２＋ａｙ２  ・・・（１２）
ｌｂ２  ＝  ｌｂｈ２＋ｂｙ２＝ｌ´２＋ｂｘ２＋ｂｙ２  ・・・（１３）
【００２０】
上述した式（２）、（６）、および（１０）で算出したＡ´Ｂ´の間の水平角度をωｈ、垂直角度をωｖ、および角度ωを、使用者が指定した２点ＡＢ間の水平角度、垂直角度、および角度として、図６に示すようにモニタ１０５上に出力する。これによって、使用者は対象画像上に指定した２点ＡＢ間の撮影レンズから見た水平角度、垂直角度、および角度を把握することができる。
【００２１】
本実施の形態における画像処理装置１００では、さらに使用者によって指定した２点ＡＢ間の距離Ｄの表示が指示された場合に、２点ＡＢ間の距離Ｄを算出して使用者に提示することができる。上述した図２において、２点ＡＢ間の距離Ｄは、式（１１）で算出した撮像素子上におけるＡ´Ｂ´間の距離ｄを、ｌ／ｌ´倍することによって算出可能である。すなわち次式（１４）によって算出できる。
Ｄ  ＝  ｄ・ｌ／ｌ´  ・・・（１４）
【００２２】
また、このときの２点ＡＢ間の水平距離Ｄｈ、および垂直距離Ｄｖは次式（１５）および（１６）によって算出できる。
Ｄｈ  ＝  （ａｘ＋ｂｘ）・ｌ／ｌ´  ・・・（１５）
Ｄｖ  ＝  （ａｙ＋ｂｙ）・ｌ／ｌ´  ・・・（１６）
【００２３】
そして、式（１４）〜（１６）で算出した距離ｌにおける２点ＡＢ間の距離Ｄ、水平距離Ｄｈ、および垂直距離Ｄｖを、図６に示した角度の表示に加えて、図７に示すようにモニタ１０５上に出力する。これによって、使用者は対象画像上に指定した２点ＡＢ間の撮影レンズから見た水平角度、垂直角度、および角度と共に、距離ｌにおける２点ＡＢ間の距離Ｄ、水平距離Ｄｈ、および垂直距離Ｄｖを把握することができる。
【００２４】
図８は、本実施の形態における画像処理装置１００で実行される画像処理プログラムの処理を示すフローチャートである。なお、この画像処理プログラムは、使用者によってマウス１０１を介して画像処理の開始が指示されると起動し、ＣＰＵ１０５によって実行される。ステップＳ１０において、使用者によって上述したようにマウス１０１が操作され、対象画像が選択されたか否かを判断する。使用者によって対象画像が選択されたと判断した場合には、ステップＳ２０へ進む。
【００２５】
ステップＳ２０では、使用者によってモニタ１０５に上で、マウス１０１のクリック操作によって、対象画像上に２点が指定されたか否かを判断する。使用者によって対象画像上に２点が指定されたと判断した場合には、ステップＳ３０へ進む。ステップＳ３０では、上述したように式（１）〜（１３）によって、２点ＡＢ間の撮影レンズから見た水平角度ωｈ、垂直角度ωｖ、および角度ωを算出してステップＳ４０へ進む。ステップＳ４０では、使用者によって、さらに指定した２点ＡＢ間の距離の表示も指示されたか否かを判断する。
【００２６】
使用者によって２点ＡＢ間の距離の表示が指示されないと判断した場合には、ステップＳ６０へ進み、算出した２点ＡＢ間の撮影レンズから見た水平角度ωｈ、垂直角度ωｖ、および角度ωを図６に示すようにモニタ１０５上に表示する。一方、使用者によって２点ＡＢ間の距離の表示が指示されたと判断した場合には、ステップＳ５０へ進む。ステップＳ５０では、上述したように式（１４）〜（１６）によって２点ＡＢ間の距離Ｄ、水平距離Ｄｈ、および垂直距離Ｄｖを算出してステップＳ６０へ進み、距離ｌにおける２点ＡＢ間の距離Ｄ、水平距離Ｄｈ、および垂直距離Ｄｖを図７に示すようにモニタ１０５上に表示する。その後、処理を終了する。
【００２７】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
（１）使用者によって対象画像上で指定された２点の位置を撮像素子上の位置に変換し、撮像素子上の２点間の撮影レンズから見た角度を算出して、実空間上の２点間の撮影レンズから見た角度として使用者に提示するようにした。これによって使用者は対象画像上に２点を指定するだけで、実空間上の２点間の撮影レンズから見た角度を把握することができる。
（２）撮像素子上の２点の撮影レンズから見た角度を余弦定理や三平方の定理を用いて算出して、実空間上の２点間の撮影レンズから見た角度を得るようにした。これによって、対象画像の撮像時に角度を測定する必要はなく、デジタルカメラに角度測定用の機器を搭載する必要がない。
（３）対象画像データ内に含まれる被写体までの距離に基づいて、当該被写体までの距離における２点間の距離を算出して使用者に提示するようにした。これによって使用者は２点間の撮影レンズから見た角度と共に２点間の距離も把握することができる。
【００２８】
―変形例―
なお、上述した実施の形態の画像処理装置は、以下のように変形することもできる。
（１）上述した実施の形態では、使用者によって指定された２点間の撮影レンズから見た角度を算出する例について説明した。しかしこれに限定されず、例えば画像の中央に位置する点（中心点）を設定し、画像全体、すなわち画像上の全画素における中心点からの撮影レンズから見た角度を算出する。そして、中心点から水平方向、および垂直方向にそれぞれ所定角度おき、例えば１０度おきに同一角度となる画素上を通る直線を描画する。これによって、図９に示すように、画像の中心９ａから１０度間隔でグリッド線を描画することができ、使用者が画像内における被写体の位置関係を把握しやすくなる。
【００２９】
（２）上述した実施の形態では、使用者によって指定された２点間の撮影レンズから見た角度を算出して、算出した角度をモニタに表示して使用者に提示する例について説明した。しかしこれに限定されず、画像処理装置１００に地図データを搭載し、例えば、指定された２点のうち、いずれか１点の位置に存在する被写体の地図上の名称を指定すると、その点と他方の１点との撮影レンズから見た角度を算出する。そして、算出した角度に基づいてあらかじめ名称を指定した点と、他方の点との地図上における位置関係を把握して、他方の点の名称を地図データから読み込んで画像上に表示する。これによって、画像内に名称が分からない被写体が存在する場合でも、一部の被写体の名称が分かっていれば、名称が分からない被写体の名称を把握することができる。
【００３０】
（３）上述した実施の形態では、画像処理装置１００としてパソコンを用い、パソコン上で画像処理プログラムを実行する例について説明したが、これに限定されず、デジタルカメラ上で上述した画像処理プログラムを実行してもよい。この場合、デジタルカメラに搭載したモニタ上に対象画像を表示し、使用者はデジタルカメラに搭載したタッチパネルなどの入力装置を操作してモニタ上に表示した対象画像上に２点を指定する。
【００３１】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。
【００３２】
特許請求の範囲の構成要素と実施の形態との対応関係について説明する。ＨＤＤ１０２は記憶手段に、ＣＰＵ１０４は実行手段に相当する。なお、この対応は一例であり、実施の形態の構成によって対応関係は異なるものである。
【図面の簡単な説明】
【００３３】
【図１】本実施の形態における画像処理装置の一実施の形態の構成を示すブロック図である。
【図２】使用者によって対象画像上に指定された２点の位置を撮像素子上の位置に変換した場合の具体例を示す図である。
【図３】図２における撮像素子２ｂ側を拡大して、撮像素子２ｂ上の位置に変換された２点Ａ´およびＢ´の位置関係を明確に示した図である。
【図４】図３を上方、すなわち矢印３ａの方向から見た図である。
【図５】図３を側方、すなわち矢印３ｂの方向から見た図である。
【図６】算出した２点ＡＢ間の水平角度ωｈ、垂直角度ωｖ、および角度ωの表示例を示す図である。
【図７】算出した角度、および距離ｌにおける２点ＡＢ間の距離Ｄ、水平距離Ｄｈ、垂直距離Ｄｖの表示例を示す図である。
【図８】本実施の形態における画像処理装置１００で実行される画像処理プログラムの処理を示すフローチャート図である。
【図９】変形例におけるグリッド表示の具体例を示す図である。
【符号の説明】
【００３４】
１００  画像処理装置
１０１  マウス
１０２  ＨＤＤ
１０３  メモリ
１０４  ＣＰＵ
１０５  モニタ
【図１】
2006203347.tif 000003
【図２】
2006203347.tif 000004
【図３】
2006203347.tif 000005
【図４】
2006203347.tif 000006
【図５】
2006203347.tif 000007
【図６】
2006203347.tif 000008
【図７】
2006203347.tif 000009
【図８】
2006203347.tif 000010
【図９】
2006203347.tif 000011