Is er een formule om DOF te berekenen?

Ik ben er vrij duidelijk over dat DOF afhangt van:

  1. Brandpuntsafstand
  2. Diafragma of f-stop
  3. Afstand tot onderwerp
  4. Sensorgrootte

en meer (zoals aangegeven in deze opmerking ).

Maar mijn vraag is: is er een formule die al deze factoren relateert aan de scherptediepte?

Gegeven deze waarden is het mogelijk om de scherptediepte nauwkeurig te berekenen?

Opmerkingen

  • Er zijn nog twee dingen om rekening mee te houden: (5) de grootte van het uiteindelijke beeld; en (6) of u zich zorgen maakt over de " zone met acceptabele scherpte " wanneer de andere vijf factoren in aanmerking worden genomen, of over de " zone met voldoende wazigheid ".

Antwoord

Scherptediepte is afhankelijk van twee factoren, vergroting en f-getal.

Brandpuntsafstand, afstand tot onderwerp, grootte en cirkel van verwarring (de straal waarop onscherpte wordt zichtbaar) bepalen samen de vergroting.

De scherptediepte is niet afhankelijk van het lens- of camera-ontwerp anders dan de variabelen in de formule, dus er zijn inderdaad algemene formules om de scherptediepte voor alle cameras en lenzen te berekenen. Ik heb ze niet allemaal in het geheugen vastgelegd, dus ik zou alleen kopiëren en plakken van Wikipedia: Scherptediepte .

A Een beter antwoord op uw vraag zou zijn om de afleiding van de formules uit de eerste principes te doorlopen, iets wat ik al een tijdje wilde doen, maar ik heb er geen tijd voor gehad. Als iemand vrijwilligerswerk wil doen, “geef ik ze een upvote;)

Reacties

  • Dat ' s enigszins door elkaar. De vergroting wordt alleen bepaald door de verhouding tussen de brandpuntsafstand en de afstand tot het onderwerp. Vergroting en f-getal bepalen met welke snelheid de diepte ten opzichte van een object ' s breedte vervaagt ten opzichte van het object ' s breedte. Om de werkelijke scherptediepte te bepalen, moet u precies bepalen welke grootte van de vervaging u nog steeds in focus beschouwt: die ' is in wezen de cirkel van verwarring.

Antwoord

Je wilde de wiskunde, dus hier het gaat:

Je moet de CoC van je camera kennen, Canon APS-C-sensoren dit getal is 0,018, voor Nikon APS -C 0,019, voor volformaat sensoren en 35 mm film is het getal 0,029.

De formule is voor de volledigheid:

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

Een andere manier van doi ng dit is de Zeiss-formule :

c = d/1730 

Waarbij d de diagonale afmeting is van de sensor, en c is de maximaal aanvaardbare CoC. Dit levert iets andere getallen op.

Je moet eerst de hyperbrandpuntsafstand berekenen voor je lens en camera (deze formule is onnauwkeurig met afstanden dichtbij de brandpuntsafstand, bijvoorbeeld extreme macro):

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

bijv .:

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) 

Vervolgens moet u het nabije punt berekenen dat de dichtstbijzijnde afstand is binnen focus gezien de afstand tussen de camera en het onderwerp:

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

bijv .:

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) 

Vervolgens moet u het verre punt berekenen dat de verste afstand is waarop wordt scherpgesteld gezien de afstand tussen de camera en het onderwerp:

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

bijvoorbeeld:

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 kunt u de totale brandpuntsafstand berekenen:

TotalDoF = FarPoint - NearPoint 

bijvoorbeeld:

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 

Dus de volledige formule met CoC en HyperFocal vooraf berekend:

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

Of vereenvoudigd :

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

Met CoC vooraf berekend: Ik heb een poging gedaan om de volgende vergelijkingen te vereenvoudigen met de volgende vervangingen: a = kijkafstand (cm) b = gewenste uiteindelijke beeldresolutie (lp / mm) voor een 25 cm kijkafstand c = vergroting d = FocalLength e = Diafragma f = afstand 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))) 

Vereenvoudigd:

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

Nog verder vereenvoudigd met WolframAlpha:

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

Of als er niets vooraf is berekend, krijg je dit monster, dat onbruikbaar is:

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

Vereenvoudigd:

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

Gebruik dus in principe herberekende CoC en HyperFocal 🙂

Answer

Als je een praktische implementatie van de scherptediepte-formules wilt zien, kun je dit bekijken Online scherptediepte-calculator . De bron van de gelinkte HTML-pagina bevat alle formules geïmplementeerd in Javascript.

Antwoord

Ja, er zijn formules. Een daarvan is te vinden op http://www.dofmaster.com/equations.html .Deze formules worden gebruikt op deze rekenmachine , het legt ook de scherptediepte in meer detail uit. Ik heb deze site verschillende keren gebruikt en vond dat deze redelijk nauwkeurig was nadat ik zelf praktische tests had gedaan.

Antwoord

Hier ” is een eenvoudige DOF-formule. Ik hoop dat het helpt.

 DOF = 2 * (Lens_F_number) * (circle_of_confusion) * (subject_distance)^2 / (focal_length)^2 

Referentie: http://graphics.stanford.edu/courses/cs178-09/applets/dof.swf

Antwoord

P = punt gericht op

Pd = ver weg punt scherp gedefinieerd

Pn = bijna punt scherp gedefinieerd

D = diameter van cirkel van verwarring

f = f-getal

F = brandpuntsafstand

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

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

Industriestandaard om D = 1/1000 van de brandpuntsafstand in te stellen. Gebruik voor nauwkeuriger werk 1/1500 van de brandpuntsafstand. Ga uit van een brandpuntsafstand van 100 mm en vervolgens 1/1000 van 100 mm = 0,1 mm of 1/1500 = 0,6666 mm

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *