←Select platform

Count Property


Gets the number of objects in the list.

public virtual int Count {get;} 
@property (nonatomic, readonly) NSUInteger count; 
   virtual property Int32 Count 
      Int32 get() 
Count # get  (ExObjObjectList) 

Property Value

The number of objects in the list.

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.