ImageEn, unit imageenproc |
|
Color Adjustment Method Testing
Testing of Color Adjustment Methods
These images were generated using the demo:
\Demos\InputOutput\EveryMethod\EveryMethod.dpr
All Test Results-
Analysis Methods- Color Adjustment Methods-
Color Depth Methods-
Alpha and Painting Methods-
Effects Methods-
Geometric Methods-
Filter Methods-
Smoothing Methods-
Other Methods
// Load test image
ImageEnView1.IO.LoadFromFile( 'D:\TestImage.jpg' );

AdjustGainOffset
// Adjust image luminosity by stretching colors to the maximum allowed value
ImageEnView1.Proc.AdjustGainOffset();

AdjustBrightnessContrastSaturation
// Enhance brightness, contrast and color saturation
ImageEnView1.Proc.AdjustBrightnessContrastSaturation( 50, 10, 10 );

AdjustLevels
// Shift the midpoint of the image to brighten it
ImageEnView1.Proc.AdjustLevels( 0, 102, 201, 0, 255 );

AdjustLumSatHistogram
// Increase the Saturation and Luminance
ImageEnView1.Proc.AdjustLumSatHistogram( 0.25, 0.25 );

AdjustSaturation
// Decrease the saturation (make image more gray).
ImageEnView1.Proc.AdjustSaturation( -50 );

AdjustTemperature
// Adjust the image temperature
ImageEnView1.Proc.AdjustTemperature( 13000 );

AdjustTint
// Adjust the color tint by 60 deg.
ImageEnView1.Proc.AdjustTint( 60 );

AutoImageEnhance1
// Improve the contrast and colors in the image
ImageEnView1.Proc.AutoImageEnhance1();

AutoImageEnhance2
// Use a "Retinex" algorithm to simulate how humans see the world
ImageEnView1.Proc.AutoImageEnhance2();

AutoImageEnhance3
// Enhance luminosity by applying a local adaptation tone mapping algorithm
ImageEnView1.Proc.AutoImageEnhance3();

Colorize
// Colorize the image with a sepia look
ImageEnView1.Proc.Colorize( 40, 50, 1.1 );

Contrast
// Increase the contrast
ImageEnView1.Proc.Contrast( 50 );

Contrast2
// Reduce the contrast (alternative method)
ImageEnView1.Proc.Contrast2( -0.3 );

Contrast3
// Apply Contrast of +20 to all RGB values around the default Midpoint value
ImageEnView1.Proc.Contrast3( 20, 0, True, True, True );

ConvertToGray
// Convert to gray levels
ImageEnView1.Proc.ConvertToGray();

ConvertToSepia
// Apply a sepia effect to the image
ImageEnView1.Proc.ConvertToSepia();

DisposeChannels
// Set Blue and Green channels to 0, leaving only Red
ImageEnView1.Proc.DisposeChannels( '00R' );

// Invert the Red and Blue channels
ImageEnView1.Proc.DisposeChannels( 'RGB' );

GammaCorrect
// Apply gamma correction over all channels (RGB)
ImageEnView1.Proc.GammaCorrect( 2, [iecRed, iecGreen, iecBlue] );

HistAutoEqualize
// Equalizes the color histogram of the selected region
ImageEnView1.Proc.HistAutoEqualize();

HistEqualize
// Compress the color histogram
ImageEnView1.Proc.HistEqualize( CreateRGB(50, 50, 50), CreateRGB(150, 150, 150) );

HSLvar
// Change the Hue, Saturation and Luminosity
ImageEnView1.Proc.HSLvar( 30, 10, 10 );

HSVvar
// Change the Hue, Saturation and Value
ImageEnView1.Proc.HSVvar( 30, 10, 10 );

IntensityRGBAll
// Adjust the RGB channel
ImageEnView1.Proc.IntensityRGBAll( 5, 10, 15 );

Intensity
// Apply an Intensity gradient peaking at +40 to all RGB values between 80 and 255
ImageEnView1.Proc.Intensity( 80, 255, 40, False, True, True, True );

MatchHSVRange
// Make any bluish colors in the image absolutely blue
ImageEnView1.Proc.MatchHSVRange( 170, 260, 20, 99, 0, 99, True, CreateRGB( 0, 0, 255 ), False, CreateRGB( 255, 255, 255 ));

Negative
// Invert the image colors
ImageEnView1.Proc.Negative();

SetFromRGBChannels
// Flip the red channel vertically and the blue channel horizontally of an image
ImageEnView1.Proc.GetRGBChannelAll( bmpR, bmpG, bmpB );
bmpR.Flip( fdVertical );
bmpB.Flip( fdHorizontal );
ImageEnView1.Proc.SetFromRGBChannels( bmpR, bmpG, bmpB );

Threshold
// Change all values less than R/G/B of 64 to black
ImageEnView1.Proc.Threshold( CreateRGB(64, 64, 64), CreateRGB(255, 255, 255), CreateRGB(0, 0, 0), CreateRGB(255, 255, 255) );

// Change all values greater than R/G/B of 192 to white
ImageEnView1.Proc.Threshold( CreateRGB(0, 0, 0), CreateRGB(192, 192, 192), CreateRGB(0, 0, 0), CreateRGB(255, 255, 255) );

WallisFilter
// Apply a Wallis Filter to the image
ImageEnView1.Proc.WallisFilter();

WhiteBalance_AutoWhite
// Shift image colors by adjusting the white range
ImageEnView1.Proc.WhiteBalance_AutoWhite();

WhiteBalance_Coef
// Decrease red level by 0.8
ImageEnView1.Proc.WhiteBalance_Coef( 0.8, 1, 1 );

WhiteBalance_GrayWorld
// Adjust image colors by applying the white balance algorithm "Gray World"
ImageEnView1.Proc.WhiteBalance_GrayWorld();

WhiteBalance_WhiteAt
// Shift image colors by adjusting the white range (based on the white of the pixel at the center of the image).
ImageEnView1.Proc.WhiteBalance_WhiteAt( ImageEnView1.IEBitmap.Width div 2, ImageEnView1.IEBitmap.Height div 2 );

threshold (IEVision)
// Apply a fixed-level threshold to each pixel element
ImageEnView1.IEBitmap.PixelFormat := ie8g;
ImageEnView1.IEBitmap.GetIEVisionImage().threshold(0, 255, ievTHRESH_BINARY or ievTHRESH_OTSU);
ImageEnView1.Update();

See Also
-
Analysis Methods- Color Adjustment Methods-
Color Depth Methods-
Alpha and Painting Methods-
Effects Methods-
Geometric Methods-
Filter Methods-
Smoothing Methods-
Other Methods