Python | Operaciones morfológicas en el procesamiento de imágenes (apertura) | Serie 1

Las operaciones morfológicas se utilizan para extraer componentes de la imagen que son útiles en la representación y descripción de la forma de la región. Las operaciones morfológicas son algunas tareas básicas que dependen de la forma de la imagen. Normalmente se realiza en imágenes binarias. Necesita dos fuentes de datos, una es la imagen de entrada , la segunda se llama componente de estructuración . Los operadores morfológicos toman una imagen de entrada y un componente de estructuración como entrada y estos elementos luego se combinan usando los operadores de conjunto. Los objetos en la imagen de entrada se procesan según los atributos de la forma de la imagen, que están codificados en el componente de estructuración. 
Aperturaes similar a la erosión, ya que tiende a eliminar los píxeles de primer plano brillantes de los bordes de las regiones de los píxeles de primer plano. El impacto del operador es salvaguardar la región de primer plano que tiene similitud con el componente de estructuración, o que puede contener totalmente el componente de estructuración mientras elimina todas las demás áreas de píxeles de primer plano. La operación de apertura se utiliza para eliminar el ruido interno de una imagen.
La apertura es una operación de erosión seguida de una operación de dilatación. 
 

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

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

Python3

# Python program to illustrate
# Opening morphological operation
# on an image
 
# 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 opening function
    # over the image and structuring element
    opening = cv2.morphologyEx(mask, cv2.MORPH_OPEN, kernel)
    
    # The mask and opening operation
    # is shown in the window
    cv2.imshow('Mask', mask)
    cv2.imshow('Opening', opening)
     
    # 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()

Cuadro de entrada: 
 

Mascarilla: 
 

Marco de salida: 
 

El sistema reconoce el libro azul definido como la entrada y elimina y simplifica el ruido interno en la región de interés con la ayuda de la función de apertura.
 

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 *