Leadtools.ImageProcessing.Effects Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
FeretsDiameterCommand Class
See Also  Members   Example 
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.

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 FeretsDiameterCommand on an image.

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

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

   ' Prepare the command
   Dim rcRect As Rectangle = New Rectangle(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, LeadtoolsExamples.Common.ImagesPath.Path + "Result.jpg", RasterImageFormat.Jpeg, 24)

   RasterCodecs.Shutdown()
End Sub
C#Copy Code
public void FeretsDiameterCommandExample() 

   // Load an image 
   RasterCodecs.Startup(); 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "Master.jpg"); 
 
   // Prepare the command 
   Rectangle rcRect = new Rectangle(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, LeadtoolsExamples.Common.ImagesPath.Path + "Result.jpg", RasterImageFormat.Jpeg, 24); 
   } 
   FeretsDiameterCommand command = new FeretsDiameterCommand(contourcommand.Points); 
   command.Run(); 
 
   RasterCodecs.Shutdown(); 
}

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: 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