CONTENIDO
- Leer una imagen
- Visualizar una imagen
- Guardar/Almacenar una imagen
El primer paso para realizar aplicaciones de visión por computador es sin duda tener el «material» o en este caso la imagen con la cual trabajar, es por ello que el segundo post que te presento (luego de la bienvenida) es: ¿cómo leer la imagen usando OpenCV en Python?.
En un principio será necesario importar la librería OpenCV, para ello usamos la siguiente línea:
import cv2
NOTA: Si aún no has instalado OpenCV en python, ya sea en tu computador o en tu raspberry, te recomiendo que lo instales con los tutoriales de pyimagesearch. Lo sé, sus posts están desarrollados en inglés, sin embargo son los mejores. Demás está decir que están excelentemente explicados, paso a paso.
En esta ocasión vamos a trabajar con esta imagen:

Figura 1: Logo de OpenCV (fuente)
LEER UNA IMAGEN EN PYTHON – OPENCV
Ahora procedemos a leer la imagen, para ello necesitamos la función cv2.imread
, en ella tendremos que especificar el path o dirección en donde se encuentra almacenado la imagen. Si tanto el script donde estás desarrollando estas líneas y la imagen están en una misma dirección, solo será necesario escribir el nombre, seguido de su extensión.
imagen = cv2.imread('logo.png')
¡A tener en cuenta!
Al momento que leemos una imagen, tal y como lo hemos hecho en la línea 2, ésta por defecto es leída en BGR, así también podríamos escribirlo de la siguiente manera: imagen = cv2.imread('logo.png',1)
El número 1 indica también que será leída en BGR, así que podríamos omitirlo como he mostrado previamente.
En OpenCV existen algunos otros números o comandos con los cuales condicionamos como queremos que se lea una imagen, por ejemplo si usamos 0: imagen = cv2.imread('logo.png',0)
.La imagen será leída en escala de grises. Puedes buscar más información de otras opciones que podrías utilizar en la documentación de OpenCV.
VISUALIZAR UNA IMAGEN
Hasta este punto ya hemos leído la imagen, pero debemos visualizarla, para ello usaremos cv2.imshow
, en ella debemos especificar el nombre de la ventana que se va a visualizar, seguido de la variable donde está almacenada la imagen.
Se visualiza cierto tiempo para ello se emplea cv2.waitKey
. Esta permite especificar el tiempo en milisegundos, por ejemplo: cv2.waitKey(1000)
, hará que la imagen se vea durante 1 segundo. Hay una opción muy utilizada, y es que al usar cv2.waitKey(0)
, la imagen se visualiza infinitamente, hasta que presiones cualquier tecla.
Finalmente para cerrar la visualización creada usamos
cv2.destroyAllWindows
. Veamos:
cv2.imshow('Logo OpenCV',imagen) cv2.waitKey(0) cv2.destroyAllWindows()
Figura 2: Visualización de la imagen
GUARDAR O ALMACENAR UNA IMAGEN
Para almacenar una imagen, lo único que se necesita es usar cv2.imwrite
, en donde tendremos que especificar el nombre de la imagen a almacenar junto con la extensión, luego la variable a la que está asignada dicha imagen. Como podrás darte cuenta, esta función trabaja similar a cv2.imshow
.
Para este ejemplo, vamos a leer la imagen en escala de grises y la guardaremos, esta se almacenará en la misma dirección donde se encuentra el script donde estás desarrollando este programa.
import cv2 imagen = cv2.imread('logo.png',0) cv2.imwrite('Grises.png',imagen) cv2.imshow('Logo OpenCV Grises',imagen) cv2.waitKey(0) cv2.destroyAllWindows()
Figura 3: Visualización de la imagen leída en escala de grises
La figura 3 muestra la imagen que se guardó gracias a cv2.imwrite
.
Y aquí llegamos al final de este post. Puedes ver el video también. ¿Qué te ha parecido?.
Resumen del contenido de este post
REFERENCIAS
[1] https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_image_display/py_image_display.html