Gaussian pyramid vs imresize

20 views (last 30 days)
Stewart Tan
Stewart Tan on 13 Sep 2019
Answered: Sourav Bairagya on 17 Sep 2019
I've been using imresize frequently to downscale an image of high resolution to about a quarter a lot, but after doing some research i realized that information is also lost when that happens. Typically if i have an image to test with resolution of about 2000x3000, I'll use imresize to downscale it to about 600x800. I've recently read about gaussian pyramid and according to wikipedia, "subsequent images are weighted down using a Gaussian average (Gaussian blur) and scaled down." I wonder if Gaussian Pyramid would be better for this case?
  1 Comment
KALYAN ACHARJYA
KALYAN ACHARJYA on 17 Sep 2019
I dont think so, Gaussian average, which an image is subject to repeated smoothing and subsampling...
Alternatively, there are multiple methods to do imresize.

Sign in to comment.

Answers (1)

Sourav Bairagya
Sourav Bairagya on 17 Sep 2019
In ‘imresize’ function, by default bicubic interpolation is used to resize an image. However, there is also option to specify the interpolation methods or custom interpolation kernel. Moreover, in ‘imresize’, you can resize an image by any arbitrary factor or into any specified dimension.
On the contrary, ‘impyramid’ uses the gaussian pyramid technique to resize an image and for each call of this function it will resize the image by a factor of 2. Hence, if you want to resize your image by a factor which is a multiple of 2, then you can use ‘impyramid’. But, if you want to reduce your image to any arbitrary dimension, then that cannot be done by this function. You should use ‘imresize’ function then. Generally, for multi-resolution processing application, gaussian pyramid resizing is used.
At the time of reducing size of an image, some information will be lost as there will be fewer pixels in the output image. This can introduce artifacts, such as aliasing. Now, ‘imresize’ uses antialiasing to limit the impact of aliasing on the output image by default for all interpolation types except nearest neighbor. In case of ‘impyramid’, first a gaussian kernel (low pass filtering) is applied and then the image is sub-sampled.
For more information you can follow this links:

Categories

Find more on Read, Write, and Modify Image in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!