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



Computes the Feret's diameter of an object (the maximum distance between the points of the perimeter of the region), and finds its end points.

Object Model

FeretsDiameterCommand Class

Syntax

Visual Basic (Declaration) 
Public Class FeretsDiameterCommand 
Visual Basic (Usage)Copy Code
Dim instance As FeretsDiameterCommand
C# 
public class FeretsDiameterCommand 
C++/CLI 
public ref class FeretsDiameterCommand 

Example

Run the Leadtools.ImageProcessing.Effects.FeretsDiameterCommand on an image.

Visual BasicCopy Code
Public Sub FeretsDiameterCommandExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True

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

   ' Prepare the command
   Dim rcRect As LeadRect = New LeadRect(leadImage.Width \ 4, leadImage.Height \ 4, leadImage.Width * 3 \ 4, leadImage.Height * 3 \ 4)
   leadImage.AddEllipseToRegion(Nothing, rcRect, RasterRegionCombineMode.Set)

   Dim contourcommand As RegionContourPointsCommand = New RegionContourPointsCommand(Nothing)

   contourcommand.Run(leadImage)
   Dim command As FeretsDiameterCommand = New FeretsDiameterCommand(contourcommand.Points)
   command.Run()
   codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24)

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 FeretsDiameterCommandExample()
   {
      // Load an image
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

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

      // Prepare the command
      LeadRect rcRect = new LeadRect(image.Width / 4, image.Height / 4, image.Width * 3 / 4, image.Height * 3 / 4);
      image.AddEllipseToRegion(null, rcRect, RasterRegionCombineMode.Set); 

      RegionContourPointsCommand contourcommand = new RegionContourPointsCommand(null);
      if (contourcommand != null)
      {
         contourcommand.Run(image);
         codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24);
      }
      FeretsDiameterCommand command = new FeretsDiameterCommand(contourcommand.Points);
      command.Run();

   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
SilverlightVBCopy Code

Remarks

  • This command calculates the Feret's Diameter (caliper length), the longest distance between any two points along the boundary. This is equivalent to the minimum diameter of a tube through which this object can pass.
  • This command does not support signed data images.

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.Effects.FeretsDiameterCommand

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