Bu fotoğraf neden f / 29'da net görünmüyor?


25

Bu resmin neden keskin olmadığı konusunda kafam karıştı. Bu, F / 29 ISO100 1/250'de, 38 mm'de odaklanmış 17-85 mm'lik bir mercekle çekilmiş bir portre. Denek mesafesi 1.2 M idi. DOF uygulamam DOF'imin ~ 82.98cm veya yaklaşık 1M olması gerektiğini söylüyor.

Bu resmin neden olması gerektiği kadar net olmadığı konusunda kafam karıştı. Bu ekran görüntüsü için% 200 oranında yakınlaştırdım. % 200 normalde bu kadar bulanıklık var mı?

EDIT: Bazı kişilerin bu çekimde DOF hakkında soruları var, bu yüzden burada herhangi bir çevrimiçi DOF hesaplayıcısından toplanabilecek bazı bilgiler var. 82.8cm tahminim bir uygulamadan yapıldı ve 1.2M EXIF ​​bilgisindendi, bu çevrimiçi aracı kullanarak, F28'deki DOF şöyle olurdu:

 Subject distance   1.2 m

 **Depth of field** 
 Near limit     0.84 m
 Far limit      2.13 m
 Total          1.29 m

 In front of subject        0.36 m  (28%)
 Behind subject             0.93 m  (72%)

 Hyperfocal distance         2.7 m
 Circle of confusion       0.019 mm

Bu da doğrudur çünkü kameradan ne kadar uzaktaydım - 1.2M. Bu yüzden bu çekimin odağın dışında kalması için kameradan yaklaşık yarım metre uzakta olmak zorunda kalacağım. Muhtemelen bu fotoğrafta gözlemlenen bulanıklık, konuya odaklanmadığı için değildir.

portre F / 29 ISO100 1/250


6
kırınım bu açıklıkta bir rol oynar
null

7
Çoğunlukla bir kopya değilse kesinlikle ilgili: “Kırınım sınırı” nedir? .
Philip Kendall

1
Objektif 38mm veya 38cm'de odaklandı mı? mm olası görünmüyor.
mattdm

9
Ayarlarınızın açıklamasında hiçbir yerde merceğinizin odaklandığı noktadan bahsetmediniz. Bunun, zoom lensinizin ayarlandığı odak uzaklığı ile ilgisi olmadığını unutmayın. Objektifi bildiğimiz kadarıyla sonsuza dek odaklanmış olabilirsiniz. Tamam, belki sonsuzluk değildir, ama sadece odaklanmanın eksik olması muhtemel bir adaydır.
osullic

2
“Odaklanmış” ve “odak uzaklığı” iki farklı kavramdır. Daha burada .
mattdm

Yanıtlar:


48

Diğer cevaplarda da belirtildiği gibi, kırınım netliğin olmamasına neden olmuştur. Bunu test etmek için, F / 29'a karşılık gelen nokta yayma işlevini kullanarak dekonvolüsyon kullanarak görüntü netleştirilmeye çalışılabilir. Kırınım için, biz (genel bir normalizasyon kadar)

P (s) = {J 1 [ / rs / ( λF )] / [ / rs / ( λF )]} 2

J burada 1 olduğu için 1 birinci türden Bessel fonksiyonu ,
s resmin piksel olarak ölçülen mesafe, bir
r , - (bitki sensörleri 6) m, tipik olarak (^ 10 * yaklaşık 4.2) bir piksel büyüklüğünde
λ , ışığın dalga boyudur ve
F , F sayısı, bu durumda 29'dur.

Bu, tek renkli ışık için geçerlidir, renk kanalları için nokta yayılma fonksiyonunu yaklaşık olarak belirlemek için, bazı uygun dalga boyları aralığında ortalayabiliriz. Ayrıca, P (ler) i s ile belirtilen piksel alanı üzerine entegre etmelidir.

3 renk kanalı için 3 nokta yayma işlevini bu şekilde derlersek, görüntüyü doğrusal renk uzayına dönüştürerek ve bir dekonvolüsyon algoritması uygulayarak ve sonra sRGB'ye dönüştürerek netleştirebiliriz. Aşağıdaki sonucu aldım:

Keskinleştirilmiş resim

Bu nedenle, yüz, yalnızca F sayısı ve piksel boyutuyla ilgili varsayım hakkındaki veriler kullanılarak önemli ölçüde keskinleştirildi. Banding artefaktları görüntünün karanlık kısmında görülebilir, bunun nedeni tekrar sRGB'ye dönüştükten sonra posterleşmesidir.

İstendiği gibi, kullanılan programlar hakkında daha fazla ayrıntı ekleyeceğim. ImageJ ve ImageMagick'i kullandım , ayrıca nokta yayma fonksiyonunu hesaplamak için Mathematica'yı da kullandım, ancak ImageJ içinde de yapılabilir. Zaten point spread fonksiyonuna sahipken ImageJ ile dekonvolüsyonu nasıl yaptığımı açıklayarak başlayacağım. Dekonvolüsyon yapmak için ImageJ için bir eklenti yüklemeniz gerekir, bu eklentiyi bu dava için kullandım , fakat aynı zamanda DeconvolutionLab eklentisi gibi başka eklentiler de mevcut .

Öncelikle, doğrusal renk uzayına dönüştürmeniz gerekiyor, komutunu kullanarak keskin olmayan görüntüyü (input.jpg) doğrusal renk alanına dönüştürmek için ImageMagick kullandım:

convert input.jpg -colorspace RGB output.tif

Sonra ImageJ ile, output.tif dosyasını açın. Ardından, menü seçeneklerinden "image", sonra "color" ve ardından "Spit Channels" seçeneğini seçin. Sonra menüden "eklentileri" ve ardından "paralel yinelemeli dekonvolüsyonu" ve ardından 2d etkileşimli dekonvolüsyonu "seçin.

Ardından dekonvolüsyon penceresini görürsünüz, ardından görüntüyü seçersiniz ve "PSF", nokta yayılma işlevini ifade eder, burada nokta yayma işlevini içeren görüntü dosyasını seçersiniz. Yöntem için, düşük gürültülü görüntüler için genellikle oldukça iyi çalışan Wiener filtresine dayanan "WPL" yi seçiyorum. WPL seçeneklerinde "PSF'yi normalleştir" seçeneğini işaretleyin ve düşük geçiş filtresi için değeri 0,2 olarak değiştirin, varsayılan olarak 1'dir, ancak düşük gürültülü görüntüler için düşük bir değer daha iyidir (eğer daha büyük seçerseniz, Daha az keskin bir görüntü elde edersiniz). Diğer seçenekler, Sınır refleks olarak seçilebilir, yeniden boyutlandırma "2 sonraki güç" olarak ayarlanabilir, çıktı 32 bit olarak ayarlanabilir, hassasiyet iki katına ayarlanabilir. 15 olan maksimum yineleme sayısını seçtim.

Daha sonra "dekonvolve" ye tıklayarak programı çalıştırın. Daha sonra çıktı olarak 32 bit görüntü dosyası elde edersiniz. Genellikle, piksel değerleri orijinal resimdeki değerlere oldukça benzerdir, ancak orijinal resim formatı için maksimum değeri aşan bazı piksellere sahip olabilirsiniz. Böylece, bu durumda 8 bit görüntüyle başladık, ancak çözülmüş görüntüde 255'i aşan gri değerlere sahip olabilirsiniz, bu da tüm görüntünün çok karanlık olmasına neden olur. Bu, bu "piksel" menüsünde "sonra" ve sonra "Matematik" ve sonra "Maks" seçerek yapabileceğiniz 255'e kırpılarak düzeltilmelidir. Maksimum değer, bu değeri aşan gri değerleri kesmek için kullanılacaktır. Bunun, en son tıkladığınız resme yapılacağını unutmayın. Hangi dosyanın "geçerli dosya" olduğunu da "seçerek" görebilirsiniz.

Ardından 3 renk bileşenini çözdükten sonra, bunları "görüntü", sonra "renk" ve sonra "Kanalları Birleştir" menüsünden seçerek birleştirebilirsiniz. Daha sonra orada bulduğunuz "RGB to Stack" komutunu kullanarak 8 bit RGB'ye dönüştürebileceğiniz bir kompozit görüntü elde edersiniz.

Daha sonra o resmi kaydedin, diyelim im.tif. Son olarak, bunu sRGB'ye dönüştürmelisiniz, bunu aşağıdaki komutu kullanarak ImageMagick ile yapabilirsiniz:

convert im.tif -set colorspace RGB -colorspace sRGB output.tif

Kalan soru daha sonra nokta yayma fonksiyonunun nasıl elde edileceğidir. Uygulamada, burada tartışılan resim gibi bir fotoğraf çekmiş olsaydınız, bir nokta kaynağının, örneğin F / 29'daki bir yıldızın fotoğrafını çekebilir ve bunu nokta yayma işleviniz olarak kullanabilirsiniz. Alternatif olarak, yüksek karşıtlık sınırlarına bakabilir ve nokta yayma işlevini, gri değerlerin bir değerden diğerine sınır boyunca değiştiği şekilde çıkarabilirsiniz. Fakat görüntüyü elinizden geldiğince netleştirmeye çalışıyorsunuz.

Bu durumda amaç, F / 29 için olmasını beklediğinize dayanarak renk kanalı için nokta yayma fonksiyonlarını derlemekti, görüntüyü bununla kirletin ve sonucun yeterince iyi görünüp görünmediğine bakın. Bazı hesaplamaları yapmak için Mathematica'yı kullandım ve bu kadar gelişmiş bir bilgisayar cebir programında, dalgaboyu aralığında ortalama alma ve PSF'yi daha gerçekçi hale getirmek için piksel alanlarına entegrasyon dahil olmak üzere her türlü manipülasyonu yapmak oldukça kolay.

Ancak ImageJ, nokta yayma işlevi olarak kullanabileceğiniz yeni bir görüntü oluşturmanıza da olanak sağlar. "Dosya" yı ve ardından "Yeni" yi tıklatırsanız, 32 x 64 boyutunda bir görüntü oluşturabilirsiniz, örneğin 64 x 64 siyahla dolu. Daha sonra "işlem" i, sonra "Matematik" i ve sonra "Makro" yu seçerek gri değerler için bir formül programlayabilirsiniz. Burada Bessel işlevini içeren bu durum için nokta yayılma işlevini elde etmek için, serinin genişlemesinin ilk birkaç terimi tarafından iyi tanımlandığı gerçeğini kullanabilirsiniz. Bağlandığım MathWorld sayfası size bu seri açılımlarını veriyor, yani J 1 (x) 2 / x 2 , x = gives ile rs / ( λF ) işleviyle değiştirilebilir A + B s 2 + C s 4. S çok büyükse bu yaklaşım geçersiz hale gelir. Şimdi, PSF'nin sıfıra yöneldiğini biliyoruz, örneğin yaklaşık 5 veya 6 piksellik bir mesafede sıfıra ayarlanabileceğini. Polinomun bu değerlerde hala küçük olduğunu varsayarak, Makroyu şöyle yazabilirsiniz:

if(d<7) v = A + B  * pow(d,2) +  B * pow(d,4)

Daha sonra lambda = 650 nm, 500 nm ve 400 nm için 3 görüntü veya 3 renk kanalında kırınımı temsil etmek için uygun olduğunu düşündüğünüz diğer değerler ne olursa olsun oluşturursunuz. Daha sonra farklı lambdalar için resimler oluşturarak ve ardından "işlem" i, ardından "görüntü hesaplayıcısını" seçerek birkaç farklı dalga boyunun ortalamasını yapabilirsiniz. Burada "ekle" seçeneğini seçin. Daha sonra bu sonuca başka bir resim ekleyebilir ve ekleme işlemini tamamladığınızda, "işlem" i, ardından "matematik" i ve ardından "böl" i seçerek ortalamayı elde etmek için bölebilirsiniz.


Bu çok şaşırtıcı. Kameraların otomatik düzeltme cephaneliğinde bu yerleşik olana kadar ne kadar süreceğini merak ediyorum ve bu tür bir şey elbette uygulanıyor.
mattdm

2
Matematik eklemek için +10 (gerçekte +10 yapamıyor). Eklemiş olman harika. Bunun için herhangi bir alıntı verebilir misiniz? Bunu kendim denemek istiyorum. Daha detaylı matematik neşeli!
Bozuk MyStack,

Bu gerçekten oldukça şaşırtıcı. Bunu hangi yazılımda yaptınız? Bu, makro fotoğrafçılık için inanılmaz derecede faydalı olabilir gibi görünüyor.
Whelkaholism

@mattdm Deconvolution oldukça fazla hesaplama gücü gerektirir, ancak daha sonra Richardson – Lucy dekonvolüsyonu gibi bazı algoritmalar donanımda diğerlerinden daha kolay uygulanabilir. Ayrıca, ham dosyalarını bilgisayarlarında işlemek için kullanılan kamera yazılımı, odaklanma ve kırılma nedeniyle elde ettiğiniz gerçek bulanıklık ile başa çıkmak için özel olarak optimize edilmiş dekonvolüsyon içerebilir.
Iblis

1
@CorruptedMyStack Cevabına biraz daha detay ekleyeceğim. Raw dosyanız varsa, çok daha iyi bir iş çıkarmanız gerekir. Sensör boyutuna bakabilir ve bundan piksel boyutunu hesaplayabilirsiniz. Ancak aynı zamanda hesaplamalardan geçebilir ve nesneye benzer bir noktaya ait resimler çekerek doğrudan nokta yayma işlevini ölçebilir ve ardından nokta yayma işlevini buradan çıkarabilirsiniz. Kırınım durumunda, dekonvolüsyon ham dosyalarla en iyi şekilde yapılır, diğer durumlardakinden farklı olarak, şimdi dekonvolüsyon yapılmadan önce düzeltilmesi gereken renk saçaklarına sahipsiniz.
Kontu

51

Sen ezmek ettik kırınım sınırı . Küçük bir delikten geçen ışık ışınları birbirinden ayrılır ve etkileşime girer ve bir desen ortaya çıkar - farklı frekansların / yerleşimlerin ayrı ışınların birbirini eklemesine veya olumsuzlamasına neden olabileceği bir bant türü. Açıklık küçüldükçe, bu sapma / girişim büyür. Bu desene Airy disk adı verilir. Airy diskin zirvesinin çapı bir pikselin boyutundan daha büyük olduğunda ve her piksel için Airy diskleri birleşmeye başladığında, yumuşaklık elde edersiniz - böylece sensörünüzün piksel sayısı ne kadar yüksek ve sensörünüz o kadar küçük olur, Dururken görürsün.

Genellikle "mutlu bir ortam" da daha keskinsiniz. Cihazınızın "mutlu ortamı" nerede olabilir, piksel yoğunluğuna / boyutuna ve lens tasarımına bağlı olarak değişebilir. 17-85 lens referansından kullandığınızı zekice algıladığım APS-C boyutlu sensörlerle, gerçekten de iyi bir sebep ve biraz keskinlik bırakmaya istekli olmadan f / 11 üzerinden geçmek istemezsiniz. Teorik kırınım sınırları, muhtemelen f / 5.6-f / 8 aralığında olacaktır. Ayrıca lensinizin "tatlı noktasının" nerede olduğunu bulmak isteyeceksiniz - birçok lens geniş açıktan 1-2 durak daha önce durdurulmuş olarak daha iyi performans gösteriyor. Örneğin, EF 50mm f / 1.8 II'nin "tatlı noktası" f / 4-5.6 aralığındadır.

Keskinliği% 200 büyütmede yargılamak, tüm lenslerinizin dogmeat gibi görünmesini istiyor. Bu, tipik bir baskıya sahip olabileceğiniz mesafeleri görüntüleme açısından gerçekçi bir büyütme değildir ve tatlı yerinde kullanılsa bile, bu tür testlere dayanacak nadir bir mercektir. Piksel gözetlemeyi durdur. Baskıya bakmaya başla.

Ayrıca bakınız: http://www.cambridgeincolour.com/tutorials/diffraction-photography.htm


Veya, baskının nasıl görünebileceğini yargılıyorsanız, o zaman: görüntüyü, ekranda göründüğü gibi aynı boyutta ekranda görünecek şekilde büyütün ve ekrana yaptığınız gibi aynı mesafeden bakın yazdırın. Bu, size mükemmel bir yöntem olmasa da, nihai sonucun nasıl görüneceği hakkında daha iyi bir fikir verecektir . @CorruptedMyStack
CVn

15

Kırınım yüzünden. f / 29, net bir görüntü beklemeniz için çok fazla. Aynı şeyi f / 8'de çekmeyi deneyin; farkı göreceksiniz.

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.