Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Entfernung berechnen (https://www.delphipraxis.net/207310-entfernung-berechnen.html)

kdf 11. Mär 2021 20:44

Entfernung berechnen
 
Hallo,

ich würde gern mit Delphi Seattle einen simplen Rechner bauen, mit dem man die Entfernung von der Kamera zum fotografierten Objekt berechnen kann.

Leider habe ich keinen Plan, wie man das anfängt.

Ich habe die Kamera mit dem Sensor von 24 x 36 mm. Wohl besser 3.648 x 5.472 px. Ich habe ein Objektiv mit einer Brennweite, z.B. 600 mm.

Damit fotografiere ich am Horizont ein Windrad. Die Höhe nehme ich an mit 100 Meter. Auf dem Foto kann ich sehen, wie hoch das Windrad in px ist. Ich nehme mal beispielhaft an, es sind 365 px. Ein px ist 0,0066 mm, also 2,409 mm. Wie berechne ich jetzt die Entfernung zum Windrad in Kilometer ???

Kann da jemand helfen?

Gruß

K.-D.

KodeZwerg 11. Mär 2021 20:58

AW: Entfernung berechnen
 
Vielleicht hilft da ein Laser-Messgerät weiter.
Oder eine Skala mit ablichten um ein Größenverhältnis berechnen zu können.

Anhand von Daten eines 2D Bildes alles in einen 3D Raum zu bekommen... das ist mal eine Herausforderung.

kdf 11. Mär 2021 21:08

AW: Entfernung berechnen
 
Das kann mal leicht etliche Kilometer sein. Mit einem Messgerät wird das wohl schwer auszumachen sein.

Kann das nicht über Winkelfunktionen gehen?

Die Größe auf dem Sensor und die reale Größe sind doch da.

K.-D.

mmw 11. Mär 2021 21:13

AW: Entfernung berechnen
 
hallo,
wenn man den Winkel hat, dann ja. Man kann ja auch mit z.B 5m anfangen, und das Gerät entsprechend ausrichten, Winkel messen und anschließen hochrechen.

Gruß

kdf 11. Mär 2021 21:23

AW: Entfernung berechnen
 
wenn ich auf dem Sensor 2,409 mm habe und das Original 100 m ist, dann ergibt sich doch ein Winkel. Kann man daraus nicht die Entfernung ableiten?

himitsu 11. Mär 2021 21:52

AW: Entfernung berechnen
 
Bei Google suchenBrennweite Winkel

Die 4°10' (600mm) sind quasi deine kompletten Pixel, in der Breite oder Höhe oder Diagonale?
Die Höhe in Pixel sind dann runtergerechnet der eigentliche Winkel, mit dem du das Windrad siehst.

Über ausgerechneten Winkel und reale Höhe kannst dann die Entfernung in diesem Dreieck berechnen.
Du hast (nahezu) einen rechten Winkel (oder die beiden Winkel am Rad als Gleichschnenklich ansehen), den gemessenen Winkel, den anderen Winkel kann man notfalls ausrechnen, und eine Länge.
Den Rest hatte man mal im letzten Jahrtausend in der Schule gelernt.

hanvas 11. Mär 2021 22:00

AW: Entfernung berechnen
 
Zitat:

Zitat von kdf (Beitrag 1484940)
Hallo,

ich würde gern mit Delphi Seattle einen simplen Rechner bauen, mit dem man die Entfernung von der Kamera zum fotografierten Objekt berechnen kann.

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

Deutlich einfacher wäre es mit einer Stereo Aufnahme. Wenn die Szene (weitgehend) statisch ist kannst Du auch zwei Bilder hintereinander mit leichten Versatz in der horizontalen machen. Die Mathematik (und eine Python-Implementierung unter Zuhilfenahme von opencv) findest Du hier:

https://docs.opencv.org/master/dd/d5..._depthmap.html

cu ha joe

Renate Schaaf 11. Mär 2021 22:44

AW: Entfernung berechnen
 
Zitat:

ch habe ein Objektiv mit einer Brennweite, z.B. 600 mm.

Damit fotografiere ich am Horizont ein Windrad. Die Höhe nehme ich an mit 100 Meter. Auf dem Foto kann ich sehen, wie hoch das Windrad in px ist. Ich nehme mal beispielhaft an, es sind 365 px. Ein px ist 0,0066 mm, also 2,409 mm. Wie berechne ich jetzt die Entfernung zum Windrad in Kilometer ???
Ich krieg da 24,902 km raus.

Rechnung:
e= Entfernung [m] h=abgebildete Objektgröße [mm] f= Brennweite [mm] H= Objektgröße [m]

Wenn man davon ausgeht, daß das Objekt etwa rechtwinklig zur Kamerarichtung ist, hat man ähnliche Dreiecke.

h entspricht H und e entspricht f.

e/H = f/h, also e = H*f/h ist die Entfernung in m.

Hoffe, ich hab da mal keinen Denkfehler gemacht :)

Ydobon 12. Mär 2021 08:23

AW: Entfernung berechnen
 
Hilft das für die Theorie?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz