En este artículo veremos cómo podemos eliminar la etiqueta bordeada de la imagen etiquetada en mahotas. Las etiquetas de borde son aquellas etiquetas que tocan el borde, podemos crear una imagen etiquetada a partir de una imagen normal con la ayuda del método mahotas.label.
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.remove_bordering
Sintaxis: mahotas.remove_bordering (etiquetado)
Argumento: toma el objeto de imagen etiquetado como argumento
Retorno: devuelve la imagen etiquetada sin etiqueta en los bordes
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() # removing border labels labelled = mahotas.labelled.remove_bordering(labelled) # showing the image print("No border Label") 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] # 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() # removing border labels labelled = mahotas.labelled.remove_bordering(labelled) # showing the image print("No border Label") 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