LEADTOOLS Image Processing (Leadtools.ImageProcessing.Core assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
ObjectCounterCommand Class
See Also  Members  
Leadtools.ImageProcessing.Core Namespace : ObjectCounterCommand Class



Gets the number of black objects in a binary image.

Object Model

ObjectCounterCommand Class

Syntax

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

Example

Runs the ObjectCounterCommand on an image.

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

   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif"))

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


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

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void ObjectCounterCommandExample()
     {
         // Load an image
         RasterCodecs codecs = new RasterCodecs();
         codecs.ThrowExceptionsOnInvalidImages = true;

         RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));

         // 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";
}
SilverlightCSharpCopy Code
SilverlightVBCopy Code

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: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)

See Also