En este artículo veremos cómo podemos obtener el borde de la etiqueta en la imagen etiquetada dentro de la región dada 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.border
Sintaxis: mahotas.labelled.border(imagen_etiquetada, i, j)
Argumento: toma el objeto numpy.ndarray, es decir, la imagen etiquetada y dos enteros como argumento Nota
: un píxel está en el borde si tiene el valor i (o j)
Retorno: devuelve el objeto numpy.ndarray, es decir, la imagen etiquetada con la etiqueta del borde
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 border for label at given point relabeled = mahotas.labelled.border(labelled, 0, 20) # showing the image print("Labels With borders at given point") 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 imagwe 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 border for label at given point relabeled = mahotas.labelled.border(labelled, 1, 0) # showing the image print("Labels With borders at given point") 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