Apakah ada rumus untuk menghitung DOF?


16

Saya cukup jelas tentang DOF yang tergantung pada:

  1. Focal length
  2. Bukaan
  3. Jarak dari subjek
  4. Ukuran sensor
    dan lainnya (seperti yang ditunjukkan dalam komentar).

Tapi apa pertanyaannya di sini adalah: Apakah ada rumus yang menghubungkan semua faktor ini dengan DOF ?? Mengingat nilai-nilai ini apakah mungkin untuk secara akurat menghitung kedalaman bidang ??


1
Ada dua hal lagi yang perlu dipertimbangkan: (5) ukuran gambar akhir; dan (6) apakah Anda peduli dengan "zona ketajaman yang dapat diterima" ketika lima faktor lainnya diperhitungkan, atau dengan "zona kekaburan yang cukup".

Jawaban:


17

Kedalaman bidang tergantung pada dua faktor, pembesaran dan f-number.

Panjang fokus, jarak subjek, ukuran dan lingkaran kebingungan (jari-jari di mana kabur menjadi terlihat) bersama-sama menentukan perbesaran.

Kedalaman bidang tidak tergantung pada lensa atau desain kamera selain dari variabel dalam rumus sehingga memang ada rumus umum untuk menghitung kedalaman bidang untuk semua kamera dan lensa. Saya tidak memiliki mereka semua berkomitmen untuk memori jadi saya hanya akan menyalin dan menempel dari Wikipedia, jadi saya akan meninggalkan tautan ini:

Jawaban yang lebih baik untuk pertanyaan Anda adalah melalui derivasi formula dari prinsip pertama, sesuatu yang telah saya maksudkan untuk sementara waktu tetapi belum sempat. Jika ada yang mau menjadi sukarelawan saya akan memberi mereka upvote;)


15

Anda menginginkan matematika, jadi begini:

Anda perlu mengetahui CoC kamera Anda, sensor berukuran Canon APS-C angka ini adalah 0,018, untuk Nikon APS-C 0,019, untuk sensor bingkai penuh dan film 35mm jumlahnya adalah 0,029.

Rumusnya adalah untuk kelengkapan:

CoC (mm) = viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25

Cara lain untuk melakukan ini adalah rumus Zeiss :

c = d/1730

Di mana d adalah ukuran diagonal dari sensor, dan c adalah CoC maksimum yang dapat diterima. Ini menghasilkan angka yang sedikit berbeda.

Anda harus menghitung terlebih dahulu jarak hyperfocal untuk lensa dan kamera Anda (rumus ini tidak akurat dengan jarak yang dekat dengan panjang fokus, misalnya makro ekstrim):

HyperFocal[mm] = (FocalLength * FocalLength) / (Aperture * CoC)

misalnya:

50mm lens @ f/1.4 on a full frame:      61576mm (201.7 feet)
50mm lens @ f/2.8 on a full frame:      30788mm (101 feet)
50mm lens @ f/1.4 on a Canon APS frame: 99206mm (325.4 feet)
50mm lens @ f/2.8 on a Canon APS frame: 49600mm (162.7 feet)

Selanjutnya Anda perlu menghitung titik dekat yang merupakan jarak terdekat yang akan menjadi fokus mengingat jarak antara kamera dan subjek:

NearPoint[mm] = (HyperFocal * distance) / (HyperFocal + (distance – focal))

misalnya:

50mm lens @ f/1.4 on a full frame with a subject at 1m distance: 0.984m (~16mm in front of target)
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 2.862m (~137mm in front of target)
50mm lens @ f/2.8 on a full frame with a subject at 1m distance: 0.970m (~30mm in front of target)
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 2.737m (~263mm in front of target)

50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance: 0.990m (~10mm in front of target)
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 2.913m (~86mm in front of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance: 0.981m (~19mm in front of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 2.831m (~168mm in front of target)

Selanjutnya Anda perlu menghitung titik jauh yang merupakan jarak terjauh yang akan menjadi fokus mengingat jarak antara kamera dan subjek:

FarPoint[mm] = (HyperFocal * distance) / (HyperFocal – (distance – focal))

misalnya:

50mm lens @ f/1.4 on a full frame with a subject at 1m distance: 1.015m (~15mm behind of target)
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 3.150m (~150mm behind of target)
50mm lens @ f/2.8 on a full frame with a subject at 1m distance: 1.031m (~31mm behind of target)
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 3.317m (~317mm behind of target)

50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance: 1.009m (~9mm behind of target)
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 3.091m (~91mm behind of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance: 1.019m (~19mm behind of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 3.189m (~189mm behind of target)

Sekarang Anda dapat menghitung total jarak fokus:

TotalDoF = FarPoint - NearPoint

misalnya:

50mm lens @ f/1.4 on a full frame with a subject at 1m distance:  31mm
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 228mm
50mm lens @ f/2.8 on a full frame with a subject at 1m distance:  61mm
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 580mm

50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance:  19mm
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 178mm
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance:  38mm
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 358mm

Jadi rumus lengkapnya w / CoC dan HyperFocal yang dihitung sebelumnya:

TotalDoF[mm] = ((HyperFocal * distance) / (HyperFocal – (distance – focal))) -(HyperFocal * distance) / (HyperFocal + (distance – focal))

Atau disederhanakan:

TotalDoF[mm] = (2 * HyperFocal * distance * (distance - focal)) / (( HyperFocal + distance - focal) * (HyperFocal + focal - distance))

Dengan CoC precalulated: Saya telah berupaya untuk menyederhanakan persamaan berikut dengan substitusi berikut: a = jarak pandang (cm) b = resolusi gambar akhir yang diinginkan (lp / mm) untuk jarak pandang 25 cm c = pembesaran d = Panjang Fokus e = Bukaan f = jarak X = CoC

TotalDoF = ((((d * d) / (e * X)) * f) / (((d * d) / (e * X)) – (f – d))) - ((((d * d) / (e * X)) * f) / (((d * d) / (e * X)) + (f – d)))

Sederhana:

TotalDoF = (2*X*d^2*f*e(d-f))/((d^2 - X*d*e + X*f*e)*(d^2 + X*d*e - X*f*e))

Lebih jauh disederhanakan dengan WolframAlpha:

TotalDoF = (2 * d^2 * e * (d - f) * f * X)/(d^4 - e^2 * (d - f)^2 * X^2)

Atau jika tidak ada yang dihitung, Anda mendapatkan monster ini, yang tidak dapat digunakan:

TotalDoF = ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) * distance) / ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) – (distance – focal)) - ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) * distance) / ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) + (distance – focal))

Sederhana:

(50*a*b*c*d^2*f*e*(d-f))/((25*b*c*d^2 - a*d*e + a*f*e)*(25*b*c*d^2 + a*d*e - a*f*e)

Jadi pada dasarnya gunakan CoC dan HyperFocal :) yang dihitung ulang


@mattdm apakah ini menjawab pertanyaan Anda sehubungan dengan memasukkan formula?
psarossy

Ya, sangat membantu, terima kasih. (Maaf saya lupa menetapkan karunia.)
mattdm

8

Jika Anda ingin melihat implementasi praktis dari kedalaman rumus bidang, Anda dapat memeriksa Kalkulator Kedalaman Bidang Online ini . Sumber dari halaman HTML yang ditautkan memiliki semua formula diimplementasikan dalam Javascript.




0

P = titik fokus

Pd = titik jauh didefinisikan dengan tajam

Pn = titik dekat didefinisikan dengan tajam

D = diameter lingkaran kebingungan

f = f-number

F = panjang fokus

Pn = P ÷ (1 + PDf ÷ F ^ 2)

Pd = P ÷ (1-PDf ÷ F ^ 2)

Standar industri untuk menetapkan D = 1/1000 dari panjang fokus. Untuk pekerjaan yang lebih tepat gunakan 1/1500 dari panjang fokus. Anggaplah panjang fokus 100mm kemudian 1/1000 dari 100mm = 0,1mm atau 1/1500 = 0,6666mm

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.