The method of interpolation, or deriving an estimation of an unknown function from a small set of data, has many applications in the area of digital imagery. Digital images can include anything from simple graphics in a web page to photographs uploaded from your digital camera that can be several mega pixels in size. When images are stretched to a size that is larger than the original image, extra pixels must be added to the image. One way to do this is just to expand the pixels. For example, say that you are doubling the size of an image. With this method, you could just expand each pixel in the image to take up four pixels instead of one. This is known as the nearest neighbor approach, but it usually produces a very blocky image.
Instead of using only a single pixel to interpolate, such as in the nearest neighbor approach, one could interpolate using multiple pixels that border the unknown pixel. Instead of fitting a line to a series a points and using that line to estimate an unknown function, as was studied in class, interpolating an unknown pixel from multiple pixels involves using an averaging function. The averaging function uses the color values of the pixels on these known pixels in order to estimate the color value of the unknown pixel. Just as there are multiple algorithms for interpolating a line from a set of points (Lagrange, Newton), there too exist multiple algorithms for interpolating missing pixels.
Essentially the various methods differ in how many pixels they take into consideration when averaging and the averaging function used in interpolating the unknown pixel. The Nearest Neighbor Approach, as mentioned above, only considers one pixel and performs no averaging. The next step up is Bilinear Interpolation which averages the closest four pixels around the unknown pixel. This method can still produce jagged images, but less so than the nearest neighbor algorithm. It also runs in a reasonable amount of time, making it useful for image processing that needs to be done in real time. The bicubic interpolation method factors in not only the border pixels, but also the pixels around these border pixels. When averaging, these pixels that do not directly border the unknown are weighted less. As this method involves more pixels than the bilinear method, it takes more time to compute but produces smoother enlarged images than the bilinear method.
It should be noted that stretching an image too much will produce a poor quality result. This, as with any interpolation method, is caused by trying to estimate too much from too little information. A prime example of this occurs when using the digital zoom function on a digital camera. If one zooms too much, the resulting image is generally very blurry. This is because the digital camera is attempting to interpolate an image from too few pixels, namely the finite number of pixels being captured through the optical lens of the camera.
Original Website:
http://www.cambridgeincolour.com/tutorials/image-interpolation.htm
Bilinear Interpolation on Wikipedia:
http://en.wikipedia.org/wiki/Bilinear_interpolation
Bicubic Interpolation on Wikipedia:
http://en.wikipedia.org/wiki/Bicubic_interpolation






[…] interested, you should really take a look here and here. I also learned some stuff about this in this very interesting blog. Posted in Topics: Uncategorized Jump down to leave a […]