Pillow/docs/reference/ImageStat.rst

74 lines
2.3 KiB
ReStructuredText
Raw Normal View History

2013-10-14 08:57:07 +04:00
.. py:module:: PIL.ImageStat
.. py:currentmodule:: PIL.ImageStat
:py:mod:`~PIL.ImageStat` Module
===============================
2013-10-14 08:57:07 +04:00
The :py:mod:`~PIL.ImageStat` module calculates global statistics for an image, or
2013-10-14 08:57:07 +04:00
for a region of an image.
2020-06-14 18:16:15 +03:00
.. py:class:: Stat(image_or_list, mask=None)
2013-10-14 08:57:07 +04:00
Calculate statistics for the given image. If a mask is included,
only the regions covered by that mask are included in the
statistics. You can also pass in a previously calculated 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.
2013-10-14 08:57:07 +04:00
:param mask: An optional mask.
.. py:attribute:: extrema
Min/max values for each band in the image.
2019-08-03 16:24:28 +03:00
.. note::
2020-06-14 18:16:15 +03:00
This relies on the :py:meth:`~PIL.Image.Image.histogram` method, and
2019-08-03 16:24:28 +03:00
simply returns the low and high bins used. This is correct for
images with 8 bits per channel, but fails for other modes such as
2020-06-14 18:16:15 +03:00
``I`` or ``F``. Instead, use :py:meth:`~PIL.Image.Image.getextrema` to
return per-band extrema for the image. This is more correct and
efficient because, for non-8-bit modes, the histogram method uses
2020-06-14 18:16:15 +03:00
:py:meth:`~PIL.Image.Image.getextrema` to determine the bins used.
2013-10-14 08:57:07 +04:00
.. py:attribute:: count
Total number of pixels for each band in the image.
2013-10-14 08:57:07 +04:00
.. py:attribute:: sum
Sum of all pixels for each band in the image.
2013-10-14 08:57:07 +04:00
.. py:attribute:: sum2
Squared sum of all pixels for each band in the image.
2013-10-14 08:57:07 +04:00
.. py:attribute:: mean
2013-10-14 08:57:07 +04:00
Average (arithmetic mean) pixel level for each band in the image.
2013-10-14 08:57:07 +04:00
.. py:attribute:: median
Median pixel level for each band in the image.
2013-10-14 08:57:07 +04:00
.. py:attribute:: rms
RMS (root-mean-square) for each band in the image.
2013-10-14 08:57:07 +04:00
.. py:attribute:: var
Variance for each band in the image.
2013-10-14 08:57:07 +04:00
.. py:attribute:: stddev
Standard deviation for each band in the image.