Introducción al procesamiento de la imagen - Parte 2: mejora de la imagen
Introducción al procesamiento de la imagen - Parte 2: mejora de la imagen
SIDA
Foto de Lalesh Aldarwish de Pexels
Hay momentos en que no siempre tenemos imágenes instaagramables que nos gustan debido a factores externos y naturales, como una mala iluminación. A veces, podemos manipular manualmente la fuente de la iluminación, cambiar ángulos o modificar algunas configuraciones en nuestra cámara para obtener la toma deseada. Sin embargo, ese no es siempre el caso. También puede haber casos en los que tenemos que trabajar con fotografías capturadas por cámaras antiguas y no podemos evitar que estos ruidos degradan la calidad de nuestra imagen.
Para esta publicación, discutiremos cómo podemos mejorar estas imágenes manipulando los valores de píxel para eliminar los artefactos de la imagen, mejorar el color y equilibrar la exposición de nuestras imágenes.
Eliminando artefactos no deseados
Veamos nuestra imagen de muestra a continuación. Esta es una foto de cráter de luna, y puede notar los patrones de línea horizontales que se repiten en toda la imagen. Queremos eliminar estas líneas para tener una imagen de mejor calidad. ¿Pero como hacerlo? Podemos intentar borrar estas líneas, pero con el gasto de la nitidez de nuestra imagen. Dado que este es un patrón de repetición, podemos aprovechar el uso de la transformación de Fourier.
Figura 1. Cráter lunar
Una transformada de Fourier es una operación que transforma una señal del tiempo% 2fspatial en el dominio de frecuencia. No discutiremos los aspectos técnicos de Fourier Transforme aquí, pero veamos cómo podemos usarlo para eliminar estos artefactos de imagen no deseados.
Primero, necesitamos obtener la transformación de la imagen de la imagen e identificar los patrones y artefactos periódicos. Hacemos esto utilizando las siguientes líneas de códigos.
Figura 2. Transformación de Fourier
La segunda imagen (derecha) en la Figura 2 muestra la imagen original (izquierda) en el espacio de Fourier. Si se da cuenta, las líneas blancas en la imagen original están causando la línea vertical en el centro de la transformada de Fourier. Necesitamos enmascarar la línea vertical con un pequeño valor, excepto el componente de CC o el punto en el centro de la transformada de Fourier, para eliminar las líneas blancas horizontales en la imagen original. Después de eso, entonces convierte la imagen de Fourier modificada al dominio espacial.
Figura 3. Transformación modificada de Fourier
En la Figura 3, podemos ver que ahora tenemos una imagen de mejor calidad después de modificar la imagen en el espacio de Fourier en comparación con el original.
Corrección de color
1. Equilibrio blanco
Figura 4. Habitación con bolsas de frijoles.
El método de corrección de color de equilibrio blanco se realiza haciendo que las regiones de color blanco o neutro en persona aparezcan tan blancas en la imagen. Usaremos tres algoritmos bajo este método: Patch blanco, mundo gris y algoritmos de verdad. Intentemos corregir la imagen azulada que se muestra en la Figura 4.
1.1. Algoritmo de parche blanco
Este algoritmo supone que el color blanco es el valor máximo de cada canal RGB (255,255,255). Normalizamos cada canal dividiendo cada canal por su máximo. La advertencia aquí es que cada canal de color puede producir 255 como su valor máximo, incluso si hay un nublado. Para resolver esto, solo obtendremos el percentil de los valores máximos por canal. En este ejemplo usamos el percentil 95.
Figura 5. Resultado del algoritmo de parche blanco
1.2. Algoritmo de mundo gris
Con referencia al nombre en sí, el algoritmo del mundo gris asume que los píxeles son gris en promedio y que la media de cada canal de color es la misma. Corrigimos o normalizamos la imagen utilizando el valor promedio de cada píxel.
También es importante tener en cuenta que algunas imágenes tienen un cuarto canal, el alfa o la opacidad. Para asegurarse de que no afectará nuestras metodologías de cobro de color, ya sea ignorando o establecemos el cuarto canal de nuevo a su valor máximo, que es 255.
Figura 6. Resultado del algoritmo de mundo gris
1.3. Algoritmo de verdad terreno
En este algoritmo, seleccionamos una región o parche en nuestra imagen, que servirá como nuestro valor "verdadero". Después de eso, entonces normalizamos la imagen ya sea (1) dividiendo cada canal con los valores máximos o (2) coinciden con el valor medio de cada canal de color de la imagen original y el valor medio de cada canal de nuestro "verdadero" blanco. parche.
Figura 7. Resultado del algoritmo de verdad terreno
Aunque ha habido diferencias en las imágenes resultantes que utilizan diferentes algoritmos de equilibrio blanco, podemos estar de acuerdo en que otros colores se han vuelto más vibrantes en todas las imágenes resultantes en comparación con la imagen original.
2. Manipulación de histograma.
Figura 8. Imagen oscura
No todas las imágenes se pueden corregir utilizando métodos de equilibrio blanco. Tome, por ejemplo, la foto pobre en la Figura 8. Si intenta mejorar la imagen utilizando los métodos presentados anteriormente, casi no hará ninguna diferencia en la imagen original. Otra forma de colorear correcta una imagen es manipular el histograma de intensidad de la imagen.
2.1. Ecualización de histograma
Si trazamos el histograma del valor de intensidad de la imagen de arriba, como se muestra en la Figura 9, podemos ver que la mayoría de los píxeles son de valores de baja intensidad. Para corregir esto, necesitamos manipular el histograma de intensidad de la imagen para que coincida con una distribución específica de destino. Para este ejemplo, establecemos nuestra distribución objetivo para ser uniforme.
Figura 9. Histograma de intensidad y CDF de destino
Primero, necesitamos calcular el percentil de cada valor de intensidad del CDF de la imagen real y luego reemplazarlo con el valor de intensidad de percentiles correspondiente del CDF de destino. Tratemos de hacerlo primero en una imagen gris a escala.
Figura 10. Resultado de ecualización del histograma
¡Voila! La imagen resultante ahora es mucho mejor, y ahora podemos ver algunos de los detalles que no podemos ver en el original porque es demasiado oscuro. La distribución de destino no siempre necesita ser uniforme. Podemos usar otras distribuciones, como la distribución gaussiana. Si queremos que esté de color, necesitamos rehacer el proceso en los tres canales de color, como se muestra en la siguiente figura.
Figura 11. Ecualización del histograma en los canales RGB
2.2. Estiramiento de contraste
Otra forma más sencilla de manipular el histograma de intensidad es rescatalizar las intensidades dentro de un rango de percentiles. En este ejemplo, utilizaremos el percentil 2 y 90.
Figura 12. Resultado de estiramiento de contraste
Y eso es para mejorar las imágenes. La siguiente parte de esta serie será filtrante y operaciones morfológicas.