En este artículo veremos cómo podemos crear una imagen etiquetada a partir de la imagen normal 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
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.
Para hacer esto, usaremos el método mahotas.label
Sintaxis: mahotas.label (imagen)
Argumento: toma el objeto de imagen cargado como argumento
Retorno: devuelve la imagen etiquetada y el número entero, es decir, el número de etiquetas
Nota: la entrada de la etiqueta debe ser el objeto de la imagen filtrada y debe tener el umbral y se prefiere que la imagen tenga un filtro gaussiano para eliminar los bordes más nítidos.
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] # show the image print("Image") imshow(f) show() # 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()
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] print("Image") # showing the image imshow(img) show() # setting gaussian filter gaussian = mahotas.gaussian_filter(img, 15) # setting threshold value gaussian = (gaussian > gaussian.mean()) # creating a labelled image labelled, n_nucleus = mh.label(gaussian) print("Labelled Image") # showing the gaussian filter imshow(labelled) 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