Performs specific mathematical or logical operations on the colors of the image.
public class ApplyMathematicalLogicCommand : RasterCommand
Public Class ApplyMathematicalLogicCommand
Inherits Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand
Implements Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
public sealed class ApplyMathematicalLogicCommand : Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
@interface LTApplyMathematicalLogicCommand : LTRasterCommand
public class ApplyMathematicalLogicCommand extends RasterCommand
function Leadtools.ImageProcessing.Color.ApplyMathematicalLogicCommand()
public ref class ApplyMathematicalLogicCommand : public Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand, Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
In order to speed up widely used image processing filters in LEADTOOLS, the grayscale value (master channel) of a colored image is calculated using the following formulas:
#define CalcGrayValue(r, g, b) ((L_UCHAR)(((L_UCHAR) (((2 * (L_UINT) (r)) + (5 * (L_UINT) (g)) + (L_UINT) (b) + 4) / 8))))
#define CalcGrayValue16(r, g, b) ((L_UINT16) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
#define CalcGrayValue32(r, g, b) ((L_UINT32) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
For more information, refer to Changing Brightness and Contrast. For more information, refer to Correcting Colors. For more information, refer to Flags for ApplyMathematicalLogicCommand.
Run the ApplyMathematicalLogicCommand on an image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Color;
public void ApplyMathematicalLogicCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\NaturalFruits.jpg"));
// Prepare the command
ApplyMathematicalLogicCommand command = new ApplyMathematicalLogicCommand();
command.Factor = 151;
command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply | ApplyMathematicalLogicCommandFlags.ValueDoNothing | ApplyMathematicalLogicCommandFlags.ResultDoNothing;
// Multiply the colors of the bitmap using a factor of 1.51 .
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
Leadtools.Examples.Support.SetLicense()
Public Sub ApplyMathematicalLogicCommandExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\\NaturalFruits.jpg"))
' Prepare the command
Dim command As ApplyMathematicalLogicCommand = New ApplyMathematicalLogicCommand
command.Factor = 151
command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply Or ApplyMathematicalLogicCommandFlags.ValueDoNothing Or ApplyMathematicalLogicCommandFlags.ResultDoNothing
' Multiply the colors of the bitmap using a factor of 1.51 .
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;
using Leadtools.Examples;
public void ApplyMathematicalLogicCommandExample(RasterImage image, Stream outStream)
{
// Prepare the command
ApplyMathematicalLogicCommand command = new ApplyMathematicalLogicCommand();
command.Factor = 151;
command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply | ApplyMathematicalLogicCommandFlags.ValueDoNothing | ApplyMathematicalLogicCommandFlags.ResultDoNothing;
// Multiply the colors of the bitmap using a factor of 1.51 .
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 ApplyMathematicalLogicCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim command As ApplyMathematicalLogicCommand = New ApplyMathematicalLogicCommand()
command.Factor = 151
command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply Or ApplyMathematicalLogicCommandFlags.ValueDoNothing Or
ApplyMathematicalLogicCommandFlags.ResultDoNothing
' Multiply the colors of the bitmap using a factor of 1.51 .
command.Run(image)
' Save result image
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
image.Dispose()
End Sub
ApplyMathematicalLogicCommand Members
Leadtools.ImageProcessing.Color Namespace
Flags for ApplyMathematicalLogicCommand
Changing Brightness and Contrast
Leadtools.ImageProcessing.Effects.CombineCommand
HistogramContrastCommand Class
HistogramEqualizeCommand Class
Leadtools.ImageProcessing.FillCommand
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