2010-08-29 18 views

Odpowiedz

44

Jeśli czujnik ma wysokość 3,39 mm (odniesienie do trybu poziomego), to połowa to 1,695 mm. Ogniskowa dla iPhone 4 jest wymieniona jako 3,85 mm. atan (1,695/3,85) to 23,75 stopnia od środka do góry lub 47,5 stopni od góry do dołu.

Dla dłuższego wymiaru 4,52/2 = 2,26 mm, atan (2,26/3,85) = 30,41 od środka do boku lub 60,8 stopnia od lewej do prawej (ponownie w odniesieniu do orientacji poziomej).

Więc 60,8 stopnia poziomo o 47,5 stopni w pionie.

DODATEK znacznie później:

Ogniskowa dla nowszych iPhone 4S z powrotem aparat jest wymienione jako 4,28 mm, ale o tych samych wymiarach czujników jak starszego iPhone 4. Tak więc:

2 * atan (2,26/4,28) = 55,7 ° przez 2 * atan (1,695/4,28) = 43,2 °

czyli około 4 do 5 stopni mniejsze od pola widzenia w porównaniu z iPhone 4.

DODATKOWO dużo później:

Rozmiar czujnika dla tylnego aparatu iPhone 5S wynosi 4,89 x 3,67 mm, przy ogniskowej 4.12 mm. Zatem:

2 * atan ((4,89/2) /4.12) = 61,4 stopni szerokości

2 * atan ((3,67/2) /4.12) = 48,0 stopni, od góry do dołu

.. .lub FOV tylko smidge większy niż z tyłu aparatu iPhone 4.

+0

Ładne informacje hotpaw2! Robię aplikację AR za pomocą kamery nakładki AVFoundation, a obraz z kamery jest podobny do zapisu wideo na iPhone 4 (jest przycięty w porównaniu z aparatem fotograficznym). Myślę, że te obliczenia nie są w ogóle poprawne ... Jeśli aparat ma 60.8 stopni w poziomie (w układzie poziomym), a aplikacja ma szerokość 480 pikseli, czy możemy powiedzieć, że jeden stopień jest równy 7,89px? – mguellsegarra

+1

@barbar wypróbowałeś z "domyślnymi" wartościami, które zawsze są ustawione w 'glFrustum' w przykładowej aplikacji demonstracyjnej OpenGL ES? – rano

+0

A co z iPhone 4S? – VansFannel

3

Wydaje jest mały błąd w poprzednich wyliczeń czujnik OV8830-G04A ma wymiary 4592x3450 um

Następnie poprawne kąty są:

2 * atan (4,592/(2 x 4,28)) * 180/PI = 56,423

2 * atan (3,450/(2 x 4,28)) * 180/PI = 43,903

Staje się to bardzo istotne w wrażliwych aplikacjach.

11

myślę iOS7 wprowadził nową właściwość videoFieldOfView dla AVCaptureDeviceFormat więc możemy wykorzystać tę właściwość, aby uzyskać FOV, pole widzenia jak:

NSLog (@ "FOV kamera jest% f", myCamera. activeFormat.videoFieldOfView);

gdzie myCamera jest instancją AVCaptureDevice. Here otrzymasz przegląd ogniskowej, kąta widzenia i pola widzenia.

+0

Nie wiedziałem o tym! Przeprowadziłem szybki test na przednim aparacie iPhone'a 5, a liczba blisko odpowiada wartości mierzonej tutaj: http://www.boinx.com/ronicles/2013/3/22/field-of-view-fov-of -Kameras-in-ios-devices/(raporty iOS 54.370, pomiar postu na blogu wyniósł 54,2). – bunnyhero

+0

Tak, mam to samo dla iPhone 4s i iPhone 5. Ale trzeba pracować na urządzeniach z systemem iOS 6.0 lub nowszym :( – makboney