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