En este artículo veremos cómo podemos obtener la fracción de ceros de la imagen en mahotas. La fracción de ceros es la cantidad porcentual de datos estadísticos que es cero. Es relevante en modelos estadísticos donde una cantidad significativa de objetos tiene valor cero.
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 np.mean
Sintaxis: np.mean(img==0)
Argumento: Toma el objeto de imagen como argumento
Retorno: Devuelve numpy.float64
Nota: la imagen de entrada debe filtrarse o debe 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 various libraries import numpy as np import mahotas import mahotas.demos from mahotas.thresholding import soft_threshold from pylab import imshow, show from os import path # loading image f = mahotas.demos.load('luispedro', as_grey = True) # showing image print("Image") # getting fraction of zeros in image fraction = np.mean(f == 0) print("Fraction of zeros in image: {0}".format(fraction)) imshow(f) show() # Transform using D8 Wavelet to obtain transformed image t t = mahotas.daubechies(f, 'D8') # Discard low-order bits: t /= 8 t = t.astype(np.int8) # getting fraction of zeros in image fraction = np.mean(t == 0) print("Fraction of zeros in transform (after division by 8): {0}".format(fraction)) # showing transformed image print("Transformed Image") imshow(t) 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') # filtering image img = img[:, :, 0] # getting fraction of zeros in image fraction = np.mean(img == 0) print("Fraction of zeros in image: {0}".format(fraction)) imshow(img) show() # Transform using D8 Wavelet to obtain transformed image t t = mahotas.daubechies(img, 'D8') # Discard low-order bits: t /= 8 t = t.astype(np.int8) # getting fraction of zeros in image fraction = np.mean(t == 0) print("Fraction of zeros in transform (after division by 8): {0}".format(fraction)) # showing transformed image print("Transformed Image") imshow(t) 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