Existe-t-il une formule pour calculer la DOF?

16

Je suis assez clair sur le fait que DOF dépend de:

  1. Distance focale
  2. Ouverture
  3. Distance du sujet
  4. Taille du capteur
    et plus (comme indiqué dans le commentaire).

Mais quelle est la question ici est: Y a-t-il une formule qui relie tous ces facteurs avec DOF ?? Compte tenu de ces valeurs, est-il possible de calculer avec précision la profondeur de champ ??

vivek_jonam
la source
1
Il y a deux autres choses à considérer: (5) la taille de l'image finale; et (6) si vous êtes concerné par la "zone de netteté acceptable" lorsque les cinq autres facteurs sont pris en compte, ou par la "zone de flou suffisant".

Réponses:

17

La profondeur de champ dépend de deux facteurs, le grossissement et le nombre f.

La distance focale, la distance du sujet, la taille et le cercle de confusion (le rayon auquel le flou devient visible) déterminent conjointement le grossissement.

La profondeur de champ ne dépend pas de la conception de l'objectif ou de l'appareil photo autre que les variables de la formule, il existe donc des formules générales pour calculer la profondeur de champ de tous les appareils photo et objectifs. Je ne les ai pas tous attachés à la mémoire, donc je ne ferais que copier et coller à partir de Wikipédia, donc à la place, je laisserai ce lien:

Une meilleure réponse à votre question serait de passer par la dérivation des formules des premiers principes, quelque chose que je voulais faire depuis un certain temps mais que je n'ai pas eu le temps. Si quelqu'un veut faire du bénévolat, je lui donnerai une note positive;)

Matt Grum
la source
15

Vous vouliez le calcul, alors voici:

Vous devez connaître le CoC de votre appareil photo, les capteurs Canon APS-C, ce nombre est 0,018, pour Nikon APS-C 0,019, pour les capteurs plein format et les films 35 mm, le nombre est 0,029.

La formule est pour l'exhaustivité:

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

Une autre façon de procéder est la formule Zeiss :

c = d/1730

Où d est la taille diagonale du capteur et c est le CoC maximum acceptable. Cela donne des chiffres légèrement différents.

Vous devez d'abord calculer la distance hyperfocale pour votre objectif et votre appareil photo (cette formule est inexacte avec des distances proches de la distance focale, par exemple macro extrême):

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

par exemple:

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)

Ensuite, vous devez calculer le point proche qui est la distance la plus proche qui sera mise au point compte tenu de la distance entre l'appareil photo et le sujet:

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

par exemple:

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)

Ensuite, vous devez calculer le point éloigné qui est la distance la plus éloignée qui sera mise au point compte tenu de la distance entre l'appareil photo et le sujet:

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

par exemple:

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)

Vous pouvez maintenant calculer la distance focale totale:

TotalDoF = FarPoint - NearPoint

par exemple:

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

Donc la formule complète w / CoC et HyperFocal précalculée:

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

Ou simplifié:

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

Avec CoC précalculé: j'ai tenté de simplifier les équations suivantes avec les substitutions suivantes: a = distance de visualisation (cm) b = résolution d'image finale souhaitée (lp / mm) pour une distance de visualisation de 25 cm c = agrandissement d = FocalLength e = Ouverture f = distance 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)))

Simplifié:

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

Encore plus simplifié avec WolframAlpha:

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

Ou si rien n'est précalculé, vous obtenez ce monstre, qui est inutilisable:

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

Simplifié:

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

Donc, utilisez essentiellement CoC recalculé et HyperFocal :)

psarossy
la source
@mattdm cela répond-il à votre question concernant l'inclusion des formules?
psarossy
Oui, très utile, merci. (Désolé, j'ai oublié d'attribuer la prime.)
mattdm
8

Si vous voulez voir une implémentation pratique des formules de profondeur de champ, vous pouvez consulter ce calculateur de profondeur de champ en ligne . La source de la page HTML liée contient toutes les formules implémentées en Javascript.

Miguel
la source
4

Oui, il existe des formules. On peut en trouver un sur http://www.dofmaster.com/equations.html . Ces formules sont utilisées sur cette calculatrice, elle explique également la profondeur de champ plus en détail. J'ai utilisé ce site plusieurs fois et je l'ai trouvé raisonnablement précis après avoir fait moi-même des tests pratiques.

maudites vérités
la source
0

P = point focalisé sur

Pd = point éloigné clairement défini

Pn = point proche défini avec précision

D = diamètre du cercle de confusion

f = nombre-f

F = distance focale

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

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

Norme industrielle pour définir D = 1/1000 de la distance focale. Pour un travail plus précis, utilisez 1/1500 de la distance focale. Présumer une focale de 100 mm, puis 1/1000 de 100 mm = 0,1 mm ou 1/1500 = 0,66666 mm

Alan Marcus
la source