Lightens or darkens all or part of an image by remapping the pixel values. This function is useful for pre-processing images for the purpose of improving barcode recognition results.
public class LightControlCommand : Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand, Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
Public Class LightControlCommand
Inherits Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand
Implements Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
public sealed class LightControlCommand : Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
@interface LTLightControlCommand : LTRasterCommand
public class LightControlCommand extends RasterCommand
function Leadtools.ImageProcessing.Color.LightControlCommand()
public ref class LightControlCommand : public Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand, Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
For an example, see the following figure:
The following figure shows the same image, after the effect has been applied:
To obtain this effect, the following settings were used with the method: LowerAverage = 100 Average = 255 UpperAverage = 255 Type = LightControlCommandType.Yuv
This command does not support 32-bit grayscale images.
For more information, refer to Changing Brightness and Contrast. For more information, refer to Correcting Colors.
Run the LightControlCommand on an image.
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Color
Public Sub LightControlCommandExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "dirty_barcode.jpg"))
' Prepare the command
Dim LowerAverage() As Integer
ReDim LowerAverage(2)
Dim Average() As Integer
ReDim Average(2)
Dim UpperAverage() As Integer
ReDim UpperAverage(2)
LowerAverage(0) = 100 'for blue, gray or yuv
LowerAverage(1) = 120 'for green
LowerAverage(2) = 80 'for red
Average(0) = 210 'for blue, gray or yuv
Average(1) = 210 'for green
Average(2) = 210 'for red
UpperAverage(0) = 255 'for blue, gray or yuv
UpperAverage(1) = 255 'for green
UpperAverage(2) = 255 'for red
Dim command As LightControlCommand = New LightControlCommand(LowerAverage, Average, UpperAverage, LightControlCommandType.Yuv)
' change the lightness of the image.
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
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Color;
public void LightControlCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "dirty_barcode.jpg"));
// Prepare the command
int[] LowerAverage = new int[3];
int[] Average = new int[3];
int[] UpperAverage = new int[3];
LowerAverage[0] = 100; //for blue, gray or yuv
LowerAverage[1] = 120; //for green
LowerAverage[2] = 80; //for red
Average[0] = 210; //for blue, gray or yuv
Average[1] = 210; //for green
Average[2] = 210; //for red
UpperAverage[0] = 255; //for blue, gray or yuv
UpperAverage[1] = 255; //for green
UpperAverage[2] = 255; //for red
LightControlCommand command = new LightControlCommand(LowerAverage, Average, UpperAverage, LightControlCommandType.Yuv);
// change the lightness of the image.
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";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Color;
public async Task LightControlCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
// Load the image
string srcFileName = @"Assets\Image1.cmp";
StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
// Prepare the command
int[] LowerAverage = new int[3];
int[] Average = new int[3];
int[] UpperAverage = new int[3];
LowerAverage[0] = 100; //for blue, gray or yuv
LowerAverage[1] = 120; //for green
LowerAverage[2] = 80; //for red
Average[0] = 150; //for blue, gray or yuv
Average[1] = 140; //for green
Average[2] = 128; //for red
UpperAverage[0] = 190; //for blue, gray or yuv
UpperAverage[1] = 200; //for green
UpperAverage[2] = 220; //for red
LightControlCommand command = new LightControlCommand(LowerAverage, Average, UpperAverage, LightControlCommandType.Yuv);
// change the lightness of the image.
command.Run(image);
string destFileName = @"result.jpg";
StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Jpeg, 0);
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Color;
using Leadtools.Examples;
public void LightControlCommandExample(RasterImage image, Stream outStream)
{
// Prepare the command
int[] LowerAverage = new int[3];
int[] Average = new int[3];
int[] UpperAverage = new int[3];
LowerAverage[0] = 100; //for blue, gray or yuv
LowerAverage[1] = 120; //for green
LowerAverage[2] = 80; //for red
Average[0] = 150; //for blue, gray or yuv
Average[1] = 140; //for green
Average[2] = 128; //for red
UpperAverage[0] = 190; //for blue, gray or yuv
UpperAverage[1] = 200; //for green
UpperAverage[2] = 220; //for red
LightControlCommand command = new LightControlCommand(LowerAverage, Average, UpperAverage, LightControlCommandType.Yuv);
// change the lightness of the image.
command.Run(image);
// Save result image
RasterCodecs codecs = new RasterCodecs();
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Color
Public Sub LightControlCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim LowerAverage As Integer() = New Integer(2){}
Dim Average As Integer() = New Integer(2){}
Dim UpperAverage As Integer() = New Integer(2){}
LowerAverage(0) = 100 'for blue, gray or yuv
LowerAverage(1) = 120 'for green
LowerAverage(2) = 80 'for red
Average(0) = 150 'for blue, gray or yuv
Average(1) = 140 'for green
Average(2) = 128 'for red
UpperAverage(0) = 190 'for blue, gray or yuv
UpperAverage(1) = 200 'for green
UpperAverage(2) = 220 'for red
Dim command As LightControlCommand = New LightControlCommand(LowerAverage, Average, UpperAverage, LightControlCommandType.Yuv)
' change the lightness of the image.
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
Leadtools.ImageProcessing.Effects.SharpenCommand
Leadtools.ImageProcessing.Effects.EmbossCommand
Leadtools.ImageProcessing.Effects.AverageCommand
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
Leadtools.ImageProcessing.Core.WindowLevelCommand
Leadtools.ImageProcessing.Effects.MosaicCommand
Leadtools.ImageProcessing.SpecialEffects.PixelateCommand
Leadtools.ImageProcessing.Core.CorrelationListCommand
GrayScaleToDuotoneCommand Class
GrayScaleToMultitoneCommand Class
Leadtools.ImageProcessing.Core.HolePunchRemoveCommand
Products |
Support |
Feedback: LightControlCommand Class - Leadtools.ImageProcessing.Color |
Introduction |
Help Version 19.0.2017.3.21
|
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
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.