¿Necesitas tratar con imágenes en Python? Hoy tenemos la solución a tu problema! Siguiendo con nuestra serie de articulos con Python y visión por computadora hoy vamos a hablar sobre el tratamiento de Imágenes en Python con Opencv, cargar, mostrar y guardar imágenes serán los temas de hoy.
Ya hemos visto como integrar python y opencv para trabajar con visión por computadora.
Hoy vamos a ver el tratamiento de imágenes en Python mediante esta librería, más especificamente vamos a hablar sobre como cargar o leer una imágen, como mostrarla en ventana y por supuesto como guardarla de nuevo a disco.
En el blog ya hemos hablado de esta librería pero sobretodo más orientado a Java, hoy toca el turno a Python.
Antes que nada recuerda importar las librerías necesarias para nuestro objetivo, en este caso necesitamos obviamente opencv o cv2:

¿Necesitas aprender algo nuevo ? Ve a Udemy, busca el tema del que quieres aprender, selecciona el curso para ti y continua con tu aprendizaje.
Udemyimport cv2
Ahora si, podemos iniciar..
Como cargar una imagen en Python con OpenCV
Para cargar una imagen en Python lo haremos mediante opencv con la función imread que permite como primer parametro incluir la ruta de la imágen a importar, como segundo especificar como debe de ser leída pudiendo elegir entre:
cv2.IMREAD_COLOR: Carga imágen a color
cv2.IMREAD_GRAYSCALE: Carga imágen a escala de grisis
cv2.IMREAD_UNCHANGED: Carga imágen como viene incluyendo canal alfa
La imágen se carga sobre una variable, un ejemplo sería así:
img = cv2.imread('C:\koko.jpg',cv2.IMREAD_GRAYSCALE )
Listo! Tenemos la imágen en escala de grisis en la variable img!
Como mostrar una imagen en Python con OpenCV
De nada serviría cargarla sino podemos mostrarla, para esto vamos a hacer uso de la función imshow.
El primer argumento es el nombre de la ventana donde se mostrará y el segundo la imagen a mostrar..
cv2.imshow('Imagen de Koko',img)
Para evitar que se muestre y automaticamente termine el programa debemos «pausarlo»..
La función waitkey permite pausar la ejecución del programa hasta que el usuario presione una tecla.
La función destroyAllWindows destruye todas las ventanas y termina el programa.
cv2.imshow('Imagen de Koko',img) cv2.waitKey(0) cv2.destroyAllWindows()
Listo! Ahora veamos como guardar una imágen que por ejemplo se abrio en escala de grisis y queremos guardarla a disco.
Como guardar una imágen en Python con OpenCV
Para guardar una imágen simplemente hacemos uso de la función imwrite que recibe dos parámetros: el nombre del archivo como se llamará la imágen en disco y por supuesto la imágen en sí a guardar.
Un ejemplo se vería asi:
cv2.imwrite('kokonete.jpg',img)
Fácil no?
Ejemplo completo de tratamiento de imágenes en Python con OpenCV
Nuestro ejemplo completo de tratamiento de imágenes con Python quedaría de la siguiente manera:
import numpy as np import cv2 #cargamos una imagen de color en modo escala de grisis img = cv2.imread('C:\koko.jpg',cv2.IMREAD_GRAYSCALE ) #mostramos la imagen cv2.imshow('Imagen de Koko',img) cv2.waitKey(0) cv2.destroyAllWindows() #Guardamos la imagen cv2.imwrite('kokonete.jpg',img)
Ya vimos como realizar un básico tratamiento de imágenes en Python con Opencv para visión por computadora, en próximos articulos seguiremos hablando más a detalle de cosas que podemos hacer con este par.
Hasta luego!