Círculo de dibujo en OpenCV

Ammar Ali 12 abril 2022
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:

círculo en la imagen

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:

argumentos opcionales del círculo

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.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Artículo relacionado - Python OpenCV