public class ApplyMathematicalLogicCommand : RasterCommand @interface LTApplyMathematicalLogicCommand : LTRasterCommand public class ApplyMathematicalLogicCommandextends RasterCommand
public:ref class ApplyMathematicalLogicCommand : RasterCommand
class ApplyMathematicalLogicCommand(RasterCommand): This command does not support 32-bit grayscale images.
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.
Apply Mathematical Logic Function - Before

Apply Mathematical Logic Function - After

View additional platform support for this Apply Mathematical Logic function.
Run the ApplyMathematicalLogicCommand on an image.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing.Color;public void ApplyMathematicalLogicCommandExample(){// Load an imageRasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\NaturalFruits.jpg"));// Prepare the commandApplyMathematicalLogicCommand 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:\LEADTOOLS23\Resources\Images";}
import java.io.File;import java.io.IOException;import org.junit.*;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;import static org.junit.Assert.*;import leadtools.*;import leadtools.codecs.*;import leadtools.imageprocessing.color.*;public void applyMathematicalLogicCommandExample() {final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\\\Resources\\Images";// Load an imageRasterCodecs codecs = new RasterCodecs();codecs.setThrowExceptionsOnInvalidImages(true);RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "naturalfruits.jpg"));// Prepare the commandApplyMathematicalLogicCommand command = new ApplyMathematicalLogicCommand();command.setFactor(151);command.setFlags(ApplyMathematicalLogicCommandFlags.OPERATION_MULTIPLY.getValue()| ApplyMathematicalLogicCommandFlags.VALUE_DO_NOTHING.getValue()| ApplyMathematicalLogicCommandFlags.RESULT_DO_NOTHING.getValue());// Multiply the colors of the bitmap using a factor of 1.51command.run(image);codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"), RasterImageFormat.JPEG, 24);System.out.println("Command run and image saved to: " + combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"));assertTrue(new File(combine(LEAD_VARS_IMAGES_DIR, "Result.jpg")).exists());}// <!--ImageProcessing.Color.ApplyMathematicalLogicCommand-->// <!--ImageProcessing.Color.ApplyMathematicalLogicCommand.ApplyMathematicalLogicConstructor-->public void applyMathematicalLogicConstructorExample() {final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";// Load an imageRasterCodecs codecs = new RasterCodecs();codecs.setThrowExceptionsOnInvalidImages(true);RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "naturalfruits.jpg"));// Prepare the commandApplyMathematicalLogicCommand command = new ApplyMathematicalLogicCommand(151,ApplyMathematicalLogicCommandFlags.OPERATION_MULTIPLY.getValue()| ApplyMathematicalLogicCommandFlags.VALUE_DO_NOTHING.getValue()| ApplyMathematicalLogicCommandFlags.RESULT_DO_NOTHING.getValue());// Multiply the colors of the bitmap using a factor of 1.51command.run(image);codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"), RasterImageFormat.JPEG, 24);System.out.println(combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"));assertTrue(new File(combine(LEAD_VARS_IMAGES_DIR, "Result.jpg")).exists());}
ApplyMathematicalLogicCommand Members
Leadtools.ImageProcessing.Color Namespace
Flags for ApplyMathematicalLogicCommand
Changing Brightness and Contrast
Leadtools.ImageProcessing.Effects.CombineCommand
HistogramContrastCommand Class
HistogramEqualizeCommand Class
Leadtools.ImageProcessing.FillCommand
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
