Introducción a las Imágenes

OpenCVBeginner
Practicar Ahora

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.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel avanzado con una tasa de finalización del 48%. Ha recibido una tasa de reseñas positivas del 97% por parte de los estudiantes.

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

  1. Puedes cambiar el window_name para tu código y ver el resultado.
  2. Puedes cambiar el parámetro de waitKey para tu código y ver el resultado.
  3. Para su conveniencia, eliminamos la detección de corrección de la carga de imágenes en este paso.
  4. 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 utilizar waitKey para asegurarse de que la ventana no se cierre después de imshow.

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

  1. 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.
  2. 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!