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()
   192  77 251 101 182 219
    18 228  51  13 219 135
   102   7  81 146   6 192
   148 137   8  92 187  24
     4  97  45 179  52 177
   165 117   8  30 237 231
>>> img.decimate(2, sigma=0).print()
   192 251 182
   102  81   6
     4  45  52
References:
Seealso:

replicate scale