next up previous
Next: Reduction Up: resize Previous: resize

Enlargement

The size of a given image can be easily enlarged by an integer scale factor (2, 3, etc.) by repeating each of the pixels in the image. For example, a 2 by 2 image can be doubled by

\begin{displaymath}f_{2\times 2}=\left[ \begin{array}{cc} 1 & 3  4 & 5 \end{ar...
... & 3 \\
4 & 4 & 5 & 5  4 & 4 & 5 & 5
\end{array} \right]
\end{displaymath}

Obviously the drawback of this simple method is that it is not flexible in terms of the scaling factor, and the resulting image is likely to look blocky.

This replication can be implemented equivalently by this two-step procedure:

An obvious problem of enlargement by replication is that the resulting image looks blocky, which can be avoided by using linear interpolation:


\begin{displaymath}f_{2\times 2}=\left[ \begin{array}{cc} 1 & 3  4 & 5 \end{ar...
...& 4.5 & 5 & 2.5  2 & 2.25 & 2.5 & 1.25
\end{array} \right]
\end{displaymath}

This operation is called bilinear interpolation (two-dimensional linear interpolation) which can be implemented equivalently by this two-step procedure:

Note that the convolution assumes zero pixels outside the image. The resulting image looks smooth instead of blocky.


next up previous
Next: Reduction Up: resize Previous: resize
Ruye Wang 2014-09-12