Bienvenidos a otra entrada más de Procesamiento digital de imágenes, en esta entrada veremos como calcular el histograma de una imagen en escala de grises y gratificarlo con pyplot.
Libreria: PIL, MATPLOTLIB.
IDE: SPYDER
CÓDIGO
from PIL import Image
#modulo para generar la grafica
import matplotlib.pyplot as plt
# Funcion para graficar
def graficar(datos, saveGraf):
plt.figure(1)
x=range(len(datos))
print(x)
plt.xticks([0, 50, 100, 150, 200, 255],[0, 50, 100, 150, 200, 255])
plt.bar(x, datos, align='center')
plt.title("Histograma")
plt.xlabel('Valores de intensidad')
plt.ylabel('Numero de pixeles')
plt.savefig(saveGraf, bbox_inches='tight') #se guarda el historigrama
return None
# Carga la imagen
foto=Image.open('C:/Users/notblu/Documents/Python/practica2/img.png')
foto.show() #muestra la imagen antes de convertir a escala de grises
if foto.mode != 'L':
foto=foto.convert('L')
histograma=foto.histogram() # se cargan los datos del histograma
foto.show() # Se muestra imagen despues de procesar a escala de grises
#se llama a la funcion graficar
graficar(histograma, 'C:/Users/notblu/Documents/Python/practica2/historigrama.png')
EJECUCIÓN.
DESCARGA
No hay comentarios:
Publicar un comentario