Mahotas – Método Riddler-Calvard

En este artículo, veremos cómo podemos implementar el método Riddler Calvard en mahotas. Esta es una alternativa al método de otsu. El algoritmo de Riddler y Calvard utiliza un enfoque de agrupamiento iterativo. Primero se debe realizar una estimación inicial del umbral (p. ej., intensidad de imagen media). Los píxeles por encima y por debajo del umbral se asignan a las clases de objeto y de fondo, respectivamente.

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

mahotas.demos.load('luispedro')

A continuación se muestra la imagen de luispedro 

Para hacer esto usaremos el método mahotas.rc  

Sintaxis: mahotas.rc (imagen)
Argumento: toma el objeto de imagen como argumento
Retorno: devuelve numpy.float64 
 

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]

Ejemplo 1: 

Python3

# importing required libraries
import mahotas
import mahotas.demos
import numpy as np
from pylab import imshow, gray, show
from os import path
 
# loading the image
photo = mahotas.demos.load('luispedro')
 
# showing original image
print("Original Image")
imshow(photo)
show()
 
# loading image as grey
photo = mahotas.demos.load('luispedro', as_grey = True)
 
# converting image type to unit8
# because as_grey returns floating values
photo = photo.astype(np.uint8)
 
# riddler calvard
T_rc = mahotas.rc(photo)
 
# printing otsu value
print("R C value : " + str(T_rc))
 
print("Image threshold using riddler calvard method")
# showing image
# image values should be greater than T_rc value
imshow(photo > T_rc)
show()

Producción : 
 

Ejemplo 2: 

Python3

# importing required libraries
import mahotas
import numpy as np
from pylab import imshow, show
import os
 
 
# loading image
img = mahotas.imread('dog_image.png')
     
 
# setting filter to the image
img = img[:, :, 0]
 
imshow(img)
show()
 
 
# riddler calvard
T_rc = mahotas.rc(img)
 
# printing otsu value
print("R C value : " + str(T_rc))
 
print("Image threshold using riddler calvard method")
# showing image
# image values should be greater than T_rc value
imshow(img > T_rc)
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 *