Bokeh sintético: intensifique linealmente el bokeh/desenfoque a partir, por ejemplo, del contraste detectado o del tamaño del círculo del bokeh

Esta pregunta puede estar algo desinformada, ya que ciertamente no soy un experto en las nociones involucradas, así que tengan paciencia conmigo :)

En el contexto de la manipulación del bokeh sintético en el posprocesamiento,

conformarse con usar el desenfoque gaussiano como sustituto del bokeh real (sé que son cosas distintas, consulte, por ejemplo, " ¿Cuál es la diferencia entre Bokeh y Desenfoque gaussiano? ", Pero por el tema, nos olvidaremos de esto),

¿No podemos simplemente usar, por ejemplo, la detección de contraste, y tal vez otros métodos, para saber dónde ya existe el bokeh en una imagen determinada y luego intensificar este bokeh? (En lugar de que el fotógrafo/usuario defina dónde colocar artificialmente un desenfoque guassiano).


Puedo muy bien imaginar que una técnica como esta funcione. Podría, secuencialmente:

  1. Utilice la detección de contraste y, por ejemplo, si existen círculos de bokeh, simplemente mida su diámetro para crear un "mapa de calor" de bokeh en la imagen.
  2. Luego podría poner un desenfoque gaussiano (u otro tipo de bokeh artificial) sobre la imagen, ponderado por el mapa de calor del paso 1.
  3. Ahora tiene una imagen en la que el bokeh no se crea desde cero, sino que simplemente se intensifica a partir de un bokeh ya existente.

(Y si le preocupa que las áreas enfocadas se vean borrosas, también podría, por ejemplo, poner el desenfoque gaussiano donde los valores del mapa de calor están por encima, por ejemplo, .2 (en una escala de 0 a 1), y posiblemente incluso aplicar "lo contrario ", digamos contraste local, abajo .2)

Sin embargo, ¿cómo saber qué era realmente un borde y qué está enfocado y no un borde? CDAF solo funciona porque puede decir cuándo el contraste alcanza el pico.
(Bueno, no tengo una respuesta técnica definitiva, ya que no conozco estas cosas en profundidad, pero puedo imaginar muy bien que la publicación puede deducir bastante bien qué está enfocado y qué no. Tal vez "detección de contraste" es una palabra demasiado técnica. por lo que imagino que es posible Digamos, por ejemplo, que usa el hecho de que el bokeh "difumina" las cosas juntas, por lo que mide qué tan similares son los parches vecinos de píxeles, sin buscar necesariamente los bordes de contraste ...)
Sin embargo, enfocado versus desenfocado es lo mismo, puede encontrar los puntos de mayor contraste y sabe que esos son los bordes enfocados, pero si las cosas están desenfocadas, es mucho, mucho más difícil saber si lo estaban. bordes o no. Como menciona Matt Grum, hay algunas formas más complicadas de intentar adivinar, pero no son súper confiables porque implica un procesamiento de imágenes muy complejo y/o asumir que algunas cosas son bordes que podrían no serlo.

Respuestas (2)

Esto se conoce en el campo del procesamiento de imágenes como "profundidad desde el desenfoque". Lo que está sugiriendo es posible hasta cierto punto, los resultados nunca serán los mismos que obtendría (¡especialmente si usa el desenfoque gaussiano en lugar del desenfoque de la lente!), Pero simulará una cierta cantidad de

Existen varias técnicas para lograr profundidad a partir del desenfoque, es un poco más complicado que estimar el contraste, sin embargo, creo que la última versión de Photoshop CC tiene una función de enmascaramiento de bokeh. No sé si obtienes diferentes niveles o si es solo una máscara enfocada/fuera de foco (blanco y negro).

Alien Skin tenía un complemento de Bokeh para Photoshop que manejaba el empañamiento sutil de las luces altas desenfocadas: Photoshop CS6/CC ahora tiene lo que parece ser la misma función y sistema en Field Blur: la clave es tener algunos puntos destacados dispersos en su imagen