En este artículo veremos cómo podemos obtener los cuadros delimitadores de todos los objetos en la imagen etiquetada en mahotas. Para ello vamos a utilizar la imagen de microscopía fluorescente de un benchmark de segmentación nuclear. Podemos obtener la imagen con la ayuda del comando que se indica a continuación.
mhotas.demos.nuclear_image()
A continuación se muestra la imagen_nuclear
Para hacer esto usaremos el método mahotas.labelled.bbox
Sintaxis: mahotas.labelled.bbox (imagen_etiquetada)
Argumento: toma el objeto numpy.ndarray como argumento, es decir, la imagen etiquetada
Retorno: devuelve el objeto numpy.ndarray, es decir, la imagen del cuadro delimitador
Nota: La entrada de este debe ser el objeto de imagen filtrado que está etiquetado.
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 import numpy as np from pylab import imshow, show import os # loading nuclear image f = mahotas.demos.load('nuclear') # setting filter to the image f = f[:, :, 0] # setting gaussian filter f = mahotas.gaussian_filter(f, 4) # setting threshold value f = (f> f.mean()) # creating a labelled image labelled, n_nucleus = mahotas.label(f) # showing the labelled image print("Labelled Image") imshow(labelled) show() # getting bounding boxes relabeled = mahotas.labelled.bbox(labelled) # showing the image print("Bounding Boxes") imshow(relabelled) 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 labelled image labelled, n_nucleus = mahotas.label(gaussian) print("Labelled Image") # showing the gaussian filter imshow(labelled) show() # getting bounding boxes relabelled = mahotas.labelled.bbox(labelled) # showing the image print("Bounding Boxes") imshow(relabelled) 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