En este artículo veremos cómo podemos hacer la dilatación condicional de la imagen en mahotas. La dilatación agrega píxeles a los límites de los objetos en una imagen, mientras que la erosión elimina píxeles en los límites de los objetos. El número de píxeles añadidos o eliminados de los objetos de una imagen depende del tamaño y la forma del elemento estructurante utilizado para procesar la imagen. Usamos el método mahotas.morph.dilate para hacer una dilatación normal.
En este tutorial usaremos la imagen «lena», a continuación se muestra el comando para cargarla.
mahotas.demos.load('lena')
A continuación se muestra la imagen de lena
Para hacer esto usaremos el método mahotas.cdilate
Sintaxis: mahotas.cdilate(img, c_grey, Bc={3×3 cross}, n=1)
Argumento: Toma objeto imagen, imagen condicional como argumento obligatorio, estructura del elemento y el número de iteración son argumentos opcionales
Retorno: Devuelve un objeto de imagen
Nota: la imagen de entrada debe filtrarse o cargarse como gris
Para filtrar la imagen, tomaremos el objeto de imagen que es numpy.ndarray y lo filtraremos con la ayuda de la indexación, a continuación se muestra el comando para hacer esto
image = image[:, :, 0]
A continuación se muestra la implementación.
Python3
# importing required libraries # importing required libraries import mahotas import mahotas.demos from pylab import gray, imshow, show import numpy as np # loading image img = mahotas.demos.load('lena') # grey image g = img[:, :, 1] # multiplying grey image values g = g * 100 # filtering image img = img.max(2) # otsu method T_otsu = mahotas.otsu(img) # image values should be greater than otsu value img = img > T_otsu print("Image threshold using Otsu Method") # showing image imshow(img) show() # dilating image using conditional grey image dilate_img = mahotas.cdilate(img, g) # showing dilated image print("Dilated Image") imshow(dilate_img) show()
Producción :
Image threshold using Otsu Method
Dilated Image
Otro ejemplo
Python3
# importing required libraries import mahotas import numpy as np from pylab import gray, imshow, show import os # loading image img = mahotas.imread('dog_image.png') # grey image g = img[:, :, 2] # multiplying grey image values g = g * 100 # filtering image img = img[:, :, 0] # otsu method T_otsu = mahotas.otsu(img) # image values should be greater than otsu value img = img > T_otsu print("Image threshold using Otsu Method") # showing image imshow(img) show() # dilating image using conditional grey image dilate_img = mahotas.cdilate(img, g) # showing dilated image print("Dilated Image") imshow(dilate_img) show()
Producción :
Image threshold using Otsu Method
Dilated Image
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA