Visualizar histograma
Es posible visualizar el histograma de una imagen de la siguiente manera:
import matplotlib.pyplot as plt
import cv2
hist = cv2.calcHist([imagen],[0],None,[256],[0,256])
plt.plot(hist)
plt.show()
Adicionalmente, es posible calcularlo usando numpy:
import matplotlib.pyplot as plt
import numpy as np
def show_histogram(image, values=256):
histogram, bin_edges = np.histogram(image, bins=values, range=(0, values-1))
fig, ax = plt.subplots()
ax.set_title("Grayscale Histogram")
ax.set_xlabel("grayscale value")
ax.set_ylabel("pixel count")
ax.set_xlim([0.0, values-1])
ax.plot(bin_edges[0:-1], histogram)
plt.show()Note que en ambos casos se asume por defecto una imagen de escala de grises con 256 posibles valores. Sin embargo, es fácilmente modificable para usar diferentes rangos de valores y para visualizar los canales de una imagen en RGB.