←Select platform

ImageRegion Property

Summary
Gets the RasterImage object that is updated with a shallow copy of the image that also has a region that contains the removed bumps and nicks.
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  (SmoothCommand) 

Property Value

The RasterImage object that is updated with a shallow copy of the image that also has a region that contains the removed bumps and nicks.

Remarks

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

Example

Run the SmoothCommand 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 
   SmoothCommand command = new SmoothCommand(); 
   command.Smooth += new EventHandler<SmoothCommandEventArgs>(SmoothEventExample_S3); 
   command.Flags = SmoothCommandFlags.FavorLong | SmoothCommandFlags.SingleRegion | SmoothCommandFlags.LeadRegion; 
   command.Length = 2; 
   command.Run(image); 
 
} 
 
private void SmoothEventExample_S3(object sender, SmoothCommandEventArgs e) 
{ 
   string BumpOrNeck; 
   if (e.BumpNick == SmoothCommandBumpNickType.Bump) 
      BumpOrNeck = "Bump"; 
   else 
      BumpOrNeck = "Neck"; 
 
   string Direction; 
   if (e.Direction == SmoothCommandDirectionType.Horizontal) 
      Direction = "Horizontal"; 
   else 
      Direction = "Vertical"; 
 
   System.Diagnostics.Debug.WriteLine("Type " + BumpOrNeck + 
      "\n Row Column " + e.StartRow.ToString() + e.StartColumn.ToString() + 
      "\n Length " + e.Length + 
      "\n Direction " + Direction + 
      "\n Bump Or Neck " + BumpOrNeck); 
 
   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.assertTrue; 
 
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"), 1, CodecsLoadByteOrder.BGR, 1, 1); 
 
   // Prepare the command 
   SmoothCommand command = new SmoothCommand(); 
   command.addSmoothCommandListener(smoothEventExample_S3); 
   command.setFlags(SmoothCommandFlags.FAVOR_LONG.getValue() | SmoothCommandFlags.SINGLE_REGION.getValue() 
         | SmoothCommandFlags.LEAD_REGION.getValue()); 
   command.setLength(2); 
   int change = command.run(image); 
   assertTrue(change != RasterImageChangedFlags.NONE); 
 
   codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "clean.tif"), RasterImageFormat.JPEG, 24); 
   System.out.println("Command run and image saved to " + combine(LEAD_VARS_IMAGES_DIR, "clean.tif")); 
} 
 
SmoothCommandListener smoothEventExample_S3 = new SmoothCommandListener() { 
   @Override 
   public void onSmoothEvent(SmoothCommandEvent e) { 
 
      String BumpOrNeck; 
      if (e.getBumpNick() == SmoothCommandBumpNickType.BUMP) 
         BumpOrNeck = "Bump"; 
      else 
         BumpOrNeck = "Neck"; 
 
      String Direction; 
      if (e.getDirection() == SmoothCommandDirectionType.HORIZONTAL) 
         Direction = "Horizontal"; 
      else 
         Direction = "Vertical"; 
 
      System.out.println("Type " + BumpOrNeck + 
            "\n Row Column " + e.getStartRow() + e.getStartColumn() + 
            "\n Length " + e.getLength() + 
            "\n Direction " + Direction + 
            "\n Bump Or Neck " + BumpOrNeck); 
 
      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.