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.
public class ColorLevelCommand : RasterCommand
Public Class ColorLevelCommand
Inherits RasterCommand
@interface LTColorLevelCommand : LTRasterCommand
public class ColorLevelCommand extends RasterCommand
public ref class ColorLevelCommand : public RasterCommand
For more information, refer to Changing Brightness and Contrast. For more information, refer to Correcting Colors.
Run the ColorLevelCommand on an image.
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:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Color
Public Sub ColorLevelCommandExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP"))
' Prepare the command
Dim blue As ColorLevelCommandData = New ColorLevelCommandData
Dim master As ColorLevelCommandData = 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
Dim command As ColorLevelCommand = New ColorLevelCommand(master, Nothing, Nothing, blue, ColorLevelCommandFlags.Blue Or ColorLevelCommandFlags.Master)
command.Run(leadImage)
codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
c#[Silverlight C# Example]
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Color;
using Leadtools.Examples;
public void ColorLevelCommandExample(RasterImage image, Stream outStream)
{
// 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);
// Save result image
RasterCodecs codecs = new RasterCodecs();
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
image.Dispose();
}
vb[Silverlight VB Example]
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Color
Public Sub ColorLevelCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim blue As ColorLevelCommandData = New ColorLevelCommandData()
Dim master As ColorLevelCommandData = 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
Dim command As ColorLevelCommand = New ColorLevelCommand(master, Nothing, Nothing, blue, ColorLevelCommandFlags.Blue Or ColorLevelCommandFlags.Master)
command.Run(image)
' Save result image
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
image.Dispose()
End Sub
Leadtools.ImageProcessing.Color Namespace
Changing Brightness and Contrast
Leadtools.ImageProcessing.Effects.SharpenCommand
Leadtools.ImageProcessing.Effects.MosaicCommand
Leadtools.ImageProcessing.Effects.EmbossCommand
Leadtools.ImageProcessing.Core.MedianCommand
Leadtools.ImageProcessing.Effects.AddNoiseCommand
Leadtools.ImageProcessing.Effects.SpatialFilterCommand
Leadtools.ImageProcessing.Effects.BinaryFilterCommand
Leadtools.ImageProcessing.Core.MaximumCommand
Leadtools.ImageProcessing.Core.MinimumCommand
Leadtools.ImageProcessing.Effects.OilifyCommand
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.