next up previous contents
Next: 12.2.2 Pixel Scale and Up: 12.2 Colors and Color Previous: 12.2 Colors and Color

12.2.1 The Accumulation Buffer: Interpolation and Extrapolation

 

Haeberli and Voorhies [27] have suggested several interesting image processing techniques using linear interpolation and extrapolation. Each technique is stated in terms of the formula:
 equation3897
This equation is evaluated on a per-pixel basis. tex2html_wrap_inline11092 and tex2html_wrap_inline11094 are the input images, out is the output image, and x is the blending factor. If x is between 0 and 1, the equations describe a linear interpolation. If x is allowed to range outside [0..1], the result is extrapolation [27].

In the limited case where tex2html_wrap_inline11110, these equations may be implemented using the accumulation buffer via the following steps:

It is assumed that tex2html_wrap_inline11092 and tex2html_wrap_inline11094 are between 0 and 1. Since the accumulation buffer can only store values in the range [-1..1], for the case x < 0 or x > 1, the equation must be implemented in a different way. Given the value x, you can modify equation 6 and derive a list of accumulation buffer operations to perform the operation. Define a scale factor s such that:
displaymath11088
Equation 6 becomes:
displaymath11089
and the list of steps becomes:

The techniques suggested by Haeberli and Voorhies use a degenerate image as tex2html_wrap_inline11092 and an appropriate value of x to move toward or away from that image. To increase brightness, tex2html_wrap_inline11092 is set to a black image and x > 1. To change contrast, tex2html_wrap_inline11092 is set to a gray image of the average luminance value of tex2html_wrap_inline11094. Decreasing x (toward the gray image) decreases contrast; increasing x increases contrast. Saturation may be varied using a luminance version of tex2html_wrap_inline11094 as tex2html_wrap_inline11092. (For information on converting RGB images to luminance, see Section 12.2.4.) Sharpening may be accomplished by setting tex2html_wrap_inline11092 to a blurred version of tex2html_wrap_inline11094 [27].

next up previous contents
Next: 12.2.2 Pixel Scale and Up: 12.2 Colors and Color Previous: 12.2 Colors and Color