Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

imreducehaze

Reduzca la neblina atmosférica

Descripción

ejemplo

[J,T,L] = imreducehaze(I) reduce la neblina atmosférica en color o imagen en escala de grises.I La función devuelve la imagen dehazed, una estimación del grosor de la neblina en cada píxel y la luz atmosférica estimada.JTL

[___] = imreducehaze(I,amount) Además especifica la cantidad de neblina que se eliminará.

ejemplo

[___] = imreducehaze(___,Name,Value) cambia el comportamiento del algoritmo de deshazing mediante pares nombre-valor.

Ejemplos

contraer todo

Lea una imagen nebulosa en el espacio de trabajo.

A = imread('foggysf1.jpg');

Reduzca la neblina y visualice el resultado junto a la imagen original en un montaje.

B = imreducehaze(A); montage({A,B}) title("Hazy Image (Left) vs. Reduced Haze Image (Right)")

Lea una imagen nebulosa en el espacio de trabajo.

A = imread('foggysf2.jpg');

Reduzca el 90% de la neblina utilizando el método.approxdcp

B = imreducehaze(A,0.9,'method','approxdcp');

Visualice en un montaje la imagen brumosa original y la imagen con neblina reducida.

montage({A,B})

Lea la imagen nebulosa en el espacio de trabajo.

A = imread('foggyroad.jpg');

Reduzca la neblina en la imagen utilizando valores de parámetros predeterminados.

[~, T] = imreducehaze(A);

Visualice el resultado a lo largo del lado de la imagen original.

figure, imshowpair(A, T, 'montage')

El espesor de la neblina proporciona una aproximación aproximada de la profundidad de la escena, definida hasta un factor de multiplicación desconocido. Añadir para evitar.epslog(0)

D = -log(1-T+eps);

Para fines de visualización, escale la profundidad de modo que esté en [0,1].

D = mat2gray(D);

Visualice la imagen original junto a la profundidad estimada en color falso.

figure subplot(1,2,1) imshow(A), title('Hazy image') subplot(1,2,2) imshow(D), title('Depth estimate') colormap(gca, hot(256))

Argumentos de entrada

contraer todo

Imagen nebulosa, especificada como una imagen RGB o en escala de grises.

Tipos de datos: single | double | uint8 | uint16

Cantidad de neblina que se eliminará, especificada como un número en el intervalo [0,1]. Cuando el valor es, reduce la cantidad máxima de neblina.1imreducehaze Cuando el valor es, no reduce la neblina y la imagen de entrada no cambia.0imreducehaze Los valores más grandes pueden causar una distorsión del color más severa.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: B = imreducehaze(A,0.9,'method','approxdcp');

Técnica utilizada para reducir la neblina, especificada como el par separado por comas que consta de uno de estos valores:'Method'

  • — Método anterior simple canal oscuro.'simpledcp'[2] Este método utiliza un canal oscuro por píxel para estimar la descomposición de la neblina y el Quadtree para estimar la luz atmosférica.

  • — Método anterior del canal oscuro aproximado.'approxdcp'[1] Este método utiliza tanto bloques espaciales como por píxel al calcular el canal oscuro y no utiliza la descomposición del cuadriárbol.

Para obtener más información, consulte.Algoritmos

Tipos de datos: char | string

Valor máximo que se tratará como neblina, especificado como el par separado por comas que consta de un vector numérico de 1 por 3 para imágenes RGB o un escalar numérico para imágenes en escala de grises.'AtmosphericLight' Los valores deben estar en el intervalo [0, 1]. Los valores de luz atmosférica superiores a 0,5 tienden a dar mejores resultados.

Si no se especifica, la función estima un valor en función del valor de.AtmosphericLightimreduzehaze'method'

Tipos de datos: double

Técnica de mejora de contraste, especificada como el par separado por comas que consta de y, o.'ContrastEnhancement''global''boost''none'

Tipos de datos: char | string

Cantidad de ganancia por píxel que se aplica como postprocesamiento, especificada como el par separado por comas que consta de y un número en el intervalo [0,1].'BoostAmount' Este argumento solo se admite si se especifica como.ContrastEnhancement'boost'

Tipos de datos: double

Argumentos de salida

contraer todo

Imagen dehazed, devuelta como matriz numérica del mismo tamaño que la imagen nebulosa de entrada.I

Espesor de la neblina estimado en cada píxel, devuelto como una matriz numérica.

Luz atmosférica estimada, devuelta como una matriz numérica. representa el valor de la neblina no especular más brillante.L

Algoritmos

El modelo para describir una imagen nebulosa es la intensidad observada, es la luminosidad de la escena, es la luz atmosférica, y es un mapa de transmisión que describe la porción de luz que llega a la cámara.I

I(x) = J(x)T(x) + L(1-T(x))
IJLT

Los algoritmos de dehazing recuperan la luminosidad de la escena (imagen dehazed) de una estimación del mapa de transmisión y la luz atmosférica según:J

J(x) = (I(x)-A)/(max(t(x),t0)) + A

utiliza dos algoritmos de dehazing diferentes, y.imreducehazesimpledcpapproxdcp Estos métodos se basan en a, que se basa en la observación de que las imágenes sin brujos de escenas al aire libre por lo general contienen algunos píxeles que tienen baja señal en uno o más canales de color.canal oscuro antes Los métodos difieren en cómo estiman la luz anterior y atmosférica del canal oscuro.

Los algoritmos de deshazing en seguir cinco pasos:imreducehaze

  1. Estimar la luz atmosférica usando un canal oscuro antes.L

  2. Estime el mapa de transmisión.T

  3. Refine el mapa de transmisión estimado.

  4. Restaure la imagen.

  5. Realice la mejora de contraste opcional.

Referencias

[1] He, Kaiming. "Single Image Haze Removal Using Dark Channel Prior." Thesis, The Chinese University of Hong Kong. 2011.

[2] Dubok, et al. "Single Image Dehazing with Image Entropy and Information Fidelity." ICIP. 2014, pp. 4037–4041.

Introducido en R2017b