Image Processing with Point Operations

Image enhancement refers to any technique that improves or modifies the image data, either for puposes of subsequent visual evaluation or further numerical processing. Image enhancement techniques include gray level and contrast manipulation, noise reduction, edge sharpening, linear and non-linear filtering, magnification, pseudocoloring, and so on. One useful, broad categorization of enhancement techniques divides them into point- and region-based operations. Point operations modify pixels of an image based on the value of the pixel. These are also called zero memory operations. In contrast, region-based operations calculate a new pixel value based on the values in a local neighborhood (typically small).

Negating an image is the simplest image modification operation. This operation changes large values to small and vice versa, according to

    [Graphics:Images/Jankowski_ImageProcessing_gr_34.gif]

where [Graphics:Images/Jankowski_ImageProcessing_gr_35.gif] is a pixel value and [Graphics:Images/Jankowski_ImageProcessing_gr_36.gif] for the typical 8-bits-per-pixel monochrome image. For color images the same transformation is applied to the individual color values. Here we show the effect of negation on both the color and grayscale images.

[Graphics:Images/Jankowski_ImageProcessing_gr_37.gif]

[Graphics:Images/Jankowski_ImageProcessing_gr_38.gif]

A common approach to contrast modification is to use a power law point transformation, where each pixel of the original image is raised to a specified exponent value. By selecting the exponent values appropriately, either high or low luminance values can be boosted. A simple, yet useful contrast manipulation technique, is to define a piecewise linear transformation to selectively stretch and/or compress a range of luminance values. The slope of the transformation is chosen greater than 1 in the region of stretch and less than 1 in the region of compression.

Examples of the effect of selected point operations on the color "beans" image are displayed below.

[Graphics:Images/Jankowski_ImageProcessing_gr_39.gif]
[Graphics:Images/Jankowski_ImageProcessing_gr_40.gif]
[Graphics:Images/Jankowski_ImageProcessing_gr_41.gif]

[Graphics:Images/Jankowski_ImageProcessing_gr_42.gif]

The image histogram is an estimate of the probability density of the image pixels. As such, it measures the frequency of occurance of the pixel luminance values. Many higher-level image processing tasks require the calculation of a histogram. Here we present the histograms of each of the three color channels in the "beans" image.

[Graphics:Images/Jankowski_ImageProcessing_gr_43.gif]
[Graphics:Images/Jankowski_ImageProcessing_gr_44.gif]

[Graphics:Images/Jankowski_ImageProcessing_gr_45.gif]

Image equalization, or linearization, is a common image enhancement technique. Here is a linearized version of the beans iamge.

[Graphics:Images/Jankowski_ImageProcessing_gr_46.gif]

[Graphics:Images/Jankowski_ImageProcessing_gr_47.gif]

Amplitude thresholding is one of many segmentation techniques. Two-level or binary thresholding changes a value to 0 or 1 depending on the setting of a threshold value. Here is an image segmentation example where we extract the green beans by thresholding the individual color channels. The respective thresholds were selected from an examination of the channel histograms.

[Graphics:Images/Jankowski_ImageProcessing_gr_48.gif]
[Graphics:Images/Jankowski_ImageProcessing_gr_49.gif]

[Graphics:Images/Jankowski_ImageProcessing_gr_50.gif]

We now find all the image regions that do not have green pixels and set them to black.

[Graphics:Images/Jankowski_ImageProcessing_gr_51.gif]

Here we display the original and segmented images.

[Graphics:Images/Jankowski_ImageProcessing_gr_52.gif]

[Graphics:Images/Jankowski_ImageProcessing_gr_53.gif]

Further processing with morphological filters (User's Guide: Section 6.1) may be used to clean up the segmented image.

Further reading

User's Guide: Section 3.2, 3.3, 3.4, 7.2.

Function Index: HistogramEqualize, ImageHistogram, PlanarImageData, RegionProcessing, ScaleLinear, Threshold, Where.