Mahotas – Distancia de la imagen binaria

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *