f=0,5*L/tan(180*PZ/Lp)
f- Brennweite (mm)
L- Länge des sensor , horizontal positionierte Seite (mm ) . Zb. bei KB -Sensor in senkrechter Position der Kamera es wird 24 mm , in horizontale Stellung - 36 mm
PZ - Pixelzahl des Sensors in der länge L ( zb bei 24 mpx sensor es wird in senkrechter Position - 4000 px, horizontale Stellung - 6000 px)
Lp - Pixelzahl des Panorama 360 Grad entlang Horizontlinie - zB. 15000 px ( wie erwünscht)
bei equirektalinerer Projektion, wenn gesamte Pixelzahl "GPX" des Pano gegeben ( genannt ) ist, man kann Lp ausrechnen:
Lp =Pi*wurzel( GPX/6) ; Pi=3,14 , also Lp=1,28*wurzel(GPX)
zB. Pano ( in der spärische Projektion auf dem Monitor ) sollte 100 000 000 px zählen :
Lp= 3,14*wurzel(100 000 000 /6) =12819
Beispiel.
Wir wollen ein Pano das 100 000 000 px zählt fotografieren. Kamera - KB 24 mpx
Brennweite:
f = 0,5*24/tan((180*4000/12819)) = 8 mm
Equirektalineares bild ( Produkt vom PTGUI wird 12819*0,5*12819 =82 163 380 px zählen ( dieses Bild wird bei der Ausgabe am Monitor auf 100 000 000 px umgerechnet).
es stimmt bei rektalinearen objektiven , bei Fisheye wird die Rechnung ein bischen zu knapp , Brennweite sollte etwas länger sein (ca 20 - 30 % mehr abhängig von der Projektion des objektivs).
PS.
Brennweite ist Brennweite , hat keinen equivalent .
wie breit ist überlapung - spielt keine rolle , muss man nur mehr Fotos schiessen , brennweite bleibt gleich.
Die Rechnung stimmt nicht pixelgenau , weil die echte Brennweite ist etwas anders als genannte , und die eingestellte am Objektiv Entfernung anders als unendlich sein kann.
Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von »Panpan« (19. September 2020, 19:58)