En este artículo veremos cómo podemos obtener un mapa de distancias de una imagen binaria en mahotas. Una transformación de distancia, también conocida como mapa de distancia o campo de distancia, es una representación derivada de una imagen digital. La elección del término depende del punto de vista sobre el objeto en cuestión: si la imagen inicial se transforma en otra representación, o simplemente se le dota de un mapa o campo adicional.
Para hacer esto usaremos el método mahotas.distance
Sintaxis: mahotas.distance(img)
Argumento: Toma un objeto de imagen que debe ser binario como argumento
Retorno: Devuelve un objeto de imagen
Nota: la imagen de entrada debe ser una imagen binaria, también se puede etiquetar, la imagen debe filtrarse o cargarse como gris para que sea binaria.
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]
Ejemplo 1:
Python3
# importing required libraries import mahotas as mh import numpy as np from pylab import imshow, show # creating region # numpy.ndarray regions = np.zeros((10, 10), bool) # setting 1 value to the region regions[:3, :3] = 1 regions[6:, 6:] = 1 # getting labeled function labeled, nr_objects = mh.label(regions) # showing the image with interpolation = 'nearest' print("Image") imshow(labeled, interpolation ='nearest') show() # getting distance map dmap = mahotas.distance(labeled) # showing image print("Distance Map") imshow(dmap) show()
Producción :
Ejemplo 2:
Python3
# importing required libraries import numpy as np import mahotas from pylab import imshow, show # loading image img = mahotas.imread('dog_image.png') # filtering the image img = img[:, :, 0] # setting gaussian filter gaussian = mahotas.gaussian_filter(img, 15) # setting threshold value gaussian = (gaussian > gaussian.mean()) # creating a labeled image labeled, n_nucleus = mahotas.label(gaussian) print("Image") # showing the gaussian filter imshow(labeled) show() # getting distance map dmap = mahotas.distance(labeled) # showing image print("Distance Map") imshow(dmap) show()
Producción :
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA