←Select platform

Variance Property

Summary
Gets or sets the amount of width change that is tolerated between adjacent line slices.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public int Variance { get; set; } 
@property (nonatomic, assign) NSInteger variance; 
public int getVariance(); 
public void setVariance( 
   int intValue 
); 
public: 
property int Variance { 
   int get(); 
   void set (    int ); 
} 
Variance # get and set (LineRemoveCommand) 

Property Value

Amount of width change that is tolerated between adjacent line slices. If LineRemoveCommandFlags.UseDpi is set in the Flags property, units are in thousandths of an inch, otherwise units are in pixels. This property is valid only if LineRemoveCommandFlags.UseVariance is set in the Flags property. For example, the following horizontal line is 30 pixels in length (X represents a pixel)

lineremovevar.jpg
If Variance is 2 pixels (i.e. tolerate width changes of 2 pixels or less), the first 10 columns and the last 10 columns of the line will be removed. The middle 10 columns will be unchanged. This helps preserve characters that intersect a line that is being removed.
Example
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 
   LineRemoveCommand command = new LineRemoveCommand(); 
   command.LineRemove += new EventHandler<LineRemoveCommandEventArgs>(LineRemoveEvent_S3); 
   command.Type = LineRemoveCommandType.Horizontal; 
   command.Flags = LineRemoveCommandFlags.UseVariance | LineRemoveCommandFlags.SingleRegion; 
   command.GapLength = 2; 
   command.MaximumLineWidth = 5; 
   command.MinimumLineLength = 200; 
   command.MaximumWallPercent = 10; 
   command.Wall = 7; 
   command.Variance = 2; 
   command.Run(image); 
 
} 
 
private void LineRemoveEvent_S3(object sender, LineRemoveCommandEventArgs e) 
{ 
   MessageBox.Show("Row Col " + "( " + e.StartRow.ToString() + ", " + e.StartColumn + " )" + 
      "\n Length " + e.Length.ToString()); 
   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")); 
 
   // Prepare the command 
   LineRemoveCommand command = new LineRemoveCommand(); 
   command.addLineRemoveCommandListener(lineRemoveEvent_S3); 
   command.setType(LineRemoveCommandType.HORIZONTAL); 
   command 
         .setFlags(LineRemoveCommandFlags.USE_VARIANCE.getValue() | LineRemoveCommandFlags.SINGLE_REGION.getValue()); 
   command.setGapLength(2); 
   command.setMaximumLineWidth(5); 
   command.setMinimumLineLength(200); 
   command.setMaximumWallPercent(10); 
   command.setWall(7); 
   command.setVariance(2); 
   command.run(image); 
 
   codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"), RasterImageFormat.JPEG, 24); 
 
   assertTrue(new File(combine(LEAD_VARS_IMAGES_DIR, "Result.jpg")).exists()); 
   System.out.println("Command run and image saved to " + combine(LEAD_VARS_IMAGES_DIR, "Result.jpg")); 
} 
 
LineRemoveCommandListener lineRemoveEvent_S3 = new LineRemoveCommandListener() { 
   @Override 
   public void onLineRemoveEvent(LineRemoveCommandEvent e) { 
      System.out.println("Row Col " + "( " + e.getStartRow() + ", " + e.getStartColumn() + " )" + 
            "\n Length " + e.getLength()); 
      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.