Leadtools.ImageProcessing.Core Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
ObjectCounterCommand Class
See Also  Members   Example 
Leadtools.ImageProcessing.Core Namespace : ObjectCounterCommand Class



Gets the number of black objects in a binary image.

Syntax

Visual Basic (Declaration) 
Public Class ObjectCounterCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
Visual Basic (Usage)Copy Code
Dim instance As ObjectCounterCommand
C# 
public class ObjectCounterCommand : RasterCommand, IRasterCommand  
C++/CLI 
public ref class ObjectCounterCommand : public RasterCommand, IRasterCommand  

Example

Runs the ObjectCounterCommand on an image.

Visual BasicCopy Code
Public WithEvents objectCounterCommand_S1 As ObjectCounterCommand
Public Sub ObjectCounterCommandExample()
   RasterCodecs.Startup()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True

   Dim leadImage As RasterImage = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "Clean.tif")

   ' Prepare the command
   objectCounterCommand_S1 = New ObjectCounterCommand
   objectCounterCommand_S1.Run(leadImage)


   RasterCodecs.Shutdown()
End Sub

Private Sub ObjectCounterCommand_ObjectCounter_S1(ByVal sender As Object, ByVal e As ObjectCounterCommandEventArgs) Handles objectCounterCommand_S1.ObjectCounter

   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
C#Copy Code
public void ObjectCounterCommandExample() 

    // Load an image 
    RasterCodecs.Startup(); 
    RasterCodecs codecs = new RasterCodecs(); 
    codecs.ThrowExceptionsOnInvalidImages = true; 
 
       RasterImage image =codecs.Load( "D:\\Lead15\\images2\\LEADTOOLS Images\\Master.jpg"); 
 
    // Prepare the command 
    ObjectCounterCommand command = new ObjectCounterCommand(); 
    command.ObjectCounter += new EventHandler<ObjectCounterCommandEventArgs>(ObjectCounterEvent_S1); 
    command.Run(image); 
 
    MessageBox.Show("ObjectCountis" + "( " + command.Count + " )"); 
 
    RasterCodecs.Shutdown(); 

 
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 + " )"); 
}

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 there isn't a region selected, the whole image will be processed.
  • This command does not support signed data images.

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.RasterCommand
      Leadtools.ImageProcessing.Core.ObjectCounterCommand

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also