Image.decimate#

Image.decimate(m: int = 2, sigma: float | None = None) Self[source]#

Decimate an image

Parameters:
  • m (int) – decimation factor

  • sigma (float, optional) – standard deviation for Gaussian kernel smoothing, defaults to None

Raises:

ValueError – decimation factor m must be an integer

Returns:

decimated image

Return type:

Image

Return a decimated version of the image whose size is reduced by subsampling every m (an integer) pixels in both dimensions.

The image is smoothed with a Gaussian kernel with standard deviation sigma. If

  • sigma is None then a value of m/2 is used,

  • sigma is zero then no smoothing is performed.

Note

  • If the image has multiple planes, each plane is decimated.

  • Smoothing is applied to the image _before_ decimation to reduce high-spatial-frequency components and hence reduce aliasing artifacts. The standard deviation should be chosen as a function of the maximum spatial-frequency in the image.

Example:

>>> from machinevisiontoolbox import Image
>>> img = Image.Random(size=6)
>>> img.print()
   243 247 148 220 227  21
   220  63  92  79  92 114
   126 169 242  81 136 103
    19 250 244 123 196  77
   220 118  89  63 215  86
   141  40 231 200 185  79
>>> img.decimate(2, sigma=0).print()
   243 148 227
   126 242 136
   220  89 215
References:
Seealso:

replicate scale