En este artículo veremos cómo podemos obtener la array máxima etiquetada de in mahotas. Las imágenes etiquetadas son imágenes enteras donde los valores corresponden a diferentes regiones. Es decir, la región 1 son todos los píxeles que tienen valor 1, la región dos son los píxeles con valor 2, y así sucesivamente. Por convención, la región 0 es el fondo y, a menudo, se maneja de manera diferente. Podemos crear una región etiquetada con la ayuda del método mahotas.label.
Podemos obtener el tamaño de cada región con la ayuda del método mahotas.label_size, este tamaño se mide simplemente como el número de píxeles en cada región. En cambio, podemos medir el peso total en cada área.
Para hacer esto usaremos el método mahotas.labeled.labeled_max
Sintaxis: mahotas.labeled.labeled_max(array, etiquetada_img)
Argumento: toma dos objetos numpy.ndarray como argumento, es decir, una array aleatoria de forma de región y región etiquetada
Retorno: devuelve ndarray de valores numpy.float64
Ejemplo 1:
Python3
# importing required libraries import mahotas 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 = mahotas.label(regions) # showing the image with interpolation = 'nearest' imshow(labeled, interpolation ='nearest') show() # random array of region shapes array = np.random.random_sample(regions.shape) # getting labeled max array l_array = mahotas.labeled.labeled_max(array, labeled) print("Labeled Max array :") # printing the values for i in range(len(l_array)): print("Region " + str(i) + " : " + str(l_array[i]))
Producción :
Labeled Max array : Region 0 : 0.9980513142322492 Region 1 : 0.624390200202312 Region 2 : 0.9210927640926101
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("Labelled Image") # showing the gaussian filter imshow(labeled) show() # random array of region shapes array = np.random.random_sample(labeled.shape) # getting labeled max array l_array = mahotas.labeled.labeled_max(array, labeled) print("Labeled Max array :") # printing the values for i in range(len(l_array)): print("Region " + str(i) + " : " + str(l_array[i]))
Producción :
Labeled Max array : Region 0 : 0.9999995478951564 Region 1 : 0.9999944289534851 Region 2 : 0.999718434740755 Region 3 : 0.9996236088210476 Region 4 : 0.9861670123032187
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA