Jak obliczyć FOV w stopniach od ogniskowej lub odległości?

11

Jak obliczyć pole widzenia (lub kąt widzenia) w stopniach z następujących szczegółów:

  1. rozmiar czujnika (na przykład 1 ”)
  2. odległość do celu (na przykład 7 stóp)
  3. ogniskowa (na przykład 30 mm)

Znalazłem kalkulatory do tego tu i tutaj , ale jak one działają?

Victor Mehta
źródło
Jak zauważył David, (2) nie ma znaczenia.
Unapiedra
@Unapiedra Ale zobacz kalkulatory - wiele z nich zawiera pola wejściowe i może z nich wrócić.
Proszę przeczytać mój profil
@mattdm, wybieranie danych i praca z nimi jest banalna na papierze. Jeśli Ty lub OP chcesz wiedzieć, jak to zrobić na stronie internetowej, StackOverflow będzie odpowiednim miejscem do zapytania.
Unapiedra
Zasadniczo wystarczą dwa z trzech szczegółów pytania. Moja odpowiedź dotyczy jednego przypadku, ale pozostałe przypadki można równie łatwo określić na podstawie modelu.
Unapiedra
Twoja odpowiedź jest dobra i myślę, że obejmuje to, czego szuka Wiktor, tyle że uważam, że zamiast deklarować, że część jest „nieistotna”, lepiej jest wyjaśnić, jak to pasuje. I nie sądzę, że jest to pytanie dotyczące programowania stron internetowych , tylko jedno o obliczeniach.
Proszę przeczytać mój profil

Odpowiedzi:

13

Kalkulatory, które opublikowałeś, dotyczą dość standardowych, prostoliniowych soczewek. Oznacza to, że możesz użyć modelu kamery otworkowej do obliczenia informacji.

Ta grafika dość dobrze pokazuje, co się dzieje: Model kamery otworkowej w jednej płaszczyźnie

Na poziomej osi widać f. Jest to ogniskowa obiektywu. Następnie strzałka oznaczona jako Y1 jest płaszczyzną obrazu (w której znajduje się czujnik). Jeśli czujnik ma połowę wielkości y1, to kąt zielonej linii z poziomą wynosi połowę twojego pola widzenia .

Podstawowa geometria może dać pole widzenia: FOV = 2 * arctan(y1 / f)

Pamiętaj o dwóch rzeczach:

  1. Jednostki
  2. y1jest o połowę mniejszy od twojego czujnika. Jeśli masz czujnik 1 ", pół rozmiaru będzie wynosić 8 mm (jak zaznaczono w komentarzach mattdm), a twoje obliczenia dadzą FOV wzdłuż przekątnej czujnika. Jeśli chcesz go wzdłuż poziomej , to musisz trzeba obliczyć szerokość czujnika i użyć tego jako wartości dla y1.
Unapiedra
źródło
2
Pamiętaj też, że czujnik 1 ”ma przekątną około 16 mm i jest znacznie mniejszy niż cal. Zobacz, dlaczego czujnik 1” ma wymiary 13,2 x 8,8 mm?
Proszę przeczytać mój profil
2

# 2 nie powinno mieć znaczenia, z wyjątkiem ewentualnej niewielkiej korekty zmiany FOV z ogniskowaniem, ale współczynnik kształtu będzie miał wpływ. Może również chcesz określić, czy szukasz poziomego pola widzenia, czy przekątnej

Gdybym miał obiektyw, po prostu poszedłbym na niski poziom technologiczny i zrobiłbym zdjęcie przedmiotowi o znanej wielkości. Uwzględnia to również wszelkie inne czynniki, które mogą być w grze. Na przykład obiektyw taki jak obiektyw typu „rybie oko” może mieć określony obszar pola widzenia na matrycy pełnoklatkowej, ale jeśli masz mniejszy czujnik, możesz nie być w stanie łatwo obliczyć pola widzenia przy użyciu prostej formuły ze względu na zniekształcenie obiektywu.

David Goldwasser
źródło
Chce wiedzieć, jak działają kalkulatory, co najwyraźniej nie robi zdjęcia znanemu obiektowi.
Unapiedra