←Select platform

ColorLevelCommand Class

Summary
Applies color leveling to an image. It changes the image shadows, midtones and highlights. This function is useful for pre-processing images for the purpose of improving barcode recognition results.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class ColorLevelCommand : RasterCommand 
@interface LTColorLevelCommand : LTRasterCommand 
public class ColorLevelCommand 
    extends RasterCommand 
public ref class ColorLevelCommand : public RasterCommand   
class ColorLevelCommand(RasterCommand): 
Remarks
  • The members of the ColorLevelCommandData class tell the ColorLevelCommand what constitutes shadows, midtones, and highlights and how to remap the shadows, midtones and highlights.
  • Control the amount of image balance and leveling by controlling the values of the MinimumInput, MaximumInput, MinimumOutput, MaximumOutput, and Gamma members of the ColorLevelCommandData class.
    • The MinimumInput property of the ColorLevelCommandData class defines what the method interprets as shadows for that color channel. Any value less than or equal to MinimumInput is considered a shadow.
    • The MaximumInput property of the ColorLevelCommandData class defines what the method interprets as highlights for that color channel. Any value greater than or equal to MaximumInput is considered a highlight.
    • The value of the MaximumInput property must be greater than the value of the MinimumInput property by at least 2.
    • Midtones are those values between MinimumInput and MaximumInput.
    • The MinimumOutput property is the value to which the shadows will be mapped.
    • The MaximumOutput property is the value to which the highlights will be mapped.
    • The Gamma property is used to modify the midtone values
  • If only ColorLevelCommandFlags.Master is set in the Flags property, then the rest of the channels will still be affected.
  • If the image is a grayscale image, then you must set ColorLevelCommandFlags.Master in the Flags property, otherwise the class will not have any effect.
  • If MinimumOutput > MaximumOutput then the image's shadows and highlights will be inverted.
  • This command does not support 12 and 16-bit grayscale.
  • This command supports 48 and 64-bit color images. Support for 48 and 64-bit color images is available only in the Document/Medical toolkits.
  • This command does not support signed data images.

For more information, refer to Changing Brightness and Contrast. For more information, refer to Correcting Colors.

Color Level Function - Before

Color Level Function - Before

Color Level Function - After

Color Level Function - After

View additional platform support for this Color Level function.

Example

Run the ColorLevelCommand on an image.

C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Color; 
 
 
public void ColorLevelCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")); 
 
   // Prepare the command 
   ColorLevelCommandData blue = new ColorLevelCommandData(); 
   ColorLevelCommandData master = new ColorLevelCommandData(); 
   //Specify Image levels 
   blue.MinimumInput = 20; 
   blue.MaximumInput = 200; 
   blue.MinimumOutput = 0; 
   blue.MaximumOutput = 255; 
   blue.Gamma = 100; 
   // Master will cause the image to be Inversed 
   master.MinimumInput = 0; 
   master.MaximumInput = 255; 
   master.MinimumOutput = 255; 
   master.MaximumOutput = 0; 
   master.Gamma = 100; 
   // Level the Blue and Master channels 
   ColorLevelCommand command = new ColorLevelCommand(master, null, null, blue, ColorLevelCommandFlags.Blue | ColorLevelCommandFlags.Master); 
   command.Run(image); 
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24); 
 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Color Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.