Python PIL | Image.histogram() - GeeksforGeeks

12 Dec, 2021
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 grayscale (“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 grayscale image (“L”). 
Syntax: Image.histogram(mask=None, extrema=None)Parameters: mask – An optional mask.Returns: A list containing pixel counts. 
Image Used: 
 
Python3
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: 
 
Python3
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]
adnanirshad158
Python-pil
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Install PIP on Windows ?
Check if element exists in list in Python
How To Convert Python Dictionary To JSON?
Python Classes and Objects
How to drop one or multiple columns in Pandas Dataframe
Defaultdict in Python
Python | Get unique values from a list
Python | os.path.join() method
Create a directory in Python
Python | Pandas dataframe.groupby()