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

Reducir 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 desafiada, 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 va a eliminar.

ejemplo

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

Ejemplos

contraer todo

Lea una imagen brumosa en el espacio de trabajo.

A = imread('foggysf1.jpg');

Reduzca la neblina y muestre 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 brumosa en el espacio de trabajo.

A = imread('foggysf2.jpg');

Reduce el 90% de la neblina usando el método.approxdcp

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

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

montage({A,B})

Lea la imagen brumosa en el espacio de trabajo.

A = imread('foggyroad.jpg');

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

[~, T] = imreducehaze(A);

Muestre el resultado a lo largo 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 para que se encuentra en [0,1].

D = mat2gray(D);

Muestre 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 hazique, especificada como una imagen RGB o en escala de grises.

Tipos de datos: single | double | uint8 | uint16

Cantidad de neblina que se va a 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 de color más grave.

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

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.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 y uno de estos valores:'Method'

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

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

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 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 rango [0, 1]. Los valores de luz atmosférica superiores a 0,5 tienden a dar mejores resultados.

Si no 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 aplicará como postprocesamiento, especificada como el par separado por comas que consta de y un número en el rango [0, 1].'BoostAmount' Este argumento solo se admite si se especifica como .ContrastEnhancement'boost'

Tipos de datos: double

Argumentos de salida

contraer todo

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

Grosor de 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 brumosa es la intensidad observada, es el resplandor de la escena, es 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 devalamiento recuperan el resplandor de la escena (imagen descahacida) de una estimación del mapa de transmisión y la luz atmosférica de acuerdo con:J

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

utiliza dos algoritmos de devalanado diferentes, y .imreducehazesimpledcpapproxdcp Estos métodos se basan en un , que se basa en la observación de que las imágenes poco brumadas de escenas al aire libre suelen contener algunos píxeles que tienen baja señal en uno o más canales de color.canal oscuro anterior Los métodos difieren en la forma en que estiman el canal oscuro antes y la luz atmosférica.

Los algoritmos de devalamiento siguen cinco pasos:imreducehaze

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

  2. Estimar el mapa de transmisión .T

  3. Refinar el mapa de transmisión estimado.

  4. Restaure la imagen.

  5. Realice una 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