En el artículo anterior se especificaba el Operador de Apertura que aplicaba la operación de erosión después de la dilatación. Ayuda a eliminar el ruido interno de la imagen. El cierre es similar a la operación de apertura. En la operación de cierre, la premisa básica es que el cierre es una apertura realizada al revés. Se define simplemente como una dilatación seguida de una erosión utilizando el mismo elemento estructurante utilizado en la operación de apertura.
Sintaxis: cv2.morphologyEx(imagen, cv2.MORPH_CLOSE, núcleo)
Parámetros:
-> imagen : array de imágenes de entrada.
-> cv2.MORPH_CLOSE : Aplicando la operación de Cierre Morfológico.
-> kernel : Elemento estructurante.
A continuación se muestra el código de Python que explica la operación morfológica de cierre:
Python3
# Python program to illustrate # Closing 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 closing function # over the image and structuring element closing = cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel) # The mask and closing operation # is shown in the window cv2.imshow('Mask', mask) cv2.imshow('Closing', closing) # 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()
Publicación traducida automáticamente
Artículo escrito por rishabhsingh1304 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA