ImageStat
ImageStat.Stat(image, mask=None) computes per-band statistics from an 8-bit
image. A nonzero L mask selects pixels. You can also pass a precomputed
histogram with 256 nonnegative integer bins per band, each at most
2**64 - 1.
| Properties | Meaning |
|---|---|
extrema, count, sum, sum2 |
Range and totals |
mean, median, rms |
Central values |
var, stddev |
Spread |
from blanket import ImageStat
statistics = ImageStat.Stat(image)
average_channels = statistics.mean
Properties are calculated on demand and cached. ImageStat.Global is an
alias for Stat.
Reference
Stat
Calculate statistics from an 8-bit image or a list of histogram counts.
A mask selects pixels with any nonzero L value. Histograms contain 256 nonnegative integer counts per band, each fitting in an unsigned 64-bit integer. Results are computed lazily and cached, as in Pillow.
Configure Stat.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
image_or_list
|
Image | list[int]
|
An 8-bit image or a histogram with 256 nonnegative integer counts per band. |
required |
mask
|
Image | None
|
Optional mask selecting pixels. Histogram operations require an L mask; compositing also accepts RGBA alpha. |
None
|
Examples:
from blanket import Image, ImageStat
image = Image.new("RGB", (8, 8), (40, 100, 180))
statistics = ImageStat.Stat(image)
print(statistics.mean)
bands
cached
property
bands: list[int]
Band indices, materialized only when requested.
Examples:
from blanket import Image, ImageStat
image = Image.new("RGB", (8, 8), (40, 100, 180))
statistics = ImageStat.Stat(image)
print(statistics.bands)
extrema
cached
property
extrema: list[tuple[int, int]]
Lowest and highest occupied bin per band; (255, 0) if empty.
Examples:
from blanket import Image, ImageStat
image = Image.new("RGB", (8, 8), (40, 100, 180))
statistics = ImageStat.Stat(image)
print(statistics.extrema)
count
cached
property
count: list[int]
Number of selected pixels in each band.
Examples:
from blanket import Image, ImageStat
image = Image.new("RGB", (8, 8), (40, 100, 180))
statistics = ImageStat.Stat(image)
print(statistics.count)
sum
cached
property
sum: list[float]
Sum of pixel values in each band.
Examples:
from blanket import Image, ImageStat
image = Image.new("RGB", (8, 8), (40, 100, 180))
statistics = ImageStat.Stat(image)
print(statistics.sum)
sum2
cached
property
sum2: list[float]
Sum of squared pixel values in each band.
Examples:
from blanket import Image, ImageStat
image = Image.new("RGB", (8, 8), (40, 100, 180))
statistics = ImageStat.Stat(image)
print(statistics.sum2)
mean
cached
property
mean: list[float]
Arithmetic mean in each band, or zero for empty bands.
Examples:
from blanket import Image, ImageStat
image = Image.new("RGB", (8, 8), (40, 100, 180))
statistics = ImageStat.Stat(image)
print(statistics.mean)
median
cached
property
median: list[int]
Upper median in each band, or 255 for empty bands.
Examples:
from blanket import Image, ImageStat
image = Image.new("RGB", (8, 8), (40, 100, 180))
statistics = ImageStat.Stat(image)
print(statistics.median)
rms
cached
property
rms: list[float]
Root mean square in each band, or zero for empty bands.
Examples:
from blanket import Image, ImageStat
image = Image.new("RGB", (8, 8), (40, 100, 180))
statistics = ImageStat.Stat(image)
print(statistics.rms)
var
cached
property
var: list[float]
Population variance in each band, or zero for empty bands.
Examples:
from blanket import Image, ImageStat
image = Image.new("RGB", (8, 8), (40, 100, 180))
statistics = ImageStat.Stat(image)
print(statistics.var)
stddev
cached
property
stddev: list[float]
Population standard deviation in each band.
Examples:
from blanket import Image, ImageStat
image = Image.new("RGB", (8, 8), (40, 100, 180))
statistics = ImageStat.Stat(image)
print(statistics.stddev)