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