Jag är ganska tydlig med att DOF beror på:
- Fokallängd
- Bländare eller f-stop
- Avstånd från motiv
- Sensorstorlek
och mer (som påpekas i den här kommentaren ).
Men min fråga är: Finns det någon formel som relaterar alla dessa faktorer till skärpedjup?
Givet dessa värden är det möjligt att exakt beräkna skärpedjupet?
Kommentarer
- Det finns ytterligare två saker att tänka på: (5) storleken på den slutliga bilden; och (6) om du är bekymrad över " zonen med acceptabel skärpa " när de andra fem faktorerna beaktas, eller med " zonen med tillräcklig suddighet ".
Svar
Fältdjup beror på två faktorer, förstoring och f-nummer.
Fokallängd, motivavstånd, storlek och förvirringscirkel (radien vid vilken suddighet blir synlig) bestämma förstoringen gemensamt.
Fältdjup beror inte på lins- eller kameradesign än variablerna i formeln så det finns faktiskt allmänna formler för att beräkna skärpedjup för alla kameror och linser. Jag har inte alla förbundna med minne så jag skulle bara kopiera och klistra in från Wikipedia: Fältdjup .
A bättre svar på din fråga skulle vara att gå igenom härledningen av formlerna från de första principerna, något jag har tänkt göra ett tag men inte har haft tid. Om någon vill vara volontär vill jag ge dem en röst;)
Kommentarer
- Att ' s något blandat. Förstoring bestäms bara av förhållandet mellan brännvidd och motivavstånd. Förstoring och f-nummer bestämmer vid vilken hastighetsdjup relativt ett objekt ' s bredd växer till suddighet i förhållande till objektet ' s bredd. För att bestämma det faktiska skärpedjupet måste du definiera precis vilken storlek på suddighet du fortfarande anser vara i fokus: att ' är i huvudsak förvirringscirkeln.
Svar
Du ville ha matematiken, så här det går:
Du måste veta CoC för din kamera, Canon APS-C-sensorer i storlek, detta nummer är 0,018, för Nikon APS -C 0,019, för fullbildssensorer och 35 mm film är numret 0,029.
Formeln är för fullständighet:
CoC (mm) = viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25
Anothe way av doi ng detta är Zeiss formel :
c = d/1730
där d är diagonalstorleken på sensorn och c är den maximalt acceptabla CoC. Detta ger lite olika siffror.
Du måste beräkna hyperfokalavståndet först för din lins och kamera (denna formel är felaktig med avstånd nära brännvidden, t.ex. extremt makro):
HyperFocal[mm] = (FocalLength * FocalLength) / (Aperture * CoC)
t.ex.:
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)
Därefter måste du beräkna den närmaste punkten som är det närmaste avståndet som kommer att vara i fokus med tanke på avståndet mellan kameran och motivet:
NearPoint[mm] = (HyperFocal * distance) / (HyperFocal + (distance – focal))
t.ex.:
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)
Därefter måste du beräkna den långa punkten som är det längsta avståndet som kommer att vara i fokus med tanke på avståndet mellan kameran och motivet:
FarPoint[mm] = (HyperFocal * distance) / (HyperFocal – (distance – focal))
t.ex.:
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)
Nu kan du beräkna det totala brännviddet:
TotalDoF = FarPoint - NearPoint
t.ex.:
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
Så den fullständiga formeln w / CoC och HyperFocal förberäknas:
TotalDoF[mm] = ((HyperFocal * distance) / (HyperFocal – (distance – focal))) -(HyperFocal * distance) / (HyperFocal + (distance – focal))
Eller förenklad :
TotalDoF[mm] = (2 * HyperFocal * distance * (distance - focal)) / (( HyperFocal + distance - focal) * (HyperFocal + focal - distance))
Med CoC i förväg: Jag har försökt förenkla följande ekvationer med följande substitutioner: a = betraktningsavstånd (cm) b = önskad slutlig bildupplösning (lp / mm) för en 25 cm betraktningsavstånd c = förstoring d = FocalLength e = bländare f = avstånd 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)))
Förenklat:
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))
Ännu enklare med WolframAlpha:
TotalDoF = (2 * d^2 * e * (d - f) * f * X)/(d^4 - e^2 * (d - f)^2 * X^2)
Eller om inget beräknas i förväg får du det här monsteret, vilket är oanvändbart:
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))
Förenklat:
(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)
Så använd i grunden omberäknad CoC och HyperFocal:)
Svar
Om du vill se en praktisk implementering av formeln djupfält kan du kolla in den här Kalkylator för online djup av fält . Källan till den länkade HTML-sidan har alla formler implementerade i Javascript.
Svar
Ja, det finns formler. En finns på http://www.dofmaster.com/equations.html .Dessa formler används på denna miniräknare, det förklarar också skärpedjupet mer detaljerat. Jag har använt den här webbplatsen flera gånger och har funnit att den är ganska korrekt efter att ha gjort praktiska tester själv.
Svar
Här ” en enkel DOF-formel. Hoppas att det hjälper.
DOF = 2 * (Lens_F_number) * (circle_of_confusion) * (subject_distance)^2 / (focal_length)^2
Referens: http://graphics.stanford.edu/courses/cs178-09/applets/dof.swf
Svar
P = punkt fokuserad på
Pd = avlägsen punkt skarpt definierad
Pn = nära punkt skarpt definierad
D = diameter på förvirringscirkeln
f = f-nummer
F = brännvidd
Pn = P ÷ (1 + PDf ÷ F ^ 2)
Pd = P ÷ (1-PDf ÷ F ^ 2)
Branschstandard för att ställa in D = 1/1000 av brännvidden. För mer exakt arbete använd 1/1500 av brännvidden. Antag 100 mm brännvidd och sedan 1/1000 av 100 mm = 0,1 mm eller 1/1500 = 0,66666 mm