Dibuja formas geométricas en imágenes usando OpenCV

OpenCV proporciona muchas funciones de dibujo para dibujar formas geométricas y escribir texto en imágenes. Veamos algunas de las funciones de dibujo y dibujemos formas geométricas en imágenes usando OpenCV.

Algunas de las funciones de dibujo son:

cv2.line() : Se usa para dibujar una línea en una imagen. 
cv2.rectangle() : Se usa para dibujar un rectángulo en una imagen. 
cv2.circle() : Se usa para dibujar un círculo en una imagen. 
cv2.putText() : Se usa para escribir texto en la imagen.

Para demostrar los usos de las funciones mencionadas anteriormente, necesitamos una imagen de tamaño 400 X 400 llena de un color sólido (negro en este caso). Para hacer esto, podemos utilizar la función numpy.zeroes para crear la imagen requerida. 

Python3

# Python3 program to draw solid-colored
# image using numpy.zeroes() function
import numpy as np
import cv2
  
# Creating a black image with 3 channels
# RGB and unsigned int datatype
img = np.zeros((400, 400, 3), dtype = "uint8")
cv2.imshow('dark', img)
  
# Allows us to see image
# until closed forcefully
cv2.waitKey(0)
cv2.destroyAllWindows()

Producción : 

image of size 400 X 400 filled with a solid color using opencv

Ahora, dibujemos algunas formas geométricas en esta imagen negra sólida. 

Dibuja una línea : 

cv2.line(imageObjectName, (‘start_coordinates’), (‘end_coordinates’), (‘color_in_bgr’), ‘line_thickness’)

Python3

# Python3 program to draw line
# shape on solid image
import numpy as np
import cv2
  
# Creating a black image with 3 channels
# RGB and unsigned int datatype
img = np.zeros((400, 400, 3), dtype = "uint8")
  
# Creating line
cv2.line(img, (20, 160), (100, 160), (0, 0, 255), 10)
  
cv2.imshow('dark', img)
  
# Allows us to see image
# until closed forcefully
cv2.waitKey(0)
cv2.destroyAllWindows()

Producción : 

Draw a line using opencv

Dibuja un rectángulo:

cv2.rectangle(imageObjectName, (‘top_left_vertex_coordinates’), (‘lower_right_vertex_coordinates’), (‘stroke_color_in_bgr’), ‘stroke_thickness’)

Python3

# Python3 program to draw rectangle
# shape on solid image
import numpy as np
import cv2
  
# Creating a black image with 3
# channels RGB and unsigned int datatype
img = np.zeros((400, 400, 3), dtype = "uint8")
  
# Creating rectangle
cv2.rectangle(img, (30, 30), (300, 200), (0, 255, 0), 5)
  
cv2.imshow('dark', img)
  
# Allows us to see image
# until closed forcefully
cv2.waitKey(0)
cv2.destroyAllWindows()

Producción : 

Draw a rectangle using opencv

Dibuja un circulo :

cv2.circle(imageObjectName, (‘center_coordinates’), (‘circle_radius’), (‘color_in_bgr’), ‘stroke_thickness’)

Python3

# Python3 program to draw circle
# shape on solid image
import numpy as np
import cv2
  
# Creating a black image with 3
# channels RGB and unsigned int datatype
img = np.zeros((400, 400, 3), dtype = "uint8")
  
# Creating circle
cv2.circle(img, (200, 200), 80, (255, 0, 0), 3)
  
cv2.imshow('dark', img)
  
# Allows us to see image
# until closed forcefully
cv2.waitKey(0)
cv2.destroyAllWindows()

Producción : 

Draw a circle using opencv

Escritura de texto:

cv2.putText(imageObjectName, ‘TextContent’, (‘text_starting_point_coordinates’), ‘fontToBeUsed’, ‘font_size’, (‘text_color’, ‘text_thickness’, ‘line_type’)

Python

# Python3 program to write 
# text on solid image
import numpy as np
import cv2
  
# Creating a black image with 3
# channels RGB and unsigned int datatype
img = np.zeros((400, 400, 3), dtype = "uint8")
  
# writing text
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img, 'GeeksForGeeks', (50, 50),
            font, 0.8, (0, 255, 0), 2, cv2.LINE_AA)
  
cv2.imshow('dark', img)
  
# Allows us to see image
# until closed forcefully
cv2.waitKey(0)
cv2.destroyAllWindows()

Producción : 

writing text using opencv

Aplicaciones de dibujar formas en imágenes:  

  • Dibujar formas geométricas puede ayudarnos a resaltar las partes particulares de una imagen.
  • Las formas geométricas como la línea pueden ayudarnos a señalar o identificar regiones particulares en la imagen.
  • Escribir texto en ciertas regiones de las imágenes puede agregar una descripción a esa región.

Referencia:  
https://docs.opencv.org/2.4/modules/core/doc/drawing_functions.html
 

Publicación traducida automáticamente

Artículo escrito por neerajnegi174 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 *