←Select platform

AddWeightedCommand Class

Summary
Adds or averages the images in a list according to their weight factors.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class AddWeightedCommand : RasterCommand 
@interface LTAddWeightedCommand : LTRasterCommand 
public class AddWeightedCommand 
    extends RasterCommand 
public ref class AddWeightedCommand : public RasterCommand   
class AddWeightedCommand(RasterCommand): 
Remarks
  • This command can be used to modify the brightness (with the add operations) or remove the noise (with the average operations). Typically, you would call this command for a series of images taken of the same object at short intervals.
  • If the value of Type property is:
    • Add, the command can be used to add several images of the same view to improve the lightness or brightness of the image. In this case, the value of Factor property will be ignored.
    • Average, the command can be used to average several images. In this case, the factor property or parameter is ignored.
    • AddWeighted, the command can be used to obtain an image as the sum of several weighted images. Each image in any position in the list has a corresponding weight factor in the same position in the Factor array. The real values are the weight factors divided by 100. For example if a weight factor is 131 its real value is 1.31. If Factor equals null, each image has the same weight factor of 100 and the result is the same as for Add.
    • AverageWeighted, the command can eliminate random noise by performing a weighted average. Each image in any position in the list has a corresponding weight factor in the factor array. The real values are the weight factors in the array divided by 100. The weighted sum will be divided by the sum of the weights. If the factor equals null, each image has the same weight factor of 100 and the result is the same as for Average.
  • This command performs operations between data byte-by-byte. An image can be any color resolution. This method will allocate and store the resulting image in DestinationImage property. The image resulting from this operation is internally copied from the first image in the list, before performing the adding operation. The operations are performed based on the smallest width and height of the input images.
  • All images must be either signed or unsigned.
  • This command supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.
  • This command does not support 32-bit grayscale images.

For more information, refer to Changing Brightness and Contrast.

Add Weighted Bitmaps Function - Before

Add Weighted Bitmaps Function - Before

Add-Weighted-Bitmaps Function - After

Add-Weighted-Bitmaps Function - After

View additional platform support for this Add-Weighted-Bitmaps function.

Example

Run the AddWeightedCommand on an image. and return the resulting image, assuming that the image parameter have more than one page.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Color; 
 
 
public void AddWeightedCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")); 
 
   // Prepare the command 
   //take the average between all rotated bitmaps, and put the result in the. 
   AddWeightedCommand command = new AddWeightedCommand(); 
   command.Type = AddWeightedCommandType.Average; 
   command.Factor = new int[5]; 
   command.Factor[0] = 100; 
   command.Factor[1] = 100; 
   command.Factor[2] = 100; 
   command.Factor[3] = 100; 
   command.Run(image); 
   codecs.Save(command.DestinationImage, Path.Combine(LEAD_VARS.ImagesDir, "AddWeightedCommandResult.bmp"), RasterImageFormat.Bmp, 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 addWeightedCommandExample() { 
 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   final String outputFilePath = combine(LEAD_VARS_IMAGES_DIR, "AddWeightedCommandResult.bmp"); 
 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.setThrowExceptionsOnInvalidImages(true); 
 
   RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "IMAGE1.CMP")); 
 
   // Prepare the command 
   // take the average between all rotated bitmaps, and put the result in the. 
   AddWeightedCommand command = new AddWeightedCommand(); 
   command.setType(AddWeightedCommandType.AVERAGE); 
   command.setFactor(new int[5]); 
   command.getFactor()[0] = 100; 
   command.getFactor()[1] = 100; 
   command.getFactor()[2] = 100; 
   command.getFactor()[3] = 100; 
   command.run(image); 
   codecs.save(command.getDestinationImage(), outputFilePath, 
         RasterImageFormat.BMP, 24); 
 
   assertTrue(new File(outputFilePath).exists()); 
   System.out.println("Command run and image saved to " + (outputFilePath)); 
 
} 
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.