¿Existe una fórmula para calcular el DOF?

Tengo bastante claro que el DOF depende de:

  1. Longitud focal
  2. Apertura o f-stop
  3. Distancia del sujeto
  4. Tamaño del sensor

y más (como se señala en este comentario ).

Pero mi pregunta es: ¿Existe alguna fórmula que relacione todos estos factores con la Profundidad de Campo?

Dados estos valores, ¿es posible calcular con precisión la profundidad de campo?

Hay dos cosas más a considerar: (5) el tamaño de la imagen final; y (6) si le preocupa la "zona de nitidez aceptable" cuando se tienen en cuenta los otros cinco factores, o la "zona de suficiente borrosidad".

Respuestas (6)

La profundidad de campo depende de dos factores, el aumento y el número f.

La distancia focal, la distancia al sujeto, el tamaño y el círculo de confusión (el radio en el que se hace visible el desenfoque) determinan conjuntamente la ampliación.

La profundidad de campo no depende del diseño de la lente o la cámara, aparte de las variables en la fórmula, por lo que existen fórmulas generales para calcular la profundidad de campo para todas las cámaras y lentes. No los tengo todos memorizados, así que solo estaría copiando y pegando de Wikipedia: profundidad de campo .

Una mejor respuesta a su pregunta sería pasar por la derivación de las fórmulas a partir de los primeros principios, algo que he querido hacer durante un tiempo pero no he tenido tiempo. Si alguien quiere ser voluntario, le daré un voto a favor;)

Eso es algo confuso. La ampliación se determina simplemente por la relación entre la distancia focal y la distancia del sujeto. La ampliación y el número f determinan a qué velocidad la profundidad en relación con el ancho de un objeto se vuelve borrosa en relación con el ancho del objeto. Para determinar la profundidad de campo real, debe definir qué tamaño de desenfoque aún considera enfocado: ese es esencialmente el círculo de confusión.

Querías las matemáticas, así que aquí va:

Necesita saber el CoC de su cámara, sensores de tamaño Canon APS-C, este número es 0,018, para Nikon APS-C 0,019, para sensores de fotograma completo y película de 35 mm, el número es 0,029.

La fórmula es para completar:

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

Otra forma de hacerlo es la fórmula de Zeiss :

c = d/1730

Donde d es el tamaño de la diagonal del sensor y c es el CoC máximo aceptable. Esto produce números ligeramente diferentes.

Primero debe calcular la distancia hiperfocal para su lente y cámara (esta fórmula es inexacta con distancias cercanas a la distancia focal, por ejemplo, macro extrema):

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

p.ej:

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)

A continuación, debe calcular el punto cercano, que es la distancia más cercana que estará enfocada dada la distancia entre la cámara y el sujeto:

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

p.ej:

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)

A continuación, debe calcular el punto lejano, que es la distancia más lejana que estará enfocada dada la distancia entre la cámara y el sujeto:

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

p.ej:

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)

Ahora puedes calcular la distancia focal total:

TotalDoF = FarPoint - NearPoint

p.ej:

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

Entonces, la fórmula completa con CoC e HyperFocal precalculada:

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

O simplificado:

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

Con CoC precalculado: intenté simplificar las siguientes ecuaciones con las siguientes sustituciones: a = distancia de visualización (cm) b = resolución de imagen final deseada (lp/mm) para una distancia de visualización de 25 cm c = ampliación d = FocalLength e = Apertura f = distancia 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)))

Simplificado:

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

Aún más simplificado con WolframAlpha:

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

O si nada está precalculado, obtienes este monstruo, que es inutilizable:

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

Simplificado:

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

Entonces, básicamente, use CoC recalculado e HyperFocal :)

Si desea ver una implementación práctica de las fórmulas de profundidad de campo, puede consultar esta Calculadora de profundidad de campo en línea . La fuente de la página HTML vinculada tiene todas las fórmulas implementadas en Javascript.

Sí, hay fórmulas. Uno se puede encontrar en http://www.dofmaster.com/equations.html . Estas fórmulas se utilizan en esta calculadora, también explica la profundidad de campo con más detalle. He usado este sitio varias veces y he encontrado que es razonablemente preciso después de hacer pruebas prácticas yo mismo.

Aquí hay una fórmula DOF simple. Espero eso ayude.

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

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

P = punto enfocado

Pd = punto distante claramente definido

Pn = punto cercano claramente definido

D = diámetro del círculo de confusión

f = número f

F = distancia focal

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

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

Estándar de la industria para establecer D = 1/1000 de la distancia focal. Para trabajos más precisos utilice 1/1500 de la distancia focal. Suponga una distancia focal de 100 mm y luego 1/1000 de 100 mm = 0,1 mm o 1/1500 = 0,6666 mm