Estos ejemplos básicos ayudan a comprender cómo manejar imágenes, hacer manipulaciones sencillas y aplicar técnicas de visión computacional para segmentación y detección de patrones. Asegúrate de tener instaladas las librerías necesarias con
pip install opencv-python-headless numpy pillow
Para ayudar a los jóvenes a comprender y utilizar librerías para operaciones básicas en imágenes, así como la identificación y segmentación de patrones visuales, podemos utilizar Python con librerías como OpenCV, PIL (Pillow) y numpy. A continuación, te daré unos ejemplos sencillos:
1.Operaciones Básicas con Imágenes usando PIL (Pillow)
Objetivo: Mostrar cómo abrir, redimensionar y guardar una imagen.
from PIL import Image
# Abrir una imagenimagen = Image.open('ruta_a_tu_imagen.jpg')
# Mostrar la imagenimagen.show()
# Redimensionar la imagenimagen_redimensionada = imagen.resize((200, 200))
# Guardar la imagen redimensionadaimagen_redimensionada.save('imagen_redimensionada.jpg')
¡¡¡Ojo!!!Funciona perfectamente, tienes que abrir la imagen redimensionada manualmente.RECUERDA PONER EL NOMBRE EN ruta_a_tu_imagen.jpg
Ejemplo_número 2:2. Conversión a Escala de Grises con OpenCV
Objetivo: Convertir una imagen a escala de grises usando OpenCV.
import cv2
# Leer la imagen
imagen = cv2.imread('ruta_a_tu_imagen.jpg')
# Convertir la imagen a escala de grises
imagen_gris = cv2.cvtColor(imagen, cv2.COLOR_BGR2GRAY)
# Mostrar la imagen en escala de grises
cv2.imshow('Imagen en Escala de Grises', imagen_gris)
cv2.waitKey(0)
cv2.destroyAllWindows()
# Guardar la imagen en escala de grises
cv2.imwrite('imagen_gris.jpg', imagen_gris)
Ejemplo 3. Detección de Bordes con Canny en OpenCV
Objetivo: Detectar bordes en una imagen usando el algoritmo de Canny.
import cv2
# Leer la imagen
imagen = cv2.imread('ruta_a_tu_imagen.jpg')
# Convertir a escala de grises
imagen_gris = cv2.cvtColor(imagen, cv2.COLOR_BGR2GRAY)
# Aplicar el detector de bordes Canny
bordes = cv2.Canny(imagen_gris, 100, 200)
# Mostrar los bordes detectados
cv2.imshow('Bordes Detectados', bordes)
cv2.waitKey(0)
cv2.destroyAllWindows()