Introducción
Este tutorial te enseñará los conceptos básicos de trabajo con imágenes utilizando la biblioteca OpenCV-Python. Al final de este tutorial, serás capaz de leer, mostrar y guardar imágenes.
Importar las bibliotecas necesarias
Primero, importemos las bibliotecas necesarias. Utilizarás la biblioteca cv2 para el procesamiento de imágenes. Por favor, utiliza import para importarla.
Preparación
Abre la shell de Python escribiendo el siguiente comando en la terminal de la Escritorio de la VM.
python3
Detalles
Ingresa python3 para iniciar el proceso del intérprete de Python. Luego ingresa el siguiente código.
import cv2
Después de eso, puedes utilizar la biblioteca cv2 en tu código.
Leyendo una imagen
Para leer una imagen desde un archivo, utilizamos la función cv2.imread(). La función toma la ruta del archivo como argumento y devuelve la imagen como una matriz de NumPy.
La ruta de la imagen es /home/labex/Desktop/Image.jpg
Detalles
Ingresa python para iniciar el proceso del intérprete de Python. Luego ingresa el siguiente código.
## Lee la imagen
image = cv2.imread('/home/labex/Desktop/Image.jpg')
## Verifica si la imagen se cargó correctamente
if image is None:
print('Error: Imagen no encontrada.')
else:
print('Imagen cargada correctamente.')
Nota
La función cv2.imread() devuelve None si la imagen no se encuentra. En este caso, imprimimos un mensaje de error. De lo contrario, imprimimos un mensaje de éxito.
Mostrando la imagen
Para mostrar la imagen, utilizamos la función cv2.imshow(). La función toma dos argumentos: el nombre de la ventana y la imagen a mostrar.
Además, utilizamos la función cv2.waitKey() para esperar a que se presione una tecla. Esto es necesario para mantener la ventana abierta hasta que el usuario presione una tecla. La función cv2.waitKey() toma un solo argumento, que es el número de milisegundos que se deben esperar para que se presione una tecla. Si el usuario presiona una tecla dentro del tiempo especificado, la función devuelve el código de la tecla. De lo contrario, devuelve -1. En este caso, pasamos 0 para esperar indefinidamente a que se presione una tecla.
Finalmente, utilizamos la función cv2.destroyAllWindows() para cerrar todas las ventanas. Esto es opcional, pero es una buena práctica cerrar todas las ventanas antes de salir del programa del intérprete de Python.
Detalles
Ingresa python para iniciar el proceso del intérprete de Python. Luego ingresa el siguiente código.
window_name = 'Image'
## Muestra la imagen, la imagen se ha cargado en los pasos anteriores
cv2.imshow(window_name, image)
## Espera a que se presione una tecla y cierra la ventana
cv2.waitKey(0)
## destruye la ventana después de mostrar la imagen
cv2.destroyAllWindows()
NOTA
- Puedes cambiar el
window_namepara tu código y ver el resultado. - Puedes cambiar el parámetro de
waitKeypara tu código y ver el resultado. - Para su conveniencia, eliminamos la detección de corrección de la carga de imágenes en este paso.
- Tenga en cuenta que está utilizando un intérprete de Python, por lo que el programa no finaliza inmediatamente después de
imshow, pero si está ejecutando un archivo de Python, debe utilizarwaitKeypara asegurarse de que la ventana no se cierre después deimshow.
Escribir una imagen en un archivo
Para guardar una imagen en un formato diferente, utilizamos la función cv2.imwrite(). La función toma dos argumentos: la ruta del archivo y la imagen a guardar.
Detalles
Ingresa python para iniciar el proceso del intérprete de Python. Luego ingresa el siguiente código.
## Guarda la imagen en un formato diferente, la imagen se ha cargado en los pasos anteriores
cv2.imwrite('/home/labex/Desktop/Image.png', image)
Nota
- En este caso, guardamos la imagen en formato PNG (Image.png). La imagen se guarda en el mismo directorio (/home/labex/Desktop/) que el script de Python.
- Para su conveniencia, eliminamos la detección de corrección de la carga de imágenes en este paso.
Resumen
Ahora conoces los conceptos básicos de trabajo con imágenes utilizando la biblioteca OpenCV-Python. Puedes experimentar con diferentes formatos de imágenes y explorar operaciones más avanzadas como redimensionamiento, recorte y filtrado. ¡Que disfrutes de la programación!



