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