5

I know that there are many ways to upscale (interpolate) an image using bilinear, bicubic,... Somehow, these same algorithms can also be used to downscale an image. But when it comes to subsampling, I've come across only two methods: Gaussian-blur then discard some rows and columns, or block-averaging.

Is there such thing as bilinear, bicubic,... subsampling?

Instead of Gaussian-blurring then discarding or block-averaging, can/should I do Gaussian-blurring then block-averaging? or bilinear, bicubic,...subsampling if there is such thing?

What I'm doing is trying to make image Gaussian and Laplacian pyramids; but I'm not sure how to decimate and interpolate the image. Some Python code with Scipy/Numpy would really help. Thank you very much.

Myath
  • 553
  • 1
  • 6
  • 23
  • Most interpolation problems require that the values at original points are not changed. I.e., for interpolation only the region between the given points are of interest. For downsampling, it is the the other way around: A number of points or pixels should combined to one value. Hence, some kind of smoothing (blurring, low path filtering, etc) is needed to avoid aliasing (https://en.wikipedia.org/wiki/Aliasing ). So yes, do the Gaussian blurring first, the downsample. – Dietrich Mar 07 '15 at 12:20

0 Answers0