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



Rotates the specified image to straighten it.Supported in Silverlight, Windows Phone 7

Object Model

DeskewCommand Class

Syntax

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

Example

Runs the DeskewCommand on an image and straightens it.

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

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

   ' Prepare the command
   Dim command As DeskewCommand = New DeskewCommand
   'Deskew the image.
   command.Flags = DeskewCommandFlags.DeskewImage Or DeskewCommandFlags.DoNotFillExposedArea

   command.Run(leadImage)

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

      RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif"));

      // Prepare the command
      DeskewCommand command = new DeskewCommand();
      //Deskew the image.
      command.Flags = DeskewCommandFlags.DeskewImage | DeskewCommandFlags.DoNotFillExposedArea;
      command.Run(image);

   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
public void DeskewCommandExample(RasterImage image, Stream outStream)
{
   // Prepare the command
   DeskewCommand command = new DeskewCommand();
   //Deskew the image.
   command.Flags = DeskewCommandFlags.DeskewImage | DeskewCommandFlags.DoNotFillExposedArea;
   command.Run(image);
   // Save result image
   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1);
   image.Dispose();
}
SilverlightVBCopy Code
Public Sub DeskewCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
   ' Prepare the command
   Dim command As DeskewCommand = New DeskewCommand()
   'Deskew the image.
   command.Flags = DeskewCommandFlags.DeskewImage Or DeskewCommandFlags.DoNotFillExposedArea
   command.Run(image)
   ' Save result image
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1)
   image.Dispose()
End Sub

Remarks

This command is typically used to automatically straighten scanned images, including bank checks. This command is available in the Document\Medical Toolkits.

This command contains a special algorithm for detecting the skewed checks, To do this add the following flags to Flags property (DeskewCommandFlags.UseCheckDeskew | DeskewCommandFlags.UseLineDetectionCheckDeskew)

  • If the Flags property or the flags parameter of the Constructor contains DeskewCommandFlags.ReturnAngleOnly, the command will update the Angle property without rotating the image.
  • The calculated rotation is limited to 20 degrees in either direction. This command is intended for images, such as scanned documents, that are mainly horizontal lines of text. The results are less predictable with other types of images.
  • This command includes an option to skip deskewing if the angle is very small.
  • This command does not support 12 and 16-bit grayscale and 48 and 64-bit color images. If the image is 12 and 16-bit grayscale and 48 and 64-bit color, the command will not throw an exception.
  • This command does not support signed data images.
  • This command does not support 32-bit grayscale images.
  • This command has been expanded with several flags that can be used to work on bank check images. Different algorithms can be used. For more information, refer to the Remarks section of the DeskewCommand class.
For more information, refer to Introduction to Image Processing With LEADTOOLS.

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.RasterCommand
      Leadtools.ImageProcessing.Core.DeskewCommand

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