Mahotas – Eliminación de bordeado etiquetado

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

Deja una respuesta

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