มีสูตรคำนวณ DOF หรือไม่?


16

ฉันค่อนข้างชัดเจนเกี่ยวกับอานนท์ที่ขึ้นอยู่กับ:

  1. ความยาวโฟกัส
  2. รู
  3. ระยะทางจากวัตถุ
  4. ขนาดเซ็นเซอร์
    และอื่น ๆ (ตามที่ระบุไว้ในความคิดเห็น)

แต่คำถามคืออะไร: มีสูตรที่เกี่ยวข้องกับปัจจัยทั้งหมดเหล่านี้กับ DOF หรือไม่? รับค่าเหล่านี้เป็นไปได้หรือไม่ที่จะคำนวณความลึกของสนามอย่างแม่นยำ?


1
มีอีกสองสิ่งที่ต้องพิจารณา: (5) ขนาดของภาพสุดท้าย; และ (6) ไม่ว่าคุณจะเกี่ยวข้องกับ "โซนของความคมชัดที่ยอมรับได้" เมื่อคำนึงถึงปัจจัยห้าประการอื่น ๆ หรือ "โซนของความพร่ามัวเพียงพอ"

คำตอบ:


17

ความชัดลึกของสนามขึ้นอยู่กับสองปัจจัยการขยายและ f-number

ความยาวโฟกัสระยะวัตถุขนาดและวงกลมของความสับสน (รัศมีที่เบลอจะมองเห็นได้) ร่วมกันกำหนดกำลังขยาย

ความชัดลึกไม่ได้ขึ้นอยู่กับการออกแบบเลนส์หรือกล้องอื่น ๆ นอกเหนือจากตัวแปรในสูตรดังนั้นจึงมีสูตรทั่วไปในการคำนวณความลึกของสนามสำหรับกล้องและเลนส์ทั้งหมด ฉันไม่ได้มีความมุ่งมั่นในความทรงจำดังนั้นฉันจะคัดลอกและวางจาก Wikipedia เท่านั้นดังนั้นฉันจะออกจากลิงค์นี้:

คำตอบที่ดีกว่าสำหรับคำถามของคุณคือการได้มาของสูตรจากหลักการแรกสิ่งที่ฉันตั้งใจจะทำในขณะที่ยังไม่มีเวลา หากใครต้องการเป็นอาสาสมัครฉันจะให้ upvote;)


15

คุณต้องการคณิตศาสตร์ดังนั้นที่นี่มันไป:

คุณจำเป็นต้องรู้CoCของกล้องของคุณเซ็นเซอร์ขนาด APS-C ของแคนนอนหมายเลขนี้คือ 0.018 สำหรับ Nikon APS-C 0.019 สำหรับเซ็นเซอร์ฟูลเฟรมและฟิล์ม 35 มม. จำนวนคือ 0.029

สูตรมีไว้เพื่อความสมบูรณ์:

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

อีกวิธีในการทำเช่นนี้คือสูตร Zeiss :

c = d/1730

โดยที่ d คือขนาดทแยงมุมของเซ็นเซอร์และ c คือ CoC ที่ยอมรับได้สูงสุด สิ่งนี้ให้ตัวเลขที่แตกต่างกันเล็กน้อย

คุณต้องคำนวณระยะทาง hyperfocal ก่อนสำหรับเลนส์และกล้องของคุณ (สูตรนี้ไม่ถูกต้องโดยมีระยะทางใกล้กับทางยาวโฟกัสเช่นมาโครสุดขั้ว):

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

เช่น:

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)

ถัดไปคุณต้องคำนวณจุดใกล้ซึ่งเป็นระยะทางที่ใกล้ที่สุดซึ่งจะอยู่ในโฟกัสโดยให้ระยะห่างระหว่างกล้องกับวัตถุ:

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

เช่น:

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)

ถัดไปคุณต้องคำนวณจุดไกลซึ่งเป็นระยะทางไกลที่สุดซึ่งจะอยู่ในโฟกัสโดยกำหนดระยะห่างระหว่างกล้องกับวัตถุ:

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

เช่น:

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)

ตอนนี้คุณสามารถคำนวณระยะโฟกัสทั้งหมด:

TotalDoF = FarPoint - NearPoint

เช่น:

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

ดังนั้นสูตรที่สมบูรณ์ด้วย w / CoC และ HyperFocal คำนวณล่วงหน้า:

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

หรือทำให้ง่ายขึ้น:

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

ด้วย CoC precalulated: ฉันพยายามทำให้สมการต่อไปนี้ง่ายขึ้นด้วยการแทนที่ต่อไปนี้: a = ระยะการดู (ซม.) b = ความละเอียดของภาพสุดท้ายที่ต้องการ (lp / mm) สำหรับระยะการดู 25 ซม. c = การขยาย d = FocalLength e = รูรับแสง f = ระยะทาง 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)))

ย่อ:

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))

ง่ายยิ่งขึ้นอีกด้วย WolframAlpha:

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

หรือถ้าไม่มีการคำนวณล่วงหน้าคุณจะได้รับสัตว์ประหลาดตัวนี้ซึ่งใช้ไม่ได้:

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))

ย่อ:

(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)

ดังนั้นโดยทั่วไปใช้คำนวณ CoC และ HyperFocal :)


@mattdm ตอบคำถามของคุณเกี่ยวกับการรวมสูตรหรือไม่?
สดุดี

ใช่มีประโยชน์มากขอบคุณ (ขออภัยฉันลืมกำหนดค่าหัว)
mattdm

8

หากคุณต้องการที่จะเห็นการใช้งานจริงของความลึกของสูตรภาคสนามคุณสามารถตรวจสอบความลึกออนไลน์ของเครื่องคิดเลขภาคสนามนี้ แหล่งที่มาของหน้า HTML ที่เชื่อมโยงนั้นมีสูตรทั้งหมดที่ใช้ใน Javascript


4

ใช่มีสูตรอยู่ หนึ่งสามารถพบได้ที่http://www.dofmaster.com/equations.html สูตรเหล่านี้ใช้กับเครื่องคิดเลขนี้และยังอธิบายความลึกของสนามโดยละเอียด ฉันใช้เว็บไซต์นี้หลายครั้งและพบว่ามันถูกต้องสมเหตุสมผลหลังจากทำการทดสอบจริง



0

P = จุดมุ่งเน้นไปที่

Pd = กำหนดจุดที่ห่างไกลอย่างรวดเร็ว

Pn = ใกล้ถึงจุดที่กำหนดไว้อย่างรวดเร็ว

D = เส้นผ่านศูนย์กลางของวงกลมแห่งความสับสน

f = f-number

F = ทางยาวโฟกัส

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

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

มาตรฐานอุตสาหกรรมเพื่อตั้ง D = 1/1000 ของทางยาวโฟกัส สำหรับการทำงานที่แม่นยำยิ่งขึ้นให้ใช้ 1/1500 ของความยาวโฟกัส รับความยาวโฟกัส 100 มม. จากนั้น 1/1000 ของ 100 มม. = 0.1 มม. หรือ 1/1500 = 0.6666 มม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.