プロが教えるわが家の防犯対策術!

画像には既知の大きさの物体が複数(全て同サイズ)あります。
それぞれの物体の奥行き方向の位置(相対距離)を計算する方法を教えてください。

ただし、画像に歪みは無いものとします。
また、必要なら撮影に使用したカメラのキャリブレーションはできます。

よろしくお願いいたします。

質問者からの補足コメント

  • レンズは単焦点で、画角は水平43度、垂直33度です。
    同じ大きさの物が1つの画像の中に複数映っています。

    物体の大きさは撮影距離に反比例して見えるということまでは理解できているのですが、そこから相対距離をどのように計算すべきかで悩んでおりました。

      補足日時:2015/11/24 23:15

A 回答 (5件)

自分で図を書いて、角度とか入れていったらどうでしょうか?




垂直33度、というのは
「画面の縦にぴったり映っているものは、仰角 +33/2 度〜 -33/2 度」
ということです。
物体までの距離を L 、物体の高さを H とすると
(H/2) ÷ L = tan( 33/2度)
という関係になります。
Hが判っているなら、Lを求めることができます。

ここで、画面より小さく映っているものを考えると
・高さ h の物体が距離L にある、と考えると
(h/2) ÷ L = tan θ
という関係になります。
h:Hは、画像上での物体の高さと、画像全体の高さの比になります。
・高さ H の物体が遠くの距離L' にある、と考えると
(H/2) ÷ L' = tan θ
です。
・写り方が同じ、ということは、角度θは同じです。

以上から順番に計算していけば、 L' が求まります。



と、ここまでは理想的な場合の話し。
正確には、画像の中央と周辺とで写り方が違ったりするので、いろんな補正が必要です。
あるいは、誤差を承知で、 1ドット = 33 / 縦の画素数 度 で近似解を求める、というのも手かもしれません
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

おかげさまで計算方法わかりました!
画像の歪みなどについてはカメラのキャリブレーションである程度は補正できます。

ベストアンサーに選ばさせていただきます。

お礼日時:2015/11/26 01:25

カメラの画角(仰角+俯角)はCCDのサイズやレンズの望遠その他の状況で変わる。


あらかじめ画角が分かっていなければ画像から仰角を計算することはできない。
既知の距離にある対象を撮影して縦横何mの範囲が撮影されるか計測し画角を求め、実際の計算の元にするのが筋である。

Wikipediaより「主なレンズの画角」
https://ja.wikipedia.org/wiki/%E7%94%BB%E8%A7%92 …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

画角は実測してあります。質問のところに補足で入れてありますが、水平43度、垂直33度です。
この画角から、先ほどの「電柱の例で示されている迎角あるいは俯角」を求められるのでしょうか?
自分の認識では、図で示していただいた斜辺の長さが必要になると思うのですがいかがでしょう。

よろしくお願いいたします。

お礼日時:2015/11/25 19:23

三角関数の話はインスピレーションを刺激しませんでしたか。


(図を描くのが面倒で、”DeadLift800”さんの直感に頼ってしまったw)

高さ15mの電柱が2本並んでいる。
手前の電柱は仰角45°、奥の電柱は仰角30°である。
それぞれの電柱までの距離は何mか。
という問題だろう。

電柱の天辺から観測点への俯角はそれぞれ、45°、60°だから
15×tan45°
15×tan60°
の計算で求められるはずだ。

画面の中に映っている映像に歪が無く投影図と等しいとするなら、
画像中の物体の長さから仰角が何度になるのかも、同様にtanの計算で求められる。
…だろ?
実際にはレンズの特性やら何やらで歪があるので、そこは実情に合わせて補正してください。
「画像から物体の奥行き計算」の回答画像3
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

tanの計算は理解できるのですが、画像から仰角をどのように求めるのでしょうか?
度々すみませんがよろしくお願いいたします。

お礼日時:2015/11/25 08:02

「カメラのしくみ」で検索すると、レンズを通して像を結ぶ様子が描かれた画像が見つかると思います。


その図を見れば、物体と像のは相似の関係にあり、三角形の相似を使って距離等を求めることができそうだ、ということがわかります。

が、そのためには、いろんな情報が足りません。
例えば、画像では同じ大きさでも、望遠レンズを使って遠くのものを大きくしたものか、広角レンズを使って近い距離で撮影したものかはわかりません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

すみません、説明不足でした。
レンズは単焦点で、画角は水平43度、垂直33度です。
同じ大きさの物が1つの画像の中に複数映っています。

物体の大きさは撮影距離に反比例して見えるということまでは理解できているのですが、そこから相対距離をどのように計算すべきかで悩んでおりました。

お礼日時:2015/11/24 23:03

三角関数のタンジェント(tan)って何を示してたっけ。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています