Z komentarza Matta Gruma do mojego poprzedniego pytania dowiedziałem się, że producenci mogą swobodnie „zaokrąglać” rzeczywistą ogniskową obiektywu do ładnej liczby, która jest drukowana na pudełku i przechowywana w EXIF. Z jego odpowiedzi na to samo pytanie wydaje się, że musiałbym znać rzeczywistą ogniskową obiektywu, aby sprawdzić, jaka przysłona jest używana.
Słyszałem również, że większość obiektywów zmieni ogniskową, gdy zostanie ustawiona bardzo blisko.
Jak miałbym zacząć testować, jakiej ogniskowej faktycznie używa mój obiektyw, gdy jest skupiony na danej odległości? EXIF oczywiście mi tu nie pomoże, ponieważ dane są tam umieszczane przez producenta.
focal-length
tests
Imre
źródło
źródło
Odpowiedzi:
Istnieje metoda matematyczna / pomiarowa do obliczania efektywnej ogniskowej obiektywu poprzez pomiar jego kąta widzenia.
Wzór na kąt widzenia, jak podano
Aby obliczyć efektywną ogniskową (f), wzór sprowadza się do:
f = d / (2 * tan (α / 2)) -> Równanie 1
Gdzie d oznacza rozmiar czujnika w zmierzonym kierunku. d byłoby 24, jeśli używasz aparatu pełnoklatkowego.
Przejdźmy teraz do następującego ustawienia pomiaru α
Masz kamerę siedzącą na wysokości H od ziemi i w odległości X od ściany ze skalą. Teraz zrób zdjęcie i powinieneś być w stanie odczytać maksymalną wysokość, jaką może zobaczyć obiektyw (byłoby to H + Y).
Znając X i Y, możemy obliczyć połowę kąta widzenia (tj. Α / 2) za pomocą tego łącza (X byłby przeciwną stroną, a Y sąsiednią stroną)
Po ustaleniu α / 2 użyj go w równaniu 1, aby obliczyć efektywną ogniskową obiektywu.
Wartość jest dokładna tylko jako pomiary.
Edycja 1:
W nawiązaniu do pytania mattdm: czy podane przez producenta wymiary czujnika są wystarczająco bliskie?
W odniesieniu do rozmiarów czujników aparatów w tych linkach: tu i tutaj
Możemy logicznie założyć, że producenci aparatów lub przynajmniej Canon i Nikon zaokrąglają swoje rozmiary czujników 1/10 mm. tzn. istnieje możliwość błędu +/- 0,05 mm w przypadku, gdy zaokrąglają one rozmiar czujnika.
Rozważmy 3 rodzaje obiektywów:
1. Obiektyw szerokokątny (powiedzmy 13 mm, kąt widzenia: 85,4)
2. Normalny obiektyw (50 mm, kąt widzenia 27,0)
3. Teleobiektyw (300 mm, kąt widzenia: 4,58)
Efekt zmiany wielkości czujnika o 0,05 mm to:
zmiana dla obiektywu szerokokątnego = 0,05 / (2 * tan (85,4 / 2)) = 0,04613 mm ok.
Co stanowi różnicę 0,35% (tj. (0,04613 / 13) * 100)
zmiana dla zwykłego obiektywu = 0,05 / (2 * tan (27/2)) = 0,012 mm ok.
Co stanowi różnicę 0,024% (tj. (0,012 / 50) * 100)
zmiana dla teleobiektywu = 0,05 / (2 * tan (4,58 / 2)) = 0,0019 mm ok.
Co stanowi różnicę 0,0006% (tj. (0,0019 / 300) * 100)
Widzimy więc, że w przypadku obiektywu szerokokątnego 13 mm i biorąc błąd 0,05 mm w pomiarze producenta zmiana ogniskowej wynosi tylko 0,35%.
Mam nadzieję, że moja matematyka jest poprawna.
Edycja 2:
W związku z pytaniem Imre o pomiary dla X i H,
H należy mierzyć od ziemi do poziomego środka czujnika.
X to odległość między czujnikiem a ścianą.
źródło
Zakładając standardowy obiektyw, standardowy aparat, tzn. Konfiguracja może być modelowana jako kamera z otworami . Nie działa to z nachyleniem / przesunięciem, a może nie z obiektywami szerokokątnymi (jeśli chcesz o nich wiedzieć, możemy to rozwiązać).
W wizji komputerowej często obliczane są wewnętrzne właściwości kamer. Wewnętrznie, ponieważ odnoszą się do ustawień kamery w kamerze. Właściwości zewnętrzne to orientacja i pozycja. Własności wewnętrzne są liczne, w tym powiększenie. Moje rozwiązanie to:
Kalibrowanie
Kalibracja w CV odbywa się głównie przy użyciu wzoru szachownicy. Robisz kilka (~ 10) zdjęć tego wzoru z różnych pozycji i odległości. Algorytm działa wtedy w następujący sposób:
Teoretycznie poleciłbym do tego OpenCV, ma na to przykładowy kod. Ale to może nie jest zbyt praktyczne (w tym celu musisz zainstalować OpenCV i ewentualnie zmienić trochę kodu). Prawdopodobnie istnieją inne rozwiązania, które to robią.
Obliczanie ogniskowej
Wynikiem kroku kalibracji jest macierz K (zwana macierzą wewnętrzną). Odwzorowuje 3-punktowe punkty w układzie współrzędnych kamery na jednorodne 2-punktowe punkty na płaszczyźnie obrazu.
Dbamy tylko o \ alpha tutaj. p_x wynosi około połowy szerokości czujnika w pikselach, podobnie dla p_y, odnosi się do miejsca, w którym główny promień przecina płaszczyznę obrazu. Co ciekawe, mój tani aparat telefoniczny narusza znacznie więcej niż dobrą lustrzankę cyfrową, a nawet drogą kamerę internetową lub aparat iPhone'a 4.
\ alpha jest następnie związana z ogniskową. \ alpha = f m. m to liczba pikseli na jednostkę odległości we współrzędnych obrazu. f jest ogniskową. Ale uwaga: dotyczy to modelu kamery otworkowej, więc odległość między płaszczyzną obrazu a otworem pinowym aparatu. Nie jestem pewien, jak znaleźć fotografów z ogniskową.
Alternatywny
Ktoś opublikował link o innym podejściu: http://www.bobatkins.com/photography/technical/measuring_focal_length.html W artykule „Łatwy sposób” w artykule zaproponowano inną metodę. Biorąc pod uwagę dwie gwiazdy, sprawdź ich położenie i oblicz kąt między nimi. Następnie sprawdź, jak konfiguracja kamery mierzy ten kąt. Przeczytaj link, aby uzyskać pełny przebieg.
Minusem tego jest to, że nie będzie działać przy żadnej odległości ogniskowej, a skupi się tylko na nieskończoności. Z drugiej strony moje podejście nie będzie działać w nieskończoności. Lub traktuj 500 m jak nieskończoność, kup pole kukurydzy i koś do niego wzór szachownicy, wynajmij samolot i rób zdjęcia od 500 m w górę ...
źródło
Oblicz powiększenie M obiektywu, używając rozmiaru obiektu i obrazu. Przy pomocy M i odległości od obiektu można obliczyć ogniskową obiektywu.
źródło
Spojrzałem na „łatwą metodę” Boba Atkinsa, ale pozostawia to trochę pracy nad danymi astro.
Moja wersja jego metody zawiera wszystkie astro-informacje i linki, instrukcje krok po kroku i powinna być znacznie łatwiejsza do wdrożenia przez początkujących.
http://www.pentaxforums.com/forums/pentax-lens-articles/169225-using-2-stars-determine-actual-focal-length-lens-distance.html
źródło
Możesz ustawić soczewkę na spoczynku jak książkę, tworząc w ten sposób prymitywną ławkę optyczną. Dobrze oświetl cel. Najlepszy to władca. Wyreguluj obiektyw, aby obraz linijki spadł na biały papierowy ekran.
Baw się z odległościami, aż obraz linijki będzie „naturalnej wielkości”. Wiesz, 1: 1 inaczej zwany „powiększeniem jeden”. Za pomocą innej linijki zmierz odległość między oznaczeniami na obrazie rzutowanej reguły. Korzystanie z dwóch identycznych linijek pomaga. Teraz ustaw niezbędne powiększenie 1: 1.
Teraz zmierz odległość między celem a ekranem. Podziel tę wartość przez 4. Ta odpowiedź podaje ogniskową obiektywu.
źródło