public class ApplyMathematicalLogicCommand : RasterCommand
@interface LTApplyMathematicalLogicCommand : LTRasterCommand
public class ApplyMathematicalLogicCommand
extends 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 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:\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 image
RasterCodecs codecs = new RasterCodecs();
codecs.setThrowExceptionsOnInvalidImages(true);
RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "naturalfruits.jpg"));
// Prepare the command
ApplyMathematicalLogicCommand 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.51
command.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 image
RasterCodecs codecs = new RasterCodecs();
codecs.setThrowExceptionsOnInvalidImages(true);
RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "naturalfruits.jpg"));
// Prepare the command
ApplyMathematicalLogicCommand 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.51
command.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