Python | Operaciones Morfológicas en Procesamiento de Imágenes (Gradiente) | Conjunto-3

En los artículos anteriores se especificaba la operación de Apertura y la operación de Cierre. En este artículo se elabora otra operación morfológica que es el Gradiente . Se utiliza para generar el contorno de la imagen. Hay dos tipos de gradientes, gradiente interno y externo. El degradado interno realza los límites internos de los objetos más brillantes que su fondo y los límites externos de los objetos más oscuros que su fondo. Para imágenes binarias, el degradado interno genera una máscara de los límites internos de los objetos de imagen de primer plano.
 

Sintaxis: cv2.morphologyEx(image, cv2.MORPH_GRADIENT, kernel)
Parámetros: 
-> image : array de imágenes de entrada. 
-> cv2.MORPH_GRADIENT : Aplicando la operación Gradiente Morfológico. 
-> kernel : Elemento estructurante. 
 

A continuación se muestra el código de Python que explica la operación morfológica de gradiente: 
 

Python3

# Python program to illustrate
# Gradient morphological operation
# on input frames
 
# organizing imports 
import cv2 
import numpy as np 
 
# return video from the first webcam on your computer. 
screenRead = cv2.VideoCapture(0)
 
# loop runs if capturing has been initialized.
while(1):
    # reads frames from a camera
    _, image = screenRead.read()
     
    # Converts to HSV color space, OCV reads colors as BGR
    # frame is converted to hsv
    hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
     
    # defining the range of masking
    blue1 = np.array([110, 50, 50])
    blue2 = np.array([130, 255, 255])
     
    # initializing the mask to be
    # convoluted over input image
    mask = cv2.inRange(hsv, blue1, blue2)
 
    # passing the bitwise_and over
    # each pixel convoluted
    res = cv2.bitwise_and(image, image, mask = mask)
     
    # defining the kernel i.e. Structuring element
    kernel = np.ones((5, 5), np.uint8)
     
    # defining the gradient function
    # over the image and structuring element
    gradient = cv2.morphologyEx(mask, cv2.MORPH_GRADIENT, kernel)
    
    # The mask and closing operation
    # is shown in the window
    cv2.imshow('Gradient', gradient)
     
    # Wait for 'a' key to stop the program
    if cv2.waitKey(1) & 0xFF == ord('a'):
        break
 
# De-allocate any associated memory usage 
cv2.destroyAllWindows()
 
# Close the window / Release webcam
screenRead.release()

Resultado: 
 

El marco de la imagen de salida muestra el contorno generado sobre el libro azul y el objeto azul en la parte superior izquierda.
 

Publicación traducida automáticamente

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