Introducción al procesamiento de imágenes - Parte 1: Fundamentos

Introducción al procesamiento de imágenes - Parte 1: Fundamentos
Introducción al procesamiento de imágenes - Parte 1: Fundamentos

Introducción al procesamiento de imágenes - Parte 1: Fundamentos

SIDA

Foto de Timj en Unsplash

El procesamiento de imágenes incluye métodos utilizados para transformar y mejorar las imágenes dependiendo del contexto a resolver. Es parte de un campo mucho más amplio, la visión de la computadora, que se ocupa de procesar y analizar la imagen de entrada y los datos de video para imitar el sistema visual humano. Podemos usar el procesamiento de imágenes para manipular una sola imagen para un uso específico o como parte de los métodos de preprocesamiento de datos en la preparación para la capacitación modelo de aprendizaje automático (ML).

Esta serie de publicaciones de procesamiento de imágenes mostrará las cosas geniales que podemos hacer con nuestras imágenes. Para los vloggers y los usuarios de Avid SoCmed por ahí, tendrá una idea de cómo se implementaron los filtros de Instagram y Snapchat. Para los editores de imágenes, conocerá las matemáticas detrás de algunas de las funciones de Photoshop de uso común que está utilizando.

Representación de la imagen digital.

Para la Parte 1 de esta serie, discutiremos algunos de los fundamentos del procesamiento de la imagen, y comencemos con cómo se representa una imagen digitalmente. Una imagen digital está representada utilizando píxeles. Como se ve en la Figura 1, la Blob en forma de pera se representa con diferentes números de píxeles, y observe cómo difiere si usamos un número más grande o pequeño de píxeles.

Figura 1. Representar la imagen utilizando píxeles.

Muestreo

El muestreo en el contexto del procesamiento de la imagen implica tomar el valor de la imagen a intervalos espaciales regulares. En los términos de Layman, simplemente responde a la pregunta, "¿Cuántas células (píxeles) queremos representar nuestra imagen?". Para entonces, creo que debes conocer a Lenna ya que la veremos mucho.

Figura 2. Muestreo con Lenna

Se utilizaron diferentes tamaños de muestra para representar la imagen de Lenna, como se puede ver en la Figura 2, donde N es el número de píxeles por lado de la imagen (por ejemplo, n = 55, 55x55 píxeles). Vea que cuanto mayor sea el número de píxeles que usamos, mejor será la resolución y más información que obtenemos.

Sin embargo, no siempre es el caso que cuanto más alto sea el número, mejor. En N = 110 y N = 220, por ejemplo, observe que no hay mucha diferencia entre las dos imágenes, pero el número de píxeles se duplica. En este caso, y si estamos hablando de usar esto como una entrada para el modelo de aprendizaje automático, entonces mejoramos los 110 píxeles para conservar nuestros recursos.

Si encuentra Lenna Pretty, conozca más sobre aquí en este enlace. [1]

Cuantificación

La cuantificación implica la discretización de los valores de intensidad de la imagen analógica. Es la cantidad de información por píxel o la representación de la imagen por píxel. Vamos a tomar Lenna de nuevo, por ejemplo.

Figura 3. Cuantización con Lenna

Como se muestra en la Figura 3, K representa el valor de intensidad o también conocido como la profundidad de su bit. En términos simples, es el número de colores con los que podemos representar la imagen. Es evidente que cuantos más colores usamos, mejor será la representación de nuestra imagen.

Al igual que el muestreo, más alto no siempre significa mejor. Depende del contexto o del problema que estamos tratando de resolver. Por ejemplo, si solo tenemos una imagen en blanco y negro (que es técnicamente 1 y 0s), no necesitamos una representación de imagen de 8 bits como en RGB porque solo será un desperdicio de recursos.

Tipos de imágenes

Volviendo a la cuantificación, podemos representar imágenes en diferentes valores por píxel. La Figura 4 muestra los tres tipos de imágenes, con respecto al valor de píxeles, donde podemos representar a Lenna. Las imágenes binarias, como se mencionaron anteriormente, están representadas utilizando 1S y 0s. La escala de grises, por otro lado, se representa de 0 a 255. Por último, coloreado (COLORMAP) en este contexto también se representa en valores de 0 a 255, pero utilizando tres canales de color, rojo, verde, azul o más comúnmente conocido como RGB ( Ver la Figura 5).

Figura 4. Tipos de imágenes con lenna

Figura 5. Canales de color RGB

En las siguientes partes de esta serie, sabremos cuándo y por qué necesitamos usar un tipo de imagen en particular.

Espacios de colores

Como se mencionó en la sección Tipos de imágenes, las imágenes de colores se pueden representar utilizando los canales de color RGB. Y como estamos utilizando tres canales de color separados, podemos extraer y representar las imágenes por canal como se ilustra en la Figura 6.

Figura 6. RGB con LENNA

Representar imágenes utilizando diferentes canales de color es útil, particularmente en tareas de segmentación. Por ejemplo, queremos aislar manzanas y plátanos de una imagen de frutas. Podríamos aislar estos elementos determinando los valores de RBG para rojo (Apple) y amarillo (plátanos).

Pero, ¿y si queremos segmentar una manzana de una imagen de manzanas y fresas? Esto podría ser un poco complicado, ya que las manzanas y las fresas son rojas en general. Aquí es donde el espacio de color HSV vendrá útil. HSV significa tono, saturación y valor, donde [2]:

Hue: Longitud de onda dominante o el color en sí (por ejemplo, rojo)

Saturación: Brilliance e intensidad de un color.

Valor: ligereza u oscuridad de un color.

La figura 7 muestra la imagen de Lenna en el espacio HSV.

Figura 7. HSV con lenna

Entonces, incluso si las manzanas y las fresas son de naturaleza roja, pueden tener diferentes niveles de saturación y valor, que podemos usar para separarlos unos de otros.

La segmentación de imágenes se discutirá aún más en las siguientes partes de esta serie.

Subir