Mahotas – Imagen de dilatación condicional

En este artículo veremos cómo podemos hacer la dilatación condicional de la imagen en mahotas. La dilatación agrega píxeles a los límites de los objetos en una imagen, mientras que la erosión elimina píxeles en los límites de los objetos. El número de píxeles añadidos o eliminados de los objetos de una imagen depende del tamaño y la forma del elemento estructurante utilizado para procesar la imagen. Usamos el método mahotas.morph.dilate para hacer una dilatación normal.

En este tutorial usaremos la imagen «lena», a continuación se muestra el comando para cargarla.

mahotas.demos.load('lena')

A continuación se muestra la imagen de lena  

Para hacer esto usaremos el método mahotas.cdilate
Sintaxis: mahotas.cdilate(img, c_grey, Bc={3×3 cross}, n=1)
Argumento: Toma objeto imagen, imagen condicional como argumento obligatorio, estructura del elemento y el número de iteración son argumentos opcionales
Retorno: Devuelve un objeto de imagen 
 

Nota: la imagen de entrada debe filtrarse o cargarse como gris

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]

A continuación se muestra la implementación.  

Python3

# importing required libraries
# importing required libraries
import mahotas
import mahotas.demos
from pylab import gray, imshow, show
import numpy as np
  
# loading image
img = mahotas.demos.load('lena')
 
# grey image
g = img[:, :, 1]
 
# multiplying grey image values
g = g * 100
  
# filtering image
img = img.max(2)
  
# otsu method
T_otsu = mahotas.otsu(img)
   
  
# image values should be greater than otsu value
img = img > T_otsu
  
print("Image threshold using Otsu Method")
  
# showing image
imshow(img)
show()
  
# dilating image using conditional grey image
dilate_img = mahotas.cdilate(img, g)
  
# showing dilated image
print("Dilated Image")
imshow(dilate_img)
show()

Producción : 

Image threshold using Otsu Method

Dilated Image

Otro ejemplo  

Python3

# importing required libraries
import mahotas
import numpy as np
from pylab import gray, imshow, show
import os
  
# loading image
img = mahotas.imread('dog_image.png')
     
# grey image
g = img[:, :, 2]
 
# multiplying grey image values
g = g * 100
  
# filtering image
img = img[:, :, 0]
  
# otsu method
T_otsu = mahotas.otsu(img)
   
 
# image values should be greater than otsu value
img = img > T_otsu
  
print("Image threshold using Otsu Method")
  
# showing image
imshow(img)
show()
  
# dilating image using conditional grey image
dilate_img = mahotas.cdilate(img, g)
  
# showing dilated image
print("Dilated Image")
imshow(dilate_img)
show()

Producción : 

Image threshold using Otsu Method 

Dilated Image

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 *