Merge pull request #6106 from radarhere/imagestat

Document that histogram() uses 256 bins per channel
This commit is contained in:
Hugo van Kemenade 2022-03-05 08:27:25 +02:00 committed by GitHub
commit c32f908629
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 5 deletions

View File

@ -14,6 +14,16 @@ for a region of an image.
statistics. You can also pass in a previously calculated histogram. statistics. You can also pass in a previously calculated histogram.
:param image: A PIL image, or a precalculated histogram. :param image: A PIL image, or a precalculated histogram.
.. note::
For a PIL image, calculations rely on the
:py:meth:`~PIL.Image.Image.histogram` method. The pixel counts are
grouped into 256 bins, even if the image has more than 8 bits per
channel. So ``I`` and ``F`` mode images have a maximum ``mean``,
``median`` and ``rms`` of 255, and cannot have an ``extrema`` maximum
of more than 255.
:param mask: An optional mask. :param mask: An optional mask.
.. py:attribute:: extrema .. py:attribute:: extrema

View File

@ -1492,11 +1492,12 @@ class Image:
def histogram(self, mask=None, extrema=None): def histogram(self, mask=None, extrema=None):
""" """
Returns a histogram for the image. The histogram is returned as Returns a histogram for the image. The histogram is returned as a
a list of pixel counts, one for each pixel value in the source list of pixel counts, one for each pixel value in the source
image. If the image has more than one band, the histograms for image. Counts are grouped into 256 bins for each band, even if
all bands are concatenated (for example, the histogram for an the image has more than 8 bits per band. If the image has more
"RGB" image contains 768 values). than one band, the histograms for all bands are concatenated (for
example, the histogram for an "RGB" image contains 768 values).
A bilevel image (mode "1") is treated as a greyscale ("L") image A bilevel image (mode "1") is treated as a greyscale ("L") image
by this method. by this method.