Christopher,
Interpolation is a two step process. When calculating the intensity of each new pixel, the first step is to determine the coordinates of the pixel within the original image. The coordinates are usually between existing pixels. The second step is do the interpolation. Zero order is just picking whichever pixel is closest to the coordinates. Bi-linear interpolation uses a weighting function that combines the intensities of the 2x2 grid of pixels surrounding the coordinates. It is just like linear interpolation between two points, but it is done in 2D. Zero order interpolation is fairly blocky, and bi-linear interpolation is a bit smoother.
I did some work with interpolation to learn more about it. You can take a look at my results by d
ownloading my demo for my image mapping toolkit. I extended the interpolation options to cubic and FIR interpolation, which use a surrounding 4x4 or 6x6 grid. You can see the difference between nearest neighbor and the higher order interpolation routines, especially with a larger scaling factor. When using FIR interpolation, you can achieve scaling factors up to about 5 to 10 times the original image. In some cases, details become much clearer than in the original image, making binary thresholding and other operations possible.
Bruce
Bruce Ammons
Ammons Engineering