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