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