En este artículo veremos cómo podemos obtener pesos de región etiquetada en 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.label_size
Sintaxis: mahotas.labeled_sum(array, región_etiquetada)
Argumento: toma dos objetos numpy.ndarray como argumento, es decir, una array aleatoria de forma de región y región etiquetada
Retorno: devuelve una lista de valores numpy.float64
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' imshow(labeled, interpolation ='nearest') show() # random array of region shapes array = np.random.random_sample(regions.shape) # getting sum i.e area sums = mh.labeled_sum(array, labeled) # printing the sums values for i in range(len(sums)): print("Sum of region " + str(i) + " : " + str(sums[i]))
Producción :
Sum of region 0 : 38.81707025816505 Sum of region 1 : 5.627375253802732 Sum of region 2 : 8.224633573583985
Ejemplo 2:
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 in the region regions[1, 1] = 1 regions[6, 6] = 1 regions[4, 4] = 1 regions[9, 9] = 1 # getting labeled function labeled, nr_objects = mh.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 sum i.e area sums = mh.labeled_sum(array, labeled) # printing the sums values for i in range(len(sums)): print("Sum of region " + str(i) + " : " + str(sums[i]))
Producción :
Sum of region 0 : 47.05475409838963 Sum of region 1 : 0.07129110100184632 Sum of region 2 : 0.9333006775043519 Sum of region 3 : 0.8322767370999588 Sum of region 4 : 0.1700224211466459
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA