←Select platform

MinimumHoleCount Property

Summary
Gets or sets the minimum number of holes to detect.
Syntax
C#
C++/CLI
Java
Python
public int MinimumHoleCount { get; set; } 
public int getMinimumHoleCount(); 
public void setMinimumHoleCount( 
   int intValue 
); 
public: 
property int MinimumHoleCount { 
   int get(); 
   void set (    int ); 
} 
MinimumHoleCount # get and set (HolePunchRemoveCommand) 

Property Value

Minimum number of holes to detect. This property is valid only if the HolePunchRemoveCommandFlags.UseCount flag is set in the Flags property. This value must be at least 2.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void HolePunchRemoveCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif")); 
 
   // Prepare the command 
   HolePunchRemoveCommand command = new HolePunchRemoveCommand(); 
   command.HolePunchRemove += new EventHandler<HolePunchRemoveCommandEventArgs>(HolePunchRemoveEvent_S1); 
   command.Flags = HolePunchRemoveCommandFlags.UseDpi | HolePunchRemoveCommandFlags.UseCount | HolePunchRemoveCommandFlags.UseLocation; 
   command.Location = HolePunchRemoveCommandLocation.Left; 
   command.MaximumHoleCount = 4; 
   command.MinimumHoleCount = 2; 
 
   command.Run(image); 
 
} 
 
private void HolePunchRemoveEvent_S1(object sender, HolePunchRemoveCommandEventArgs e) 
{ 
   MessageBox.Show("Size " + "( " + e.BoundingRectangle.Left + ", " + e.BoundingRectangle.Top + ") - " + "( " + e.BoundingRectangle.Right + ", " + e.BoundingRectangle.Bottom + ")" + 
      "\n Hole Index " + e.HoleIndex.ToString() + 
      "\n Holes Total Count " + e.HoleTotalCount.ToString() + 
      "\n Black Count " + e.BlackCount.ToString() + 
      "\n White Count " + e.WhiteCount.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 holePunchRemoveCommandExample() { 
   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 
   HolePunchRemoveCommand command = new HolePunchRemoveCommand(); 
   command.addHolePunchRemoveCommandListener(holePunchRemoveEvent_S1); 
   command.setFlags(HolePunchRemoveCommandFlags.USE_DPI.getValue() | HolePunchRemoveCommandFlags.USE_COUNT.getValue() 
         | HolePunchRemoveCommandFlags.USE_LOCATION.getValue()); 
   assertTrue(command.getFlags() >= 0); 
   command.setLocation(HolePunchRemoveCommandLocation.LEFT); 
   command.setMaximumHoleCount(4); 
   command.setMinimumHoleCount(2); 
   assertTrue(command.getLocation() == HolePunchRemoveCommandLocation.LEFT && command.getMaximumHoleCount() == 4 
         && command.getMinimumHoleCount() == 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 exported to: " + combine(LEAD_VARS_IMAGES_DIR, "Result.jpg")); 
} 
 
HolePunchRemoveCommandListener holePunchRemoveEvent_S1 = new HolePunchRemoveCommandListener() { 
   @Override 
   public void onHolePunchRemoveEvent(HolePunchRemoveCommandEvent e) { 
      System.out 
            .println("Size " + "( " + e.getBoundingRectangle().getLeft() + ", " + e.getBoundingRectangle().getTop() 
                  + ") - " + "( " + e.getBoundingRectangle().getRight() + ", " + e.getBoundingRectangle().getBottom() 
                  + ")" + "\n Hole Index " + e.getHoleIndex() + "\n Holes Total Count " + e.getHoleTotalCount() 
                  + "\n Black Count " + e.getBlackCount() + "\n White Count " + e.getWhiteCount()); 
      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.