←Select platform

ImageRegion Property

Summary
This property is updated with a shallow copy of the image that also has a region that contains the removed dots.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public RasterImage ImageRegion { get; } 
@property (nonatomic, strong, readonly, nullable) LTRasterImage *imageRegion; 
public RasterImage getImageRegion(); 
public: 
property RasterImage^ ImageRegion { 
   RasterImage^ get(); 
} 
ImageRegion # get  (DotRemoveCommand) 

Property Value

A shallow copy of the image that also has a region that contains the removed dots.

Remarks

If DotRemoveCommandFlags.SingleRegion| DotRemoveCommandFlags.LeadRegion has been set in Flags, then when DotRemoveCommand returns, this property is updated with a shallow copy of the image that also has a region that contains the removed dots. So set Flags to (DotRemoveCommandFlags.SingleRegion| DotRemoveCommandFlags.LeadRegion). It is the programmer's responsibility to dispose of the region when it is no longer needed.

Example

Run the DotRemoveCommand on an image.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void ImageRegionPropertyExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif")); 
 
   // Prepare the command 
   DotRemoveCommand command = new DotRemoveCommand(); 
   command.DotRemove += new EventHandler<DotRemoveCommandEventArgs>(DotRemoveEvent_S3); 
   command.Flags = DotRemoveCommandFlags.UseSize | DotRemoveCommandFlags.SingleRegion | DotRemoveCommandFlags.LeadRegion; 
   command.MaximumDotHeight = 10; 
   command.MaximumDotWidth = 10; 
   command.MinimumDotHeight = 1; 
   command.MinimumDotWidth = 1; 
 
   command.Run(image); 
 
} 
 
private void DotRemoveEvent_S3(object sender, DotRemoveCommandEventArgs e) 
{ 
   // Do not remove the speck if it contains any white pixels 
   if (e.WhiteCount > 0) 
   { 
      e.Status = RemoveStatus.NoRemove; 
   } 
   else 
   { 
      e.Status = RemoveStatus.Remove; 
   } 
} 
 
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.core.*; 
 
 
public void imageRegionPropertyExample() { 
   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, "Clean.tif")); 
   String outputFileName = combine(LEAD_VARS_IMAGES_DIR, "LEAD_dotRemoveExample.jpg"); 
 
   // Prepare the command 
   DotRemoveCommand command = new DotRemoveCommand(); 
   command.addDotRemoveCommandListener(dotRemoveEventS3); 
   command.setFlags(DotRemoveCommandFlags.USE_SIZE.getValue() | DotRemoveCommandFlags.SINGLE_REGION.getValue() 
         | DotRemoveCommandFlags.LEAD_REGION.getValue()); 
   command.setMaximumDotHeight(10); 
   command.setMaximumDotWidth(10); 
   command.setMinimumDotHeight(1); 
   command.setMinimumDotWidth(1); 
   assertTrue(command.getMaximumDotHeight() == 10 && command.getMaximumDotWidth() == 10 
         && command.getMinimumDotHeight() == 1 && command.getMinimumDotWidth() == 1); 
   command.run(image); 
   System.out.println("Executed changes on loaded image..."); 
 
   codecs.save(image, outputFileName, RasterImageFormat.JPEG, 8); 
   System.out.println("Saved updated file to:\n" + outputFileName); 
   assertTrue(new File(outputFileName).exists()); 
} 
 
DotRemoveCommandListener dotRemoveEventS3 = new DotRemoveCommandListener() { 
   @Override 
   public void onDotRemoveEvent(DotRemoveCommandEvent e) { 
      // Do not remove the speck if it contains any white pixels 
      if (e.getWhiteCount() > 0) { 
         e.setStatus(RemoveStatus.NO_REMOVE); 
      } else { 
         e.setStatus(RemoveStatus.REMOVE); 
      } 
   } 
}; 
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.Core Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.