Dibujo de Rectángulos con OpenCV en Python

Dibujo de Rectángulos con OpenCV en Python

OpenCV es una librería de código abierto para visión por computador y procesamiento de imágenes. En este tutorial, aprenderemos a dibujar rectángulos en una imagen usando OpenCV en Python.

Requisitos

  • Python 3
  • OpenCV

Importar librerías

Lo primero que debemos hacer es importar las librerías que vamos a necesitar.

Python
import cv2

Cargar una imagen

Para dibujar un rectángulo en una imagen, primero debemos cargar la imagen.

Python
image = cv2.imread("imagen.jpg")

Dibujar un rectángulo

Para dibujar un rectángulo, usamos la función cv2.rectangle(). Esta función toma los siguientes parámetros:

  • image: La imagen en la que vamos a dibujar el rectángulo.
  • (x, y): Las coordenadas de la esquina superior izquierda del rectángulo.
  • (w, h): Las dimensiones del rectángulo.
  • color: El color del rectángulo.
  • thickness: El grosor de la línea del rectángulo.
Python
(x, y) = (100, 100)
(w, h) = (200, 200)
color = (255, 0, 0)
thickness = 2

cv2.rectangle(image, (x, y), (x + w, y + h), color, thickness)

Este código dibujará un rectángulo rojo de 200 x 200 píxeles en la esquina superior izquierda de la imagen.

Mostrar la imagen

Para mostrar la imagen, usamos la función cv2.imshow().

Python
cv2.imshow("Imagen con rectángulo", image)
cv2.waitKey(0)

Este código mostrará la imagen con el rectángulo dibujado.

Ejemplo completo

Python
import cv2

image = cv2.imread("imagen.jpg")

(x, y) = (100, 100)
(w, h) = (200, 200)
color = (255, 0, 0)
thickness = 2

cv2.rectangle(image, (x, y), (x + w, y + h), color, thickness)

cv2.imshow("Imagen con rectángulo", image)
cv2.waitKey(0)

Otros parámetros

La función cv2.rectangle() tiene otros parámetros que podemos usar para personalizar el rectángulo. Por ejemplo, podemos usar el parámetro lineType para especificar el tipo de línea que queremos usar. Los valores posibles son:

  • cv2.LINE_4: Línea recta.
  • cv2.LINE_8: Línea antialiasing.
  • cv2.LINE_AA: Línea antialiasing.

También podemos usar el parámetro shift para especificar el desplazamiento de la línea. El valor predeterminado es 0, pero podemos usar un valor positivo o negativo para desplazar la línea hacia arriba, hacia abajo, hacia la izquierda o hacia la derecha.

Conclusión

En este tutorial, aprendimos a dibujar rectángulos en una imagen usando OpenCV en Python. Podemos usar esta técnica para crear anotaciones en imágenes, marcar objetos o simplemente para decorar imágenes.