←Select platform

ObjectCounterCommand Class

Summary

Gets the number of black objects in a binary image.

Remarks
  • This command retrieves the number of black objects on a white background in a binary image. The behavior of this command can be further modified by using an Event Handler that handles the ObjectCounterCommandEventArgs.
  • This command works only on 1-bit black and white images.
  • If a region is selected, only the selected region will be changed by this command. If no region selected, the entire image will be processed.
  • This command does not support signed data images.
Example

Runs the ObjectCounterCommand on an image.

C#
VB
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Core 
 
    
Public Sub ObjectCounterCommandExample() 
   ' Load an image 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\\Image4.tif")) 
 
   ' Prepare the command 
   Dim command As ObjectCounterCommand = New ObjectCounterCommand() 
   AddHandler command.ObjectCounter, AddressOf ObjectCounterEvent_S1 
   command.Run(image) 
 
   MessageBox.Show("ObjectCountis" + "( " + command.Count.ToString() + " )") 
 
End Sub 
 
Private Sub ObjectCounterEvent_S1(ByVal sender As Object, ByVal e As ObjectCounterCommandEventArgs) 
 
   Dim nRegionPixelSize As Integer 
   Dim i As Integer 
   Dim j As Integer 
   nRegionPixelSize = 0 
   For i = e.ObjectRectangle.Left To e.ObjectRectangle.Right - 1 
      For j = e.ObjectRectangle.Top To e.ObjectRectangle.Bottom - 1 
         nRegionPixelSize = nRegionPixelSize + 1 
      Next j 
   Next i 
   MessageBox.Show("Region size in pixels is " + "( " + nRegionPixelSize.ToString() + " )") 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
         
public void ObjectCounterCommandExample() 
{ 
    // Load an image 
    RasterCodecs codecs = new RasterCodecs(); 
    codecs.ThrowExceptionsOnInvalidImages = true; 
    RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\Image4.tif")); 
 
    // Prepare the command 
    ObjectCounterCommand command = new ObjectCounterCommand(); 
    command.ObjectCounter += new EventHandler<ObjectCounterCommandEventArgs>(ObjectCounterEvent_S1); 
    command.Run(image); 
 
    MessageBox.Show("ObjectCountis" + "( " + command.Count + " )"); 
 
} 
 
private void ObjectCounterEvent_S1(object sender, ObjectCounterCommandEventArgs e) 
{ 
    int RegionPixelSize; 
    RegionPixelSize = 0; 
 
    for(int i = e.ObjectRectangle.Left; i < e.ObjectRectangle.Right; i ++) 
    { 
        for (int j = e.ObjectRectangle.Top; j < e.ObjectRectangle.Bottom; j++) 
        {  
            if ( e.ObjectData[i][j] == 1) 
            { 
                RegionPixelSize++; 
            } 
        } 
    } 
 
    MessageBox.Show("Region size in pixels is" + "( " + RegionPixelSize + " )"); 
} 
 
static class LEAD_VARS 
{ 
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.ImageProcessing.Core Assembly
Click or drag to resize