OMES

Cómo leer, visualizar y guardar una imagen con OpenCV en Python | Minicurso OpenCV – Parte 4

Bienvenidos al cuarto artículo del minicurso de Visión por Computador con OpenCV en Python. En el artículo anterior ya dejamos listo nuestro entorno con OpenCV instalado, así que ahora… ¡es momento de escribir nuestro primer programa de visión por computador!

Nota: Para este ejemplo asumiré que ya tienes Python y OpenCV funcionando correctamente.

En este artículo aprenderemos tres cosas muy importantes:

¿Cómo leer/abrir/cargar una imagen con OpenCV en Python?

Para llevar a cabo esta práctica usaremos la siguiente imagen:

Bien, ahora ¡vamos con el código!

import cv2

# Leer una imagen
image = cv2.imread("image.jpeg")
print(image)

Línea 1: Importamos OpenCV con import cv2.

Línea 4: Para cargar una imagen desde disco usamos la función cv2.imread(). En ella se debe especificar el nombre del archivo que se desee cargar, tomando en cuenta:

En este punto, la imagen ya está cargada en memoria, pero todavía no la estamos viendo en pantalla.

Línea 5: Imprimimos lo que contiene image.

[[[ 14  17  22]
  [ 13  17  22]
  [ 13  17  22]
  ...
  [ 83  95 101]
  [ 82  92 102]
  [ 82  92 102]]

 [[ 12  16  21]
  [ 13  17  22]
  [ 11  17  22]
  ...

Entonces veremos que se muestran matrices de números. Esto es totalmente normal, ya que internamente OpenCV trabaja con matrices de píxeles.

Nota: Si la ruta a la imagen es incorrecta, si el archivo no existe o si hay caracteres especiales en su nombre, OpenCV no mostrará un error, sino que simplemente devolverá None. Por eso, si al imprimir la variable ves None, lo primero que debes revisar es la ruta de la imagen.

Conoce más del ebook en: Introducción a la Visión por Computador con OpenCV y Python

¿Cómo visualizar una imagen con OpenCV?

Para visualizar una imagen en pantalla usaremos la función cv2.imshow(). Veamos:

# Visualizar la imagen
cv2.imshow("Imagen de entrada", image)

Línea 8: Al usar la función cv2.imshow() debemos especificar:

Pero esto no es suficiente por sí solo. También debemos indicar cuánto tiempo se mostrará la ventana con la imagen.

cv2.waitKey(0)
cv2.destroyAllWindows()

Línea 10: El valor 0 en cv2.waitKey() indica que el programa esperará indefinidamente hasta que se presione una tecla. Si colocas otro número entero positivo, estarás indicando la cantidad de milisegundos que la ventana permanecerá abierta.

Línea 11: Con cv2.destroyAllWindows() permitimos que las ventanas de visualización se cierren correctamente, además de liberar recursos.

Si ejecutamos, podremos ver la imagen en pantalla:

¿Cómo guardar una imagen con OpenCV?

OpenCV también nos permite guardar imágenes en el disco usando la función cv2.imwrite().

# Guardar una imagen
cv2.imwrite("image_copy.jpg", image)

Línea 14: Al usar la función cv2.imwrite() debemos especificar:

Cuando ejecutes el programa, verás que en la carpeta se crea un nuevo archivo llamado image_copy.jpg, que es una copia de la imagen original.

Programa completo para leer, visualizar y guardar una imagen con OpenCV

import cv2

# Leer una imagen
image = cv2.imread("image.jpeg")
print(image)

# Visualizar la imagen
cv2.imshow("Imagen de entrada", image)

cv2.waitKey(0)
cv2.destroyAllWindows()

# Guardar una imagen
cv2.imwrite("image_copy.jpg", image)

Gracias por haber llegado hasta aquí. Espero que este contenido te haya sido útil. Si te quedaste con alguna duda o te gustaría que profundicemos en algún punto, puedes dejarlo en los comentarios.

Nos vemos en el siguiente artículo. 😊

Salir de la versión móvil