Dibuja un polígono relleno usando la función de OpenCV fillPoly()

La función fillPoly() de OpenCV se usa para dibujar polígonos rellenos como rectángulo, triángulo, pentágono sobre una imagen. Esta función toma como entrada una imagen y puntos finales de polígono y color.

Sintaxis: cv2.fillpoly(Imagen,Puntos_finales,Color)

Parámetro:

  • Imagen: esta es la imagen en la que queremos dibujar un polígono relleno
  • End_Points: Puntos del polígono (para el triángulo 3 puntos finales, para el rectángulo 4 puntos finales estarán allí)
  • Color: Especifica el color del polígono

Ejemplo 1: Dibujar un triángulo

En este ejemplo, dibujaremos un triángulo poligonal relleno dando 3 puntos finales como [160,130],[350,130],[250,300] a la función fillPoly().

Imagen de entrada:

Código:

Python3

# Import necessary libraries
import cv2
import numpy as np
  
# Read an image
img = cv2.imread("image.png")
  
# Define an array of endpoints of triangle
points = np.array([[160, 130], [350, 130], [250, 300]])
  
# Use fillPoly() function and give input as
# image, end points,color of polygon
# Here color of polygon will blue
cv2.fillPoly(img, pts=[points], color=(255, 0, 0))
  
# Displaying the image
cv2.imshow("Triangle", img)
  
# wait for the user to press any key to 
# exit window
cv2.waitKey(0)
  
# Closing all open windows
cv2.destroyAllWindows()

Producción:

Ejemplo 2: dibujar un hexágono

En este ejemplo dibujaremos un hexágono dando 6 puntos finales como [220,120],[130,200],[130,300],[220,380],[310,300],[310,200] para la función fillPoly().

Aporte:

Código:

Python3

# Import necessary libraries
import cv2
import numpy as np
  
# Read an image
img = cv2.imread("image.png")
  
# Define an array of endpoints of Hexagon
points = np.array([[220, 120], [130, 200], [130, 300],
                   [220, 380], [310, 300], [310, 200]])
  
# Use fillPoly() function and give input as image,
# end points,color of polygon
# Here color of polygon will be green
cv2.fillPoly(img, pts=[points], color=(0, 255, 0))
  
# Displaying the image
cv2.imshow("Hexagon", img)
  
# wait for the user to press any key to 
# exit window
cv2.waitKey(0)
  
# Closing all open windows
cv2.destroyAllWindows()

Producción:

Ejemplo 3: dibujar un rectángulo 

A veces existe el requisito de que necesitamos mostrar fotos de alguien ocultando sus rostros. En este caso, podemos usar esta función para ocultar el rostro de una persona.

Aporte:

Código:

Python3

# Import necessary libraries
import cv2
import numpy as np
  
# Read an image
img = cv2.imread("Documents/Person_Image.jpg", 
                 cv2.IMREAD_COLOR)
  
# Define an array of endpoints of Rectangle
points = np.array([[300, 180], [400, 180], 
                   [400, 280], [300, 280]])
  
# Use fillPoly() function and give input as image,
# end points,color of polygon
# Here color of polygon will be red
cv2.fillPoly(img, pts=[points], color=(0, 0, 255))
  
# Displaying the image
cv2.imshow("Rectangle", img)
  
# wait for the user to press any key to exit window
cv2.waitKey(0)
  
# Closing all open windows
cv2.destroyAllWindows()

Producción:

Publicación traducida automáticamente

Artículo escrito por patildhanu4111999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *