> Modules non standards > OpenCV > Histogramme des images
Histogramme des images
Histogramme :
- hist = cv2.calcHist([img], [0], None, [256], [0, 256]) : calcule l'histogramme de l'image dans le premier canal ([0]), avec 256 bins ([256]) et un range de 0 à 255 ([0, 256]). La valeur renvoyée est un array 256 x 1.
- on peut calculer l'histogramme seulement sur une partie de l'image :
mask = numpy.zeros(img.shape[:2], numpy.uint8)
mask[0:10, 0:50] = 255
maskedImg = cv2.bitwise_and(img, img, mask = mask)
hist = cv2.calcHist([img], [0], mask, [256], [0, 255])
Exemple d'histogramme d'une image :
hist = cv2.calcHist([img], [0], None, [256], [0, 256])
pyplot.plot(hist)
pyplot.savefig('tmp.png')
newImg = cv2.imread('tmp.png')
Egalisation d'une image :
- newImg = cv2.equalizeHist(img) : équalization d'une image en niveau de gris (modification des niveaux de gris pour avoir un histogramme à peu près palat).
- Contrast Limited Adaptive Histogram Equalization : permet de faire une équalization locale
Exemple d'égalisation :
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
newImg = cv2.equalizeHist(img)
Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert