Tutoriales de programación en Python
On noviembre 29, 2021 by adminDibujar y escribir en imágenes OpenCV Python Tutorial
En este tutorial de OpenCV con Python, vamos a cubrir cómo dibujar varias formas en tus imágenes y vídeos. Es bastante común querer marcar los objetos detectados de alguna manera, para que nosotros los humanos podamos ver fácilmente si nuestros programas están funcionando como esperamos. Un ejemplo de esto sería una de las imágenes mostradas anteriormente:
Para este ejemplo temporal, utilizaré la siguiente imagen:
Te animo a utilizar tu propia imagen. Como siempre, nuestro código de inicio puede ser algo así:
import numpy as npimport cv2img = cv2.imread('watch.jpg',cv2.IMREAD_COLOR)
A continuación, podemos empezar a dibujar, como:
cv2.line(img,(0,0),(150,150),(255,255,255),15)cv2.imshow('image',img)cv2.waitKey(0)cv2.destroyAllWindows()
El cv2.line() toma los siguientes parámetros: where, coordenadas de inicio, coordenadas de fin, color (bgr), grosor de la línea.
El resultado aquí:
Bien, genial, vamos a ponernos absurdos con algunas formas más. A continuación, un rectángulo:
cv2.rectangle(img,(15,25),(200,150),(0,0,255),15)
Los parámetros aquí son la imagen, la coordenada superior izquierda, la coordenada inferior derecha, el color y el grosor de la línea.
¿Qué tal un círculo?
cv2.circle(img,(100,63), 55, (0,255,0), -1)
Los parámetros aquí son la imagen/cuadro, el centro del círculo, el radio, el color y el grosor. Observa que tenemos un -1 para el grosor. Esto significa que el objeto se rellenará, por lo que obtendremos un círculo relleno.
Las líneas, los rectángulos y los círculos están muy bien, pero ¿qué pasa si queremos un pentágono, un octágono o un octdecágono? No hay problema!
Primero, nombramos pts, abreviatura de puntos, como una matriz numpy de coordenadas. Luego, usamos cv2.polylines para dibujar las líneas. Los parámetros son los siguientes: dónde está el objeto que se dibuja, las coordenadas, debemos «conectar» el punto final y el inicial, el color, y de nuevo el grosor.
Lo último que puedes hacer es escribir en la imagen. Esto se puede hacer así:
font = cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img,'OpenCV Tuts!',(0,130), font, 1, (200,255,155), 2, cv2.LINE_AA)
El código completo hasta este punto sería algo así:
El resultado:
En el próximo tutorial, vamos a cubrir las operaciones básicas de imagen que podemos realizar.
Deja una respuesta