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.
import cv2
Cargar una imagen
Para dibujar un rectángulo en una imagen, primero debemos cargar la imagen.
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.
(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()
.
cv2.imshow("Imagen con rectángulo", image)
cv2.waitKey(0)
Este código mostrará la imagen con el rectángulo dibujado.
Ejemplo completo
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.