Wie berechne ich die Entfernung eines Objekts auf einem Foto?

36

Wenn ich ein Foto von einer Windmühle am Horizont machen würde - vorausgesetzt, ich kenne die Sensorgröße und die Brennweite des Objektivs sowie andere Faktoren, die mit der Aufnahme zusammenhängen - könnte ich berechnen, wie weit ein Objekt vom Fotografen entfernt ist?

rauben
quelle
Ja, das kannst du wahrscheinlich mit ein bisschen komplexer Mathematik, aber das geht über mich hinaus. Wenn es am Horizont ist, können Sie all das umgehen und einfach die Höhe Ihrer Augen (in Fuß, einschließlich der Höhe jedes Landes oder Gebäudes, auf dem Sie sich befinden) mit 1,5 multiplizieren. Dann finden Sie die Quadratwurzel von ungefähre Entfernung zum Horizont in Meilen
ElendilTheTall
2
Meine Canon 100 mm 1: 2,8 IS USM (und vermutlich einige andere Objektive) zeichnen die Motiventfernung in den EXIF-Daten auf. Es lohnt sich möglicherweise zu untersuchen, ob Ihr Gerät dies tut, bevor Sie sich mit komplizierten Berechnungen befassen.
ChrisFletcher
2
@ Chris Die Fokussierentfernung sagt wahrscheinlich nur "unendlich", was gar nicht so nützlich ist!
Matt Grum
1
@Chris, die Kamera "kennt" die Entfernung zum AF-System, und wie Sie vermuten, wird sie über große Entfernungen sehr ungenau (aber immer noch genau genug, damit das Bild scharf ist!). Auch nur, weil das EXIF ​​den Abstand auf einen Zentimeter genau angibt, heißt das nicht, dass die Zahl auf einen Zentimeter genau ist!
Matt Grum
1
Matt: Soweit ich weiß, werden Informationen für E-TTL2 vom Objektiv zurückgesendet (das ungefähr die Fokussierentfernung kennt). Es funktioniert jedoch nur mit Canon-Objektiven mit USM. Chris: Die Zahl in Zentimetern sagt nichts über die Genauigkeit aus.
Joey

Antworten:

35

Der einzige andere Faktor, den Sie benötigen, ist die Höhe des Objekts im wirklichen Leben (ansonsten könnten Sie ein Modell fotografieren, das sich viel näher an der Kamera befindet).

Die Mathematik ist eigentlich nicht so komplex, das Verhältnis der Größe des Objekts auf dem Sensor und der Größe des Objekts im wirklichen Leben ist dasselbe wie das Verhältnis zwischen der Brennweite und der Entfernung zum Objekt.

Um die Größe des Objekts auf dem Sensor zu ermitteln, müssen Sie die Höhe in Pixel berechnen, durch die Bildhöhe in Pixel dividieren und mit der physischen Höhe des Sensors multiplizieren.

Die ganze Summe ist also:

Abstand zur Objektgleichung

Lassen Sie uns diese Gleichung vernünftig überprüfen.

Wenn wir alles andere konstant halten und die Brennweite erhöhen, erhöht sich die Entfernung (da die Brennweite auf dem Zähler steht). Dies ist, was Sie erwarten würden, wenn Sie Ihr Objektiv zoomen müssen, um ein Objekt auf die Größe eines anderen Objekts gleicher Größe zu bringen. Das erste Objekt muss weiter entfernt sein.

Wenn wir alles andere konstant halten und die reale Höhe des Objekts vergrößern, vergrößert sich der Abstand erneut, als ob zwei Objekte mit unterschiedlichen realen Höhen auf dem Bild gleich hoch erscheinen, je größer das Objekt in größerer Entfernung sein muss.

Wenn wir alles andere konstant halten und die Bildhöhe erhöhen, vergrößert sich der Abstand, als ob zwei Objekte (von gleicher Größe, denken Sie daran, dass wir alles andere konstant halten) in einem beschnittenen und ungeschnittenen Bild dieselbe Pixelgröße aufweisen wie das Objekt im ungeschnittenen Bild muss weiter weg sein.

Wenn wir alles andere konstant halten und die Objekthöhe in Pixeln erhöhen, verringert sich der Abstand (wir sind jetzt auf dem Nenner): Zwei gleich große Objekte, eines nimmt mehr Pixel auf, es muss näher sein.

Wenn wir schließlich alles andere konstant halten und den Sensor vergrößern, verringert sich der Abstand: Zwei gleich große Objekte haben die gleiche Höhe in Pixeln, wenn sie mit einem kompakten (kleiner Sensor, wobei 20 mm ein langes Objektiv ist) und mit einer DSLR (großer Sensor) aufgenommen werden Wenn 20 mm ein Weitwinkelobjektiv sind, muss das Objekt im DSLR-Bild weiter entfernt sein (da es gleich groß, aber mit einem Weitwinkelobjektiv angezeigt wird).

Matt Grum
quelle
1
Mit anderen Worten: "Nein, nicht ohne die Größe des Objekts im wirklichen Leben zu kennen." Ansonsten haben Sie zwei unbekannte Faktoren. Die Windmühle könnte ein Modell sein, das näher ist als Sie denken.
Mattdm
1
@mattdm genau, wollte das in der Antwort gerade klarstellen. Sie könnten auch ein Foto von einer Windmühle usw. fotografieren
Matt Grum
@ matt-grum Mein Punkt ist, dass wir eines der folgenden benötigen: 1) entweder die reale Objektgröße; 2) oder zwei oder mehr Bilder.
Sastanin
@jetxee yeah Ich verstehe das jetzt, aus Ihrem Kommentar war es nicht klar, da ich angegeben hatte, dass die Objektgröße eine der bekanntesten in meiner Antwort ist
Matt Grum
Können Sie dieses Gesetz aus der Paralaxe der Dreiecke beweisen, dass image (Pixel) / sensor_height nicht in die Gleichung passt und worauf beziehen Sie sich bei der Sensorhöhe ?!
Fehler
16

Wie angemerkt @ matt-grum, die einfachste Formel zu dem Objekt zu Schätzung Abstand Pinhole - Projektionsformel :

x / f = X / d

Dabei ist x die Größe des Objekts auf dem Sensor, f die Brennweite der Linse, X die Größe des Objekts und d der Abstand vom Knotenpunkt zum Objekt. x und f sowie X und d werden in denselben Einheiten gemessen, z. B. mm und m (um x zu berechnen, müssen Sie die Pixelgröße für Ihren Sensor schätzen. Bei der Pentax K20D beträgt sie beispielsweise 23,4 mm / 4672 px ≈ 5,008e-3 mm / px, dh ein Bild mit einer Länge von 100 px entspricht x = 50,08e-3 mm).

Im Folgenden gehe ich davon aus, dass die Größe des Objekts ( X ) unbekannt ist und die einzigen bekannten Parameter x (Bildgröße) und f (Brennweite) sind.

Das Problem ist, dass wir auf einem Foto nicht erkennen können, ob es sich um ein kleines Objekt in unmittelbarer Nähe der Kamera oder um ein großes Objekt in großer Entfernung handelt, da die Schärfentiefe bei Landschaftsaufnahmen normalerweise sehr groß ist (und deshalb gilt die Lochblendenformel).

Um dieses Problem zu lösen, verwenden wir möglicherweise zwei oder mehr Bilder, um den Abstand zu messen. Sofern Sie alle Winkel und Entfernungen zwischen zwei Kamerapositionen messen können, können Sie auch die Entfernung zum entfernten Objekt berechnen. Es ist jedoch keine leichte Aufgabe, alle Winkel zu messen.

Eine einfachere Methode besteht darin, zwei Fotos aufzunehmen, die mit dem Objekt auf derselben Linie bleiben, wobei sich das Objekt in der Bildmitte befindet. Lassen Sie Abstand zum Objekt auf dem ersten Foto sein d₁ , und die Bildgröße sein x₁ :

x_1 / f = X / d_1

Wenn wir dann die Kamera s Meter direkt in Richtung des Objekts bewegen , haben wir auf dem zweiten Foto eine Bildgröße x₂, die etwas größer als x₁ ist :

( Anmerkung : Der Nenner im nächsten Ausdruck ist falsch, anstelle von "d1" sollte er "d2" oder gleichwertig "d1-s" sein.)

x_2 / f = X / (d_1 - s)

Welches gibt uns

d_1 = s x_2 / (x_2 - x_1)

Wenn s nicht groß genug ist, um die Bildgröße signifikant zu beeinflussen, können Sie die Entfernung offensichtlich nicht zuverlässig abschätzen und müssen kompliziertere Methoden anwenden. Je größer die Differenz x₂ - x₁ ist , desto besser.

Sastanin
quelle
ahh ich bekommen , was Sie von Ihrem Kommentar bedeutete jetzt, ich war der Annahme , Objektgröße bekannt war, sonst wird es viel mehr kompliziert, wie Sie brauchen nicht nur mindestens zwei Kameras, aber die Kameras kalibriert werden muss
Matt Grum
@sastanin Ich versuche Ihre Formel, aber ich konnte sie nicht zum Laufen bringen. Ich habe eine Seite hier gemacht photo.stackexchange.com/questions/80195/…
Omega
2

Ich weiß, es ist ein alter Thread, aber diese Frage scheint ab und zu zu kommen. FWIW habe ich einen Taschenrechner hinzugefügt, um die Objektentfernung in einem Bild zu berechnen.

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

Sie müssen noch Ihre Werte kennen, damit es funktioniert. Eine davon ist die ungefähre tatsächliche Höhe des Objekts. Dort besprochen.

WayneF
quelle
1

Anstatt zu versuchen, Formeln zu verwenden, wenn Sie die nautischen Methoden zum Schätzen von Entfernungen untersuchen, die einige grundlegende "Faustregeln" beinhalten, sind Sie 3 Seemeilen vom Horizont entfernt, wenn Sie Ihren Daumen auf halten Arme Länge sie das Objekt, das Sie betrachten, ist bedeckt es ist 100 Fuß hoch (ich denke) Ich habe die meisten dieser vergessen, da ich sie nicht mehr benutze, aber sie funktionieren und wenn sie einmal gelernt und regelmäßig benutzt wurden, sind sie bemerkenswert genau.

adwb
quelle
so interessant ! Liebe Sachen wie diese - hoffe, diese werden nicht mit der Zeit vergessen
Rob
0

Einfache Antwort - nein. Sie haben zwei Variablen und nur eine Gleichung.

Brian
quelle
1
Sehr niedrige Qualität im Vergleich zu der akzeptierten Antwort ...
Olivier
Aber sehr einfach und (richtig) auf den Punkt.
Michael C
Sie können davon ausgehen, dass dies in der Frage impliziert ist, und für die Beantwortung ist es erforderlich, eine zusätzliche Gleichung zu ermitteln
Fehler