En este artículo veremos cómo podemos implementar el método de otsu en mahotas. En visión por computadora y procesamiento de imágenes, el método de Otsu, llamado así por Nobuyuki Otsu, se utiliza para realizar umbrales automáticos de imágenes. En la forma más simple, el algoritmo devuelve un único umbral de intensidad que separa los píxeles en dos clases, primer plano y fondo.
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.otsu
Sintaxis: mahotas.otsu (imagen)
Argumento: toma el objeto de imagen como argumento
Retorno: devuelve un número entero
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) # otsu method T_otsu = mahotas.otsu(photo) # printing otsu value print("Otsu Method value : " + str(T_otsu)) print("Image threshold using Otsu Method") # showing image # image values should be greater than otsu value imshow(photo > T_otsu) 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() # otsu method T_otsu = mahotas.otsu(img) # printing otsu value print("Otsu Method value : " + str(T_otsu)) print("Image threshold using Otsu Method") # showing image # image values should be greater than otsu value imshow(img > T_otsu) 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