Resampling an image will be described as a low-pass filtering operation followed by sampling to a new coordinate system. To determine the interpolation function that gives the most visually appealing images, a comparison of common kernels is made. Linear, cubic, and windowed sinc functions are compared in terms of frequency response and with prints of images resized using separable extensions of these functions. While the windowed sinc gives the best approximation to an ideal low-pass filter, using this kernel results in objectionable ringing and jaggedness around edges in the image. Cubic interpolation is shown to provide the best compromise between image sharpness and these edge artifacts. For image rotation, and resizing by an arbitrary factor, the filter coefficients (samples of the interpolation function) need to be computed for each pixel of the new image. Alternatively, significant computation can be saved by dividing the distance between pixels of the original image into a number of intervals and precomputing a set of coefficients for each interval. Each new pixel is then computed by finding the interval in which it falls and using the corresponding set of coefficients. An analysis of the errors introduced with this resampling method is presented. This analysis shows the number of intervals required to produce high-quality resampled images.
David R. Cok,
"Resampling Algorithms for Image Resizing and Rotation", Proc. SPIE 1075, Digital Image Processing Applications, (5 April 1989); doi: 10.1117/12.952654; https://doi.org/10.1117/12.952654