写真内のオブジェクトの距離を計算するにはどうすればよいですか?


36

地平線で風車の写真を撮った場合-センサーのサイズとレンズの焦点距離、およびショットに関係する他の要因がわかっているので、写真家から物体までの距離を計算できますか?


はい、おそらく少し複雑な数学でできますが、それは私を超えています。それが地平線上にある場合、それをすべてバイパスし、目の高さ(足で、あなたがいる土地や建物の高さを含む)に1.5を掛けて、その平方根を見つけると、(概算)地平線までの距離(マイル
-ElendilTheTall

2
Canon 100mm f / 2.8 IS USM(およびおそらく他のいくつかのレンズ)は、EXIFデータ内に被写体距離を記録します。複雑な数学に入る前に、これを行うかどうかを調べる価値があるかもしれません!
クリスフレッチャー

2
@Chris焦点距離はおそらく「無限」と言うでしょうが、それはそれほど便利ではありません!
マットグラム

1
@ChrisカメラはAFシステムからの距離を「認識」し、あなたが示唆するように、遠距離では非常に不正確になります(ただし、画像に焦点を合わせるのに十分な精度です!)。また、EXIFがセンチメートルまでの距離を指定しているからといって、数値がセンチメートルまで正確であることを意味するわけではありません!
マットグラム

1
マット:私の知る限り、E-TTL2の場合、情報はレンズから送り返されます(焦点距離をほぼ知っています)。ただし、USM対応のCanonレンズでのみ機能します。クリス:センチメートル単位の数値は、その正確性については何も教えてくれません。
ジョーイ

回答:


35

必要な他の唯一の要素は、実生活でのオブジェクトの高さです(そうでなければ、カメラにより近いモデルを撮影できます)。

数学は実際にはそれほど複雑ではなく、センサー上のオブジェクトのサイズと実際のオブジェクトのサイズの比率は、焦点距離とオブジェクトまでの距離の比率と同じです。

センサー上のオブジェクトのサイズを計算するには、ピクセル単位で高さを計算し、ピクセル単位で画像の高さで割り、センサーの物理的な高さで乗算します。

したがって、合計は次のとおりです。

オブジェクトまでの距離の方程式

この方程式を健全性チェックしましょう。

他のすべてを一定に保ち、焦点距離を長くすると、距離が長くなります(焦点距離が分子上にあるため)。これは、あるオブジェクトを同じサイズの別のオブジェクトのサイズにするためにレンズをズームする必要がある場合、最初のオブジェクトがさらに離れている必要があります。

他のすべてを一定に保ち、オブジェクトの実際の高さを増やすと、実際の高さが異なる2つのオブジェクトが同じ高さで画像に表示されるように、距離が再び長くなります。

他のすべてを一定に保ち、画像の高さを増やすと、2つのオブジェクト(同じサイズで、他のすべてを一定に保つことを忘れないでください)がトリミングされた画像とトリミングされていない画像で同じピクセルサイズで表示されるように、距離が増加しますトリミングされていない画像では、さらに遠くにある必要があります。

他のすべてを一定に保ち、オブジェクトの高さをピクセル単位で増加させると、距離は減少します(分母になります)。

最後に、他のすべてを一定に保ち、センサーサイズを大きくすると、距離は減少します.2つの同じサイズのオブジェクトは、コンパクト(小さなセンサー、20mmは長いレンズ)で撮影し、DSLR(大きなセンサー)で撮影すると、ピクセル単位で同じ高さになります20mmはワイドレンズです)、DSLR画像内のオブジェクトはさらに遠くにある必要があります(同じサイズであるがワイドレンズを使用しているため)。


1
したがって、言い換えれば、「いいえ、実生活でのオブジェクトのサイズを知らなくても」ということです。それ以外の場合、2つの未知の要因があります。風車は、あなたが思っているよりも近いモデルになる可能性があります。
mattdm

1
@mattdmは、まさにその答えを明確にしようとしていました。また、風車などの写真を撮影することができ
マット・グルム

@ matt-grum私のポイントは、次のいずれかが必要なことです。1)実際のオブジェクトのサイズ。2)または2つ以上の画像。
サスタニン

@jetxeeええ、私は、今、それを得る私は私の答えでknownsの一つであることがオブジェクトのサイズを明記していたとして、あなたのコメントからは、明確ではなかった
マット・グルム

三角形のパララックスから、image(pixels)/ sensor_heightが方程式に収まらないこと、そしてセンサーの高さで何を指しているのか、この法則を証明できますか?!
エラー

16

@ matt-grumで述べたように、オブジェクトまでの距離を推定する最も簡単な式は、ピンホール投影式です:

x / f = X / d

ここで、xはセンサー上のオブジェクトのサイズ、fはレンズの焦点距離、Xはオブジェクトのサイズ、dは節点からオブジェクトまでの距離です。xfおよびXdは同じ単位で測定されます(mmとmなど)(xを計算するには、センサーのピクセルサイズを推定する必要があります。たとえば、Pentax K20Dの場合は23.4 mm / 4672 px≈ 5.008e-3 mm / px、つまり100ピクセル長の画像はx = 50.08e-3 mmに対応します)。

以下では、オブジェクトのサイズ(X)が不明であり、既知のパラメーターはx(画像サイズ)とf(焦点距離)のみであると想定しています。

問題は、風景写真の被写界深度は通常非常に大きいため、カメラに非常に近い小さな物体なのか、遠くに大きな物体なのかを1枚の写真から判断できないことです(ピンホール式が適用される理由です)。

この問題を解決するには、2つ以上の画像を使用して距離を測定します。2つのカメラ位置間のすべての角度と距離を測定できる場合は、リモートオブジェクトまでの距離も計算できます。しかし、すべての角度を測定するのは簡単なことではありません。

より簡単な方法は、オブジェクトが画像の中央にある状態で、オブジェクトと同じ線にとどまる2枚の写真を撮ることです。最初の写真のオブジェクトまでの距離をd₁、画像サイズをx₁とします。

x_1 / f = X / d_1

次に、カメラメートルをオブジェクトに向かって直接移動すると、2番目の写真の画像サイズx₂x₁よりわずかに大きくなります。

:次の式の分母は間違っています。「d1」の代わりに「d2」または同等の「d1-s」にする必要があります)

x_2 / f = X /(d_1-s)

それは私たちに与えます

d_1 = s x_2 /(x_2-x_1)

明らかに、sが画像サイズに大きな影響を与えるほど大きくない場合、距離を確実に推定できず、より複雑な方法を使用する必要があります。x₂-x-の差が大きいほど良いです。


ああ、私はあなたが今、あなたのコメントで何を意味するのかを取得、私はそれ以外の場合は、あなたが唯一の少なくとも2台のカメラを必要はありませんような方法より、複雑になるが、カメラを校正する必要があり、オブジェクトのサイズが知られていたと仮定した
マット・グルム

@sastanin私はあなたのフォーミュラを試していますが、機能させることができませんでした。私はページを作ったここphoto.stackexchange.com/questions/80195/...
オメガ

2

私はそれが古いスレッドであることを知っていますが、この質問は時々出てくるようです。FWIW、私は画像内のオブジェクトの距離を計算する計算機を追加しました。

http://www.scantips.com/lights/subjectdistance.html

動作させるには値を知る必要がありますが、その1つはオブジェクトのおおよその実際の高さです。そこで議論されました。


1

たとえば、海抜1フィートの高さで立っている場合など、基本的な「経験則」を含む距離を推定する航海方法を調査する場合は、数式を使用するのではなく、親指を持ち上げると地平線から3海里になります腕の長さは、あなたが見ている物体が覆われている高さ100フィートです(私は思う)私はこれらをもはや使用しないので、これらのほとんどを忘れてしまいましたが、動作し、定期的に学習して使用すると、非常に正確です


興味深い !このようなものが大好き-これらが時間とともに忘れられないことを願って
ロブ14

0

簡単な答え-いいえ。2つの変数と1つの方程式のみがあります。


1
受け入れられた答えと比較して非常に低い品質
オリビエ

しかし、非常にシンプルで(正しく)要点です。
マイケルC

あなたはこの暗黙の質問を仮定することができ、答えは追加の方程式を把握する必要があります
エラー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.