Gerçek odak uzaklığı nasıl test edilir?


17

Matt Grum'un yorumundan önceki soruma kadar , üreticilerin bir lensin gerçek odak uzunluğunu kutuda basılan ve EXIF'de saklanan bazı güzel sayılara rasgele "yuvarlayabileceğini" öğrendim. Aynı soruya cevabından, diyaframın ne olduğunu test etmek için bir lensin gerçek odak uzunluğunu bilmem gerekiyor gibi görünüyor .

Ayrıca, çok yakın odaklandığında objektiflerin çoğunun odak uzunluğunu değiştireceğini duydum.

Belirli bir mesafeye odaklandığında lensimin gerçekte hangi odak uzunluğunu kullandığını test etmeye nasıl giderim ? EXIF açıkçası burada bana yardımcı olmayacak, çünkü veriler üretici tarafından buraya konuyor.


1
Evet, odak uzaklığı ile odak uzaklığı değişir. Sadece yakın odaklama için değil, orada fark etmek daha kolaydır. Normalde üreticiler sonsuza odaklandıklarında odak uzunluğunu belirtirler. Evet, Tokina ve Olympus hariç manufacturers milimetreye kadar olan çoğu üretici sayıyı bir milimetreye yuvarlar. Sigma'nın yarım milimetre odak uzunluğuna sahip bir merceği vardır.
Itai

@Itai Nikon'da ayrıca 10.5mm balıkgözü var
Imre

3
Geniş açıda uzun lenslere göre daha fazla fark yaratır. 10 ve 10.5 arasındaki fark, 200 ve 210 arasındaki fark ile aynıdır.
mattdm


1
Lenslerin Canon 100mm f / 2.8 makrosu ve Canon 100mm f / 2.8L IS makrosu arasındaki karşılaştırma çekimlerini ne kadar uzatabileceğine dair bir örnek için - her ikisi de "100mm" olarak satılmasına rağmen odak uzunlukları belirgin şekilde farklı!
Matt Grum

Yanıtlar:


10

Bir merceğin görüş açısını ölçerek etkili odak uzunluğunu hesaplamak için bir matematik / ölçüm yöntemi vardır.

Formül bakış açısı olarak verilir
resim açıklamasını buraya girin

Etkili odak uzunluğunu (f) hesaplamak için formül şu şekildedir:
f = d / (2 * tan (α / 2)) -> Denklem1

Burada d, ölçülen yönde sensörün boyutunu temsil eder. Tam çerçeve kamera kullanmanız durumunda d 24 olur.

Şimdi α ölçmek için aşağıdaki kurulum yapalım

resim açıklamasını buraya girin

Zeminden H yüksekliğinde ve duvardan ölçekli bir X mesafesinde oturan bir kameranız var. Şimdi bir resim çekin ve merceğin görebileceği maksimum yüksekliği okuyabilmeniz gerekir (bu H + Y olacaktır).
Şimdi X ve Y'yi bilerek, bu bağlantıyı kullanarak görüş açısının yarısını (yani α / 2) hesaplayabiliriz (X, karşı taraf ve Y bitişik taraf olacaktır)

Şimdi α / 2 çözdüğünüze göre, lensin etkin odak uzaklığını hesaplamak için Denklem 1'de kullanın.

Değer yalnızca ölçümleriniz olarak doğrudur.

Edit 1:
Mattdm'in sorusuyla ilgili olarak: Üreticinin belirttiği sensör boyutları yeterince yakın mı?
Bu bağlantılardaki kameranın sensör boyutlarına referansla: burada ve burada
Kamera üreticilerinin veya en azından Canon ve Nikon'un mm boyutlarının 1 / 10'unu algıladığını mantıklı bir şekilde varsayabiliriz. yani sensör boyutunu yuvarlamaları durumunda +/- 0,05 mm hata olasılığı vardır.
3 tip lens düşünelim:
1. Geniş açılı lens (diyelim 13mm, görüş açısı: 85.4)
2. Normal lens (50mm, görüş açısı 27.0)
3. Telefoto lens (300mm, görüş açısı: 4.58)

Sensör boyutunda
0.05 mm'lik bir değişikliğin etkisi şunlardır: geniş Açılı lens için değişiklik = 0.05 / (2 * tan (85.4 / 2)) = 0.04613 mm yaklaşık.
Bu,% 0.35'lik bir farkı temsil eder (yani (0.04613 / 13) * 100)

normal lens için değişiklik = 0.05 / (2 * tan (27/2)) = 0.012 mm yaklaşık.
Bu,% 0.024'lük bir farkı temsil eder (yani (0.012 / 50) * 100)

telefoto lens değişimi = 0.05 / (2 * tan (4.58 / 2)) = 0.0019 mm yaklaşık.
Bu,% 0.0006'lık bir farkı temsil eder (yani (0.0019 / 300) * 100)

Bu nedenle, 13 mm geniş açılı bir lensle ve üreticilerin ölçümünde 0,05 mm hata alarak odak uzunluğundaki değişimin sadece% 0,35 olduğunu görebiliriz.

Umarım matemetim doğrudur.

Edit 2:
Imre'nin X & H ölçümleri hakkındaki sorusuna istinaden H,
sensörün yatay merkezinden yere ölçülmelidir.
X, sensör ve duvar arasındaki mesafedir.


Eğer odak uzaklığını esas olarak görüş açısıyla ilgisiz olarak hesaplamak istiyorsa, bu mükemmel görünmektedir. Ancak @Ire, gerçek diyaframı hesaplama amacıyla bilmek istediklerinden bahsediyor. Bu, görüntüleme için kullanılan sensörün parçasının kesin boyutlarını bilmek çok önemlidir. Biri nasıl buluyor bu ? Üreticinin belirttiği sensör boyutları yeterince yakın mı?
mattdm

Sorunuz için cevabımı düzenledi.
Viv

Sanırım H, yerden lensin yatay merkezine kadar ölçülmelidir. X kamerada / mercekte hangi noktaya işaret ediyor?
Imre

Sorunuz için cevabım güncellendi.
Viv

3

Standart bir lens varsayarsak, standart kamera, yani kurulum iğne deliği kamera olarak modellenebilir . Bu eğim / kaydırma ile çalışmaz ve belki de geniş açılı lenslerle çalışmaz (bunları bilmek isterseniz, çalışabiliriz).

Bilgisayar görüşünde, genellikle kameraların içsel özellikleri hesaplanır. İçseldir çünkü kamera içindeki kameranın ayarlarına atıfta bulunurlar. Dışsal özellikler yönelim ve konumdur. İçsel özellikler, aralarında büyütme vardır. Benim çözümüm:

  • Kamerayı ve merceği verilen ayarlarda kalibre etmek için Computer Vision (CV) standart bir araç kullanın .
  • Kameranız için piksel boyutuna bakın.
  • Bir başkasından büyütmeyi odak uzunluğuna dönüştürmesini isteyin. (Bunun nasıl çalıştığını henüz bilmiyorum)

ayarlama

CV'de kalibrasyon çoğunlukla bir satranç tahtası paterni kullanılarak yapılır. Bu konumun çeşitli konumlardan ve mesafelerden birkaç (~ 10) fotoğrafı çekilir. Algoritma şu şekilde çalışır:

Her köşenin tahtadaki konumunu bildiğinizi varsayalım, kamera modelinde görüntülerdeki tahtadaki tüm noktaları görmeyi en iyi açıklayan bir dizi parametre bulun.

Teorik olarak bunun için OpenCV'yi tavsiye ederim, bunun için bir örnek kod var. Ancak bu çok pratik olmayabilir (bunun için OpenCV'yi yüklemeniz ve muhtemelen biraz kod değiştirmeniz gerekir.). Muhtemelen bunu yapan başka çözümler de var.

Odak uzaklığının hesaplanması

Kalibrasyon adımının sonucu K matrisidir (içsel matris olarak adlandırılır). Kameranın koordinat sistemindeki 3 boşluk noktalarını görüntü düzlemindeki homojen 2 boşluk noktalarıyla eşler.

$     \alpha 0      p_x
 K =  0      \alpha p_y
      0      0      1 $ (Multiple View Geometry, p. 157, 2nd Ed, 2003, Hartley & Zisserman)

Burada sadece \ alfa ile ilgileniyoruz. p_x, piksel cinsinden sensör genişliğinin yaklaşık yarısıdır, p_y için olduğu gibi, ana ışının görüntü düzlemiyle kesiştiği yer ile ilgilidir. İlginç bir şekilde, ucuz telefon kameram, iyi bir DSLR, hatta pahalı bir web kamerası veya bir Iphone 4 kameradan çok daha fazlasını ihlal ediyor.

\ alpha daha sonra odak uzunluğuyla ilişkilendirilir. \ alpha = f m. m, görüntü koordinatlarındaki birim mesafe başına piksel sayısıdır. f odak uzaklığıdır. Ancak not: bu iğne deliği kamera modelindedir, bu nedenle görüntü düzlemi ve kameranın iğne deliği arasındaki mesafe. Fotoğrafçıların düşündüğü odak uzaklığını nasıl bulacağından emin değilim.

Alternatif

Birisi farklı bir yaklaşımla ilgili bir bağlantı yayınladı: http://www.bobatkins.com/photography/technical/measuring_focal_length.html Makalede "Kolay Yol" da farklı bir yöntem önerildi. İki yıldız verildiğinde, yıldızların konumlarına bakın ve aralarındaki açıyı hesaplayın. Ardından kamera kurulumunuzun bu açıyı nasıl ölçtüğünü görün. Tam bir geçiş için bağlantıyı okuyun.

Bunun dezavantajı, herhangi bir odak mesafesi ile çalışmaz, sadece sonsuza odaklanır. Öte yandan, yaklaşımım sonsuzda işe yaramayacak. Veya 500m'yi sonsuzluk olarak ele alın, bir mısır tarlası satın alın ve içine bir satranç tahtası deseni biçin, uçak kiralayın ve 500m'den fotoğraf çekin ...


Büyütme ve odak uzaklığı hakkında bazı yararlı ayrıntıları burada bulabilirsiniz: pierretoscani.com/echo_focal_length.html#FocalLength04 Bu yardımcı olmazsa, odak uzunluğunu büyütmeye dönüştürmek ve formülü büyütmek için bir formül arayabilirsiniz. (bazı hızlı aramalarla bulduğum bu tür formüllerin çoğu GERÇEKTEN kaba ve genellikle 50 mm'lik bir lensin 35mm film için "normal" olduğu doğru olmayan anektoda dayanıyor, ancak durum böyle değil (Ayrıntılar için yorumlara bakın) .)
jrista

1

Nesneyi ve görüntü boyutunu kullanarak lensin M büyütmesini hesaplayın. M ve nesne mesafesi ile lensin odak uzaklığı hesaplanabilir.


Lise geometri sınıfımın yirmi yıl büyüklüğünde olduğunu varsayarsak, bunu nasıl yapabilirim?
mattdm

Örnek olarak. Fotoğraf makinesinden 10 metre (d_o) iki metrelik (S_o) bir çubuk görüntüsü. Görüntüden iki metre çubuk 1000 piksel genişliğindedir. Her piksel 10 mikro metredir ve görüntü boyutu 0.01 metredir (S_i). Büyütme M = S_i / S_o = 0.01 / 2 = 0.005'tir. Ben düşünüyorum M = f / (f-d_o), bir optik kitap ile onaylayın isteyebilirsiniz. Odak uzaklığı f hesaplanabilir.
JMD

Az önce f = 55 mm olarak ayarlanmış bir kanon lensi test ettim ve ölçülen odak uzunluğu 52 mm +/- 0,75 mm idi.
JMD

1
JMD, topluluğa hoş geldiniz. yorumlarınızı cevabın gövdesine taşımak isteyebilirsiniz.
ysap

Bu yalnızca nesne çok uzaktaysa çalışır. Aksi takdirde, merceğin iki ana noktası arasındaki mesafeyi dikkate almanız gerekir. Çoğu zaman bu mesafenin ne olduğunu bilmiyorsunuz.
Edgar Bonet

1

Bob Atkins'in "Kolay yöntemine" baktım, ama bu size bazı astro verileri çalıştırmanızı sağlar.

Yöntemin sürümü, tüm astro nasıl yapılır bilgilerini ve bağlantılarını adım adım talimatlarla sağlıyor ve acemilerin uygulanması için daha kolay olmalı.

http://www.pentaxforums.com/forums/pentax-lens-articles/169225-using-2-stars-determine-actual-focal-length-lens-distance.html


Merhaba, Stack Exchange'e hoş geldiniz. Burada yönteminizin en azından bir özetini yayınlamak ister misiniz? Pentax Forums, geçmişte en az bir kez bir şey değiştirdi, böylece gelen tüm bağlantılar koptu.
mattdm

Kişisel web alanım bitti. Bu Pentaxforums makalesinde bağlantısı olan silinen dosyalar geri yüklendi.
dosdan

-1

Merceği bir kitap gibi dinlenmeye bırakabilir, böylece ham bir optik tezgah oluşturabilirsiniz. Bir hedefi aydınlatın. En iyisi bir hükümdar. Merceği cetvelin görüntüsü beyaz kağıt ekranına düşecek şekilde ayarlayın.

Cetvelin görüntüsü “yaşam boyu” oluncaya kadar mesafelerle uğraşın. Bilirsiniz, 1: 1 aksi takdirde “bir büyütme” denir. Başka bir cetvel kullanarak, yansıtılan kuralın görüntüsü üzerindeki işaretler arasındaki mesafeyi ölçün. İki özdeş cetvel kullanmak yardımcı olur. Şimdi gerekli 1: 1 büyütmeyi ayarlayın.

Şimdi hedef ve ekran arasındaki mesafeyi ölçün. Bu değeri 4'e bölün. Bu cevap lensin odak uzunluğunu verir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.