Preprocesamiento De Datos De Imagen Recortar Escalar Convoluciones Y Normalizacion

Preprocesamiento de datos de imagen: recortar, escalar, convoluciones y normalización

Introducción

El procesamiento de imágenes es una importante área de la ciencia de datos y la inteligencia artificial. El preprocesamiento de imágenes es un paso importante para preparar imágenes para su uso en modelos de aprendizaje automático. Esta clase educativa se centrará en el preprocesamiento de imágenes, en particular en las técnicas de recortar, escalar, convoluciones y normalización. Esta clase explicará teoría detrás de cada técnica, así como proporcionará ejemplos prácticos con fórmulas matemáticas y código Python.

Recortar

Recortar una imagen es una forma simple de preprocesamiento de imágenes. Se trata de seleccionar una parte de la imagen original para centrarse en los detalles importantes. Esto puede ser útil cuando una imagen contiene información redundante o innecesaria que puede ser eliminada sin afectar significativamente la calidad de la imagen. Esto se puede lograr de varias maneras, como mediante el uso de herramientas de recorte o marcos. La fórmula para calcular el área recortada es:

Arecortada = Aoriginal – Arecortada

A continuación se muestra un ejemplo de recorte de una imagen utilizando Python:

#Importar la biblioteca de imágenes
import cv2

#Cargar la imagen
img = cv2.imread("imagen.jpg")

#Recortar la imagen
img_recortada = img[50:150,50:150]

#Guardar la imagen recortada
cv2.imwrite("imagen_recortada.jpg",img_recortada)

Escalar

Escalar es una técnica de preprocesamiento de imágenes que se utiliza para cambiar el tamaño de la imagen. Esto se puede hacer de dos maneras: escalado por suavizado y escalado por reemplazo. El escalado por suavizado se usa para mejorar la calidad de una imagen reduciendo el ruido y los artefactos. El escalado por reemplazo se usa para aumentar o disminuir el tamaño de una imagen sin afectar la calidad. La fórmula para el escalado por suavizado es:

Aescalada = Aoriginal * (1 – α)

donde α es un factor de suavizado. A continuación se muestra un ejemplo de escalado usando Python:

#Importar la biblioteca de imágenes
import cv2

#Cargar la imagen
img = cv2.imread("imagen.jpg")

#Escalar la imagen
img_escalada = cv2.resize(img, (200,200))

#Guardar la imagen escalada
cv2.imwrite("imagen_escalada.jpg",img_escalada)

Convoluciones

Una convolución es una técnica de preprocesamiento de imágenes que se utiliza para mejorar la calidad de la imagen. Esto se logra aplicando un filtro a la imagen. Un filtro es una matriz de números que se aplica a la imagen para mejorar sus características. La fórmula para realizar la convolución es:

Ffiltrada(x,y) = Σ[Foriginal(x+i,y+j) * Mfiltro(i,j)]

donde Foriginal es la imagen original, Ffiltrada es la imagen filtrada, Mfiltro es la matriz de filtro y Σ es una suma de todos los elementos de la matriz de filtro. A continuación se muestra un ejemplo de convolución usando Python:

#Importar la biblioteca de imágenes
import cv2
import numpy as np

#Cargar la imagen
img = cv2.imread("imagen.jpg")

#Crear una matriz de filtro
kernel = np.ones((3,3), np.float32) / 9

#Aplicar el filtro a la imagen
img_filtrada = cv2.filter2D(img, -1, kernel)

#Guardar la imagen filtrada
cv2.imwrite("imagen_filtrada.jpg",img_filtrada)

Normalización

La normalización es una técnica de preprocesamiento de imágenes que se utiliza para ajustar los valores de los pixeles de una imagen a un rango determinado. Esto se puede lograr aplicando una transformación a los valores de los pixeles. La fórmula para la normalización es:

Fnormalizada(x,y) = (Foriginal(x,y) – min(Foriginal)) / (max(Foriginal) – min(Foriginal))

A continuación se muestra un ejemplo de normalización usando Python:

#Importar la biblioteca de imágenes
import cv2
import numpy as np

#Cargar la imagen
img = cv2.imread("imagen.jpg")

#Normalizar los valores de los pixeles
img_normalizada = np.uint8(255 * (img - np.min(img)) / (np.max(img) - np.min(img)))

#Guardar la imagen normalizada
cv2.imwrite("imagen_normalizada.jpg",img_normalizada)

Conclusión

En resumen, el preprocesamiento de imágenes es un paso importante para preparar imágenes para su uso en modelos de aprendizaje automático. Esta clase se ha centrado en cuatro técnicas principales de preprocesamiento de imágenes: recortar, escalar, convoluciones y normalización. Estas técnicas se han explicado en detalle y se han proporcionado ejemplos prácticos con fórmulas matemáticas y código Python.

Referencias

Babu, R. & Manivannan, R. (2020). Preprocesamiento de imágenes: aplicaciones y técnicas. Editorial Springer.

Kumar, A. (2020). Preprocesamiento de imágenes con Python. Packt Publishing.

Deja un comentario

Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad