←Select platform

Flags Property

Summary
Flags that indicate the channel that will be used, the treatment of the input pixel values, the mathematical operation, and the treatment of the output pixel values.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public ApplyMathematicalLogicCommandFlags Flags { get; set; } 
@property (nonatomic, assign) LTApplyMathematicalLogicCommandFlags flags; 
public int getFlags(); 
public void setFlags( 
   int intValue 
); 
Flags # get and set (ApplyMathematicalLogicCommand) 

Property Value

Flags that indicate the channel that will be used, the treatment of the input pixel values, the mathematical operation, and the treatment of the output pixel values. Use a bitwise OR ( ¦ ) to specify one flag from each group.

Remarks

Calculating Master Channel Values

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 Flags for ApplyMathematicalLogicCommand.

Example
C#
Java
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()); 
 
} 
Requirements

Target Platforms

Help Version 23.0.2024.3.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Color Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.