Mahotas – Cómo etiquetar Max Array

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

Deja una respuesta

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