I want to downsample images to arbitrary sizes using supersampling to avoid aliasing effect.
The only two good explanations I found were on Wikipedia and everything2.com, but there are still gaps. For example:
- The image should be upsampled before supersampling. But how much? Is there any special filter to be used for upsampling prior to supersampling? Is just taking interpolated color values on sub-pixel positions in source image sufficient?
- What if I want to resize image to e.g. 80% of its size with supersampling? How much I have to upsample it and how to treat non-integral size ratio (e.g. downsampling from 379 pixels to 377 pixels)?
- Are the multiple samples taken from the single pixel, multiple pixels or around sample point (both cases can occur)?
UPDATE:
I have tested the "Super Sampling" method in Paint.NET with test target on this page. Suprisingly, the result looked just like "Photoshop Bicubic" filter:
The only advantage can been achieved by pre-blurring input image and than using some conventional method.
I've implemented and tried ordinary "Box" and "Cubic" convolution filters with excellent results!
So now I don't see any benefit of using supersampling over the convolution-based filters. Or is there any?