Esta página es para la versión anterior. La página correspondiente en inglés se eliminó en la versión actual.

Mejora de la imagen de poca luz

Las imágenes capturadas en escenas al aire libre pueden ser altamente degradadas debido a condiciones de iluminación deficientes. Estas imágenes pueden tener rangos dinámicos bajos con altos niveles de ruido que afectan el rendimiento general de los algoritmos de visión computacional. Para que los algoritmos de visión de ordenador sean robustos en condiciones de poca luz, utilice la mejora de la imagen de poca luz para mejorar la visibilidad de una imagen. El histograma de la inversión en píxeles de imágenes de poca luz o imágenes HDR es muy similar al histograma de imágenes nebulosas. Por lo tanto, puede utilizar técnicas de eliminación de neblina para mejorar las imágenes con poca luz.

El uso de técnicas de eliminación de neblina para mejorar las imágenes de poca luz comprende tres pasos:

  • Paso 1: Invierta la imagen de poca luz.

  • Paso 2: Aplique el algoritmo de eliminación de neblina a la imagen de poca luz invertida.

  • Paso 3: Invierta la imagen mejorada.

Mejore la imagen de poca luz usando algoritmo de la denovatada

Importar una imagen RGB capturada con poca luz.

A = imread('lowlight_11.jpg'); figure, imshow(A);

Invierta la imagen y observe cómo las áreas con poca luz de la imagen original aparecen nebulosas.

AInv = imcomplement(A); figure, imshow(AInv);

Reduzca la neblina usando la función imreducehaze.

BInv = imreducehaze(AInv); figure, imshow(BInv);

Invierta los resultados para obtener la imagen mejorada.

B = imcomplement(BInv);

Muestra la imagen original y las imágenes mejoradas, de lado a lado.

figure, montage({A, B});

Mejore los resultados utilizando imreducehaze parámetros opcionales

Para obtener un mejor resultado, vuelva a llamar a imreducehaze en la imagen invertida, esta vez especificando algunos parámetros opcionales.

BInv = imreducehaze(AInv, 'Method','approx','ContrastEnhancement','boost'); BImp = imcomplement(BInv); figure, montage({A, BImp});

Otro ejemplo de mejorar una imagen mal iluminada

Importar una imagen RGB capturada con poca luz.

A = imread('lowlight_21.jpg');

Invierta la imagen.

AInv = imcomplement(A);

Aplicar el algoritmo de denovatada.

BInv = imreducehaze(AInv, 'ContrastEnhancement', 'none');

Invierta los resultados.

B = imcomplement(BInv);

Muestra la imagen original y las imágenes mejoradas, de lado a lado.

figure, montage({A, B});

Reduzca la distorsión del color utilizando un espacio de color diferente

Convierta la imagen de entrada del RGB ColorSpace al L * a * b * ColorSpace.

Lab = rgb2lab(A);

Invierta la imagen L * a * b *.

LInv = imcomplement(Lab(:,:,1) ./ 100);

Deshaze la imagen invertida usando la función imreducehaze.

LEnh = imcomplement(imreducehaze(LInv,'ContrastEnhancement','none'));

Aumente la saturación.

LabEnh(:,:,1)   = LEnh .* 100; LabEnh(:,:,2:3) = Lab(:,:,2:3) * 2; % Increase saturation

Vuelva a convertir la imagen en una imagen RGB y muestre el original y la imagen mejorada, de lado a lado.

AEnh = lab2rgb(LabEnh); figure, montage({A, AEnh});

Mejore los resultados usando eliminación

Las imágenes de poca luz pueden tener altos niveles de ruido. Mejorar las imágenes con poca luz puede aumentar este nivel de ruido. Eliminación puede ser un paso de post-processing útil.

Utilice la función imguidedfilter para eliminar el ruido de la imagen mejorada.

B = imguidedfilter(BImp); figure, montage({BImp, B});

Mapa de iluminación de estimación

Importar una imagen RGB capturada con poca luz.

A = imread('lowlight_21.jpg');

Invierta la imagen.

AInv = imcomplement(A);

Aplicar el algoritmo de denovatada a la imagen.

[BInv, TInv] = imreducehaze(AInv, 'Method', 'approxdcp', 'ContrastEnhancement', 'none');

Invierta la imagen mejorada.

T = imcomplement(TInv);

Muestra la imagen original junto al mapa de iluminación estimado en color falso.

figure, subplot(1,2,1); imshow(A), title('Lowlight Image'); subplot(1,2,2); imshow(T), title('Illumination Map'); colormap(gca, hot(256));

Limitaciones

Este método puede perder algunos detalles o sobreponerse debido a la mala adaptabilidad del canal oscuro en condiciones de poca luz.

Referencias

Dong, Xuan, y otros. "algoritmo rápido y eficiente para mejorar el vídeo de baja iluminación". Multimedia y Expo (ICME), 2011 IEEE Conferencia Internacional sobre. IEEE, 2011.