¿Cómo se implementa la profundidad de campo?

10

Sé que la profundidad de campo implica desenfoque.

Hay una gran información sobre cómo hacer un desenfoque gaussiano en la pregunta ¿Cómo se implementa el desenfoque gaussiano?

Pero, aparte de eso, ¿cómo se implementa la profundidad de campo?

¿Cuáles son las reglas sobre cómo difumina cada píxel y cómo maneja el caso de cuando hay un píxel que desea difuminar mucho al lado de un píxel que no desea difuminar tanto?

También he oído hablar del "círculo de confusión", pero no tengo idea de qué es eso.

¿Alguien puede explicar DOF de una manera simple y fácil de entender?

Alan Wolfe
fuente

Respuestas:

20

La profundidad de campo es una característica de la configuración de una lente de cámara, aunque el nombre "Profundidad de campo" se usa comúnmente para describir el efecto causado por dicha característica.

Las lentes de cámara solo pueden enfocar perfectamente en un solo punto, pero hay una distancia para la cual la imagen se verá razonablemente nítida. Tal distancia es lo que realmente es la profundidad de campo. Esta distancia es variable dependiendo de varios factores, pero digamos por razones de brevedad que la forma más fácil de ajustarla es cambiando la apertura de la cámara.

ingrese la descripción de la imagen aquí

En cuanto al círculo de confusión, es útil mirar una foto de wikipedia:

ingrese la descripción de la imagen aquí

En los tres casos, se "proyecta" un único punto en nuestro plano de imagen, pero como puede ver, está a diferentes distancias de la lente.

Básicamente porque, como dije, no todo está perfectamente enfocado (es decir, el punto focal está en el plano de la imagen), un punto puede proyectarse a nuestro plano de imagen no a un solo punto sino a un área. Esto, como queda claro en la imagen, se debe a que el punto focal está antes o después del plano de la imagen. Este "círculo" que se crea en el plano de la imagen es lo que se llama el círculo de confusión.

Ahora, a partir de esto, debe quedar claro que al variar la profundidad de campo, se varía el tamaño del CoC, por lo tanto, se puede usar como una medida del DoF en sí y de forma intuitiva cuando se piensa en términos de desenfoque.

Según la forma en que se implementa en el renderizado, existen muchos métodos. Por lo general, en los juegos se realiza como un proceso posterior utilizando la información de profundidad para dividir su escena en diferentes "planos"; por ejemplo, un plano de enfoque que no necesita ser borroso, un plano cercano y un plano lejano / de fondo que necesita ser borroso. Una vez que haya desenfocado sus planos, puede volver a componerlos para obtener su imagen final. La cantidad de desenfoque de los distintos planos depende del efecto que desea lograr. El sistema avanzado generalmente implementa este y otros efectos de "lentes" usando parámetros apropiados que provienen del mundo de la fotografía como la apertura.

Tenga en cuenta que hay muchas formas de implementar el efecto, la que describí es solo una forma que también tiene variaciones (por ejemplo, realizar todo el proceso a menor resolución). El límite depende de cuál sea su objetivo y cuánto haya presupuestado para este efecto. Puede pasar de adoptar el método de "3 planos" a una resolución extremadamente baja a calcular el círculo de confusión para cada píxel y aplicar el consiguiente desenfoque ad-hoc a ese píxel.


EDITAR: El comentario de @NathanReed debe ser más evidente como parte de la respuesta:

Las publicaciones en el blog de Matt Pettineo How To Fake Bokeh y Bokeh II: The Sequel son una excelente introducción a cómo implementar prácticamente DoF postproceso y abordar los artefactos típicos que obtienes de él.

cifz
fuente
1
Una forma económica de hacer esto es simplemente usar el desenfoque gaussiano en su escena final y almacenar dos de ellos. Uno para el primer plano y otro para el fondo. Pueden tener el mismo nivel de desenfoque o diferente y depende de usted. Al finalizar el desenfoque, simplemente salte de la profundidad 0 a una profundidad determinada (y modificable) (digamos 0.10). Lo que está aprendiendo es esta escena borrosa a la escena perfectamente enfocada. Para el desenfoque de fondo, simplemente puede hacer lo mismo, excepto que está desenfocando desde el enfoque perfecto hasta la imagen borrosa. Deje espacio para el medio para crear una región perfectamente enfocada.
ChaoSXDemon