Image Processing with Point Operations
Image enhancement refers to any technique that improves or modifies
the image data, either for purposes of subsequent visual evaluation or
for further numerical processing. Image enhancement techniques
include gray level and contrast manipulation, noise reduction, edge
sharpening, linear and nonlinear filtering, magnification,
pseudocoelomate, 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. By
contrast, region-based operations calculate a new pixel value based on
the values in a (typically small) local neighborhood.
This loads the package.
![[Graphics:Images/index_gr_44.gif]](Images/index_gr_44.gif)
This loads an example color image.
![[Graphics:Images/index_gr_45.gif]](Images/index_gr_45.gif)
Negating an image is a simple image operation. It changes large values to small and
vice versa, according to
where x is a pixel value and n = 8 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/index_gr_49.gif]](Images/index_gr_49.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 to be 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/index_gr_51.gif]](Images/index_gr_51.gif)
![[Graphics:Images/index_gr_52.gif]](Images/index_gr_52.gif)
The image histogram is an estimate of the probability density of the image pixels.
As such, it measures the frequency of occurrence 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/index_gr_54.gif]](Images/index_gr_54.gif)
![[Graphics:Images/index_gr_55.gif]](Images/index_gr_55.gif)
Amplitude thresholding is one of many segmentation techniques. Two-level or binary
thresholding changes a pixel value to one of two desired values (typically 0 and 1), depending on the setting of a threshold. Here is an image segmentation example where
we extract the green beans by applying the threshold operation to the individual color channels.
The respective thresholds were selected from an examination of the channel histograms.
![[Graphics:Images/index_gr_57.gif]](Images/index_gr_57.gif)
![[Graphics:Images/index_gr_58.gif]](Images/index_gr_58.gif)
We now find all the image regions that do not have yellow pixels and set them to black.
![[Graphics:Images/index_gr_60.gif]](Images/index_gr_60.gif)
Here we display the original and the segmented images.
![[Graphics:Images/index_gr_61.gif]](Images/index_gr_61.gif)
Further processing with morphological filters may be used to clean up the segmented image.
|