Skip to content
Related Articles

Related Articles

Python PIL | Image.histogram()
  • Last Updated : 02 Aug, 2019
GeeksforGeeks - Summer Carnival Banner

PIL is the Python Imaging Library which provides the python interpreter with image editing capabilities. The Image module provides a class with the same name which is used to represent a PIL image. The module also provides a number of factory functions, including functions to load images from files, and to create new images.

Image.histogram() Returns a histogram for the image. The histogram is returned as a list of pixel counts, one for each pixel value in the source image. If the image has more than one band, the histograms for all bands are concatenated (for example, the histogram for an “RGB” image contains 768 values).

A bi-level image (mode “1”) is treated as a greyscale (“L”) image by this method. If a mask is provided, the method returns a histogram for those parts of the image where the mask image is non-zero. The mask image must have the same size as the image, and be either a bi-level image (mode “1”) or a greyscale image (“L”).

Syntax: Image.histogram(mask=None, extrema=None)

Parameters:
mask – An optional mask.



Returns: A list containing pixel counts.

Image Used:




   
  
from PIL import Image
  
img = Image.open(r"C:\Users\System-Pc\Desktop\tree.jpg")
r, g, b = img.split()
len(r.histogram())
### 256 ###
  
r.histogram()

Output:

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 3, 1, 2, 3, 4, 3, 2, 3, 10, 7, 6, 7, 13, 14, 6, 22, 9, 19, 23, 21, 29, 23, 36, 42, 32, 46, 59, 51, 53, 69, 49, 61, 64, 79, 69, 55, 66, 73, 78, 64, 82, 84, 83, 67, 85, 87, 91, 84, 87, 63, 79, 86, 86, 77, 75, 78, 85, 77, 78, 92, 83, 78, 86, 90, 97, 96, 94, 90, 94, 76, 99, 97, 113, 108, 92, 120, 124, 110, 140, 121, 124, 132, 144, 132, 145, 151, 163, 145, 147, 184, 151, 161, 177, 199, 200, 205, 218, 223, 274, 237, 245, 254, 260, 281, 299, 301, 354, 361, 335, 392, 365, 375, 389, 367, 396, 387, 415, 398, 404, 417, 404, 405, 447, 483, 493, 484, 470, 440, 473, 472, 441, 462, 467, 461, 468, 474, 438, 449, 451, 431, 468, 470, 415, 452, 407, 379, 411, 358, 383, 418, 375, 414, 376, 375, 341, 361, 340, 350, 354, 293, 318, 325, 297, 316, 287, 326, 287, 307, 289, 314, 296, 275, 262, 281, 262, 278, 268, 320, 254, 288, 279, 280, 259, 252, 257, 257, 245, 227, 231, 254, 282, 263, 248, 218, 250, 246, 232, 244, 237, 208, 217, 215, 226, 205, 223, 212, 227, 220, 213, 198, 197, 224, 193, 200, 173, 190, 184, 190, 183, 3263]

Another Example:Here used another image.

Image Used:




   
  
from PIL import Image
  
img = Image.open(r"C:\Users\System-Pc\Desktop\tree.jpg")
r, g, b = img.split()
len(r.histogram())
### 256 ###
  
r.histogram()

Output:

[970, 228, 158, 207, 258, 217, 257, 260, 256, 252, 224, 277, 247, 293, 294, 305, 303, 309, 318, 321, 343, 326, 313, 295, 346, 292, 356, 340, 305, 311, 360, 373, 350, 357, 384, 356, 325, 380, 373, 389, 355, 336, 328, 349, 364, 335, 390, 340, 343, 382, 343, 339, 351, 329, 364, 350, 356, 362, 381, 349, 386, 366, 351, 345, 357, 353, 339, 359, 387, 346, 371, 359, 319, 330, 321, 311, 300, 313, 325, 338, 322, 330, 303, 354, 335, 321, 313, 289, 286, 286, 264, 279, 267, 255, 277, 266, 297, 261, 282, 267, 254, 269, 246, 244, 265, 240, 231, 250, 210, 227, 202, 200, 217, 191, 187, 217, 199, 171, 180, 152, 195, 172, 158, 170, 177, 159, 151, 152, 143, 159, 183, 138, 169, 162, 145, 161, 147, 150, 160, 186, 163, 153, 139, 153, 149, 144, 148, 143, 167, 144, 184, 154, 160, 134, 130, 144, 176, 118, 140, 132, 115, 119, 130, 130, 120, 125, 121, 133, 105, 123, 105, 106, 92, 114, 101, 112, 103, 106, 98, 118, 110, 111, 99, 99, 107, 74, 109, 83, 94, 97, 87, 85, 88, 77, 77, 92, 94, 69, 91, 97, 71, 100, 83, 80, 83, 53, 89, 72, 68, 70, 58, 74, 67, 69, 64, 80, 81, 68, 57, 47, 60, 53, 59, 53, 64, 63, 69, 52, 48, 46, 51, 52, 41, 49, 45, 43, 41, 32, 43, 42, 47, 46, 34, 38, 39, 34, 33, 31, 21, 23, 28, 25, 15, 15, 24, 148]

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :