Círculo de dibujo en OpenCV
Este tutorial discutirá cómo dibujar círculos en imágenes usando la función circle()
de OpenCV en Python.
Use la función circle()
de OpenCV para dibujar círculos en imágenes en Python
Podemos usar la función circle()
de OpenCV para dibujar círculos en las imágenes con nuestra ubicación, radio, color, grosor y tipo de línea deseados.
El primer argumento de la función circle()
es la imagen que queremos dibujar del círculo. El segundo argumento es el punto central del círculo, y su valor debe ser un punto que contenga los valores de los ejes x e y de un píxel que queremos usar como centro del círculo.
La ubicación comienza en la esquina superior izquierda de una imagen. El tercer argumento es el radio del círculo y su valor puede ser cualquier número entero. El cuarto argumento es el color del círculo, y debe ser un valor de triplete BGR como (0,0,255)
para el color rojo.
Los argumentos mencionados anteriormente son obligatorios, y si falta uno de ellos, habrá un error.
Por ejemplo, leamos una imagen usando la función imread()
de OpenCV y luego usemos la función circle()
para dibujar el círculo en la imagen y mostrarlo usando la función imshow()
de OpenCV. Vea el código a continuación.
import cv2
img = cv2.imread("cat.jpg")
imgWC = cv2.circle(img, (110, 110), 100, (0, 0, 255))
cv2.imshow("Image With Circle", imgWC)
cv2.waitKey(0)
Producción:
Hay otros tres argumentos opcionales que podemos cambiar. El argumento opcional tiene un valor predeterminado que se utilizará.
Supongamos que no definimos un valor para los argumentos opcionales. El primer argumento opcional es el grosor del círculo, que podemos establecer en cualquier número entero.
El segundo argumento opcional es el tipo o estilo de línea, establecido en cv2.LINE_8
por defecto. El tercer argumento opcional es el valor de cambio que queremos usar como bits fraccionarios en el centro y el valor del radio coordinado.
Por ejemplo, cambiemos los argumentos opcionales como grosor a 10
y tipo de línea a cv2.LINE_AA
. Vea el código a continuación.
import cv2
img = cv2.imread("cat.jpg")
imgWC = cv2.circle(img, (110, 110), 100, (0, 0, 255), 10, cv2.LINE_AA)
cv2.imshow("Image With Circle", imgWC)
cv2.waitKey(0)
Producción:
Si establecemos el grosor del círculo en un valor negativo, el área del círculo se llenará de color.
También hay otras funciones disponibles para diferentes formas como rectangle()
para dibujar un rectángulo en una imagen, line()
para dibujar una línea, ellipse()
para dibujar elipses y putText()
para poner texto en las imágenes.