←Select platform

LargeNoiseThreshold Property


Gets or sets the threshold for large noise.

public int LargeNoiseThreshold {get; set;} 
@property (nonatomic, assign) NSInteger largeNoiseThreshold; 
public int getLargeNoiseThreshold(); 
public void setLargeNoiseThreshold( 
   int intValue 
   property Int32 LargeNoiseThreshold 
      Int32 get() 
      void set(Int32 value) 
LargeNoiseThreshold # get and set (ExtractObjectsCommand) 

Property Value

The threshold for the large noise. The default value is 0.


IgnoreLargeNoise must be true for this property to be used.

Objects with any dimension greater than the specified value will be ignored. If ReportIgnored is true, ExObjResult.LargeNoise will be populated with these objects.

If IgnoreSmallNoise is true, this value must be larger than the SmallNoiseThreshold.

using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
public void ExtractObjectsCommandExample() 
   using (RasterCodecs codecs = new RasterCodecs()) 
   // Load the original image 
   using (RasterImage inputImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "demoicr2.tif"))) 
      // Setup the extraction options 
      ExtractObjectsCommand command = new ExtractObjectsCommand() 
         DetectChildren = true, 
         EightConnectivity = true, 
         Outline = true 
      // Extract the objects 
      using (ExObjData data = command.Data) 
         // Log the number of objects from the first list 
         ExObjObjectList objects = data[0].Objects; 
         Console.WriteLine($"Number of objects (before filtering): {objects.Count}"); 
         // Log the number of points around the first object (braces for scope) 
            int count = 0; 
            foreach (ExObjOutlinePoint point in objects.First().Outline) 
            Console.WriteLine($"First object's outline length: {count}"); 
         // Setup the filter options 
         ExObjFilterOptions filterOptions = new ExObjFilterOptions() 
            LargeObjectThreshold = -1, // No upper limit on size 
            SmallObjectThreshold = 10 // Remove objects smaller than 10x10 pixels 
         // Filter the objects 
         data.FilterList(objects, filterOptions); 
         // Log the number of objects again 
         Console.WriteLine($"Number of objects (after filtering): {objects.Count}"); 
         // Setup the content bound options 
         ExObjContentBound contentBound = new ExObjContentBound(new LeadRect(192, 260, 323, 146)); 
         ExObjContentBoundOptions contentBoundOptions = new ExObjContentBoundOptions() 
            ObjectsOfInterest = null // Pass null to use every object in data 
         // Calculate the content bounds 
         data.CalculateContentBound(new ExObjContentBound[] { contentBound }, contentBoundOptions); 
         // Setup the region options 
         ExObjRegionOptions regionOptions = new ExObjRegionOptions() 
            Horizontal = true 
         // Calculate each object's region 
         data.CalculateRegion(objects, regionOptions); 
         // Create an output image 
         using (RasterImage outputImage = RasterImage.Create(inputImage.Width, inputImage.Height, 24, inputImage.XResolution, RasterColor.White)) 
            // Fill the output image with white 
            new FillCommand(RasterColor.White).Run(outputImage); 
            // Draw the content bound rects for the first word. Red for the input, green for the output. 
            outputImage.AddRectangleToRegion(null, contentBound.Input, RasterRegionCombineMode.Set); 
            new FillCommand(new RasterColor(255, 0, 0)).Run(outputImage); 
            outputImage.AddRectangleToRegion(null, contentBound.Content, RasterRegionCombineMode.Set); 
            new FillCommand(new RasterColor(0, 255, 0)).Run(outputImage); 
            // Populate the output image with each object's region 
            foreach (ExObjObject @object in objects) 
               foreach (ExObjSegment segment in @object.RegionHorizontal) 
                  // Update the region to the current segment 
                  outputImage.AddRectangleToRegion(null, segment.Bounds, RasterRegionCombineMode.Set); 
                  // Fill the region with black 
                  new FillCommand(RasterColor.Black).Run(outputImage); 
            // Clear the output image's region 
            // Save the output image 
            codecs.Save(outputImage, Path.Combine(LEAD_VARS.ImagesDir, "ExtractObjects.png"), RasterImageFormat.Png, 0); 
static class LEAD_VARS 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 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.