Open In App
Related Articles

Python PIL | Image.histogram()

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

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]



Last Updated : 12 Dec, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads