Nonlinear color correction filters
AForge.NET framework provides set of filters, which perform nonlinear correction of
pixels' values mainly for RGB and grayscale images.
Source image #1
Contrast stretch
Contrast stretching (or as it is often called normalization) is a simple image enhancement technique that attempts to improve the contrast in
an image by 'stretching' the range of intensity values it contains to span a desired range of values, e.g. the the full range of pixel values
that the image type concerned allows.
Histogram equalization
The filter does histogram equalization increasing local contrast in images.
Source image #2
Color remapping
For each pixel of specified image the filter changes its values (value of each color plane) to values, which are stored in remapping
arrays by corresponding indexes.
// create map
byte[] map = new byte[256];
for ( int i = 0; i < 256; i++ )
{
map[i] = (byte) Math.Min( 255, Math.Pow( 2, (double) i / 32 ) );
}
// create filter
ColorRemapping filter = new ColorRemapping( map, map, map );
// apply the filter
filter.ApplyInPlace( image );
Gamma correction
The filter performs gamma correction of specified image in
RGB color space.
// create filter
GammaCorrection filter = new GammaCorrection( 0.5 );
// apply the filter
filter.ApplyInPlace( image );
|