←Select platform

ManualPerspectiveDeskewCommand Class

Summary
Corrects the view perspective.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class ManualPerspectiveDeskewCommand : RasterCommand 
@interface LTManualPerspectiveDeskewCommand : LTRasterCommand 
public class ManualPerspectiveDeskewCommand 
    extends RasterCommand 
public ref class ManualPerspectiveDeskewCommand : public RasterCommand   
class ManualPerspectiveDeskewCommand(RasterCommand): 
Remarks
  • The ManualPerspectiveDeskewCommand can change the specified image. To keep the original image unchanged, use this function on a copy.
  • Typically, this command is used as a step in preprocessing images from digital cameras. It changes the image based on a view perspective equation, taking the depth of the objects into account as well as their relative dimensions.
  • It is best to choose input points that are far apart from each other.
  • Use the ManualPerspectiveDeskewCommand, PerspectiveDeskewCommand or KeyStoneCommand if there is a planar deformation along all three axes. Use the UnWarpCommand if there is a cylindrical deformation. Use the DeskewCommand if there is deformation along the x-axis and y-axes.
  • Use the Run method to fix the distorted image. Obtain the deskewed image from the OutputImage property.
  • This function supports 24-bit and 36-bit color images and 8-bit and 16-bit grayscale images. Support for 16-bit grayscale is available in the Document/Medical Imaging toolkits. This command supports signed/unsigned images.
  • For more information, refer to Deskewing.
Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void ManualPerspectiveDeskewCommandExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   //Load an image 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "PerspectiveDeskew.jpg")); 
 
   LeadPoint[] PolyPoints = new LeadPoint[4]; 
   LeadPoint[] MappingPoints = new LeadPoint[4]; 
 
   //The four corners of the polygon 
   PolyPoints[0] = new LeadPoint(131, 193); 
   PolyPoints[1] = new LeadPoint(456, 151); 
   PolyPoints[2] = new LeadPoint(535, 282); 
   PolyPoints[3] = new LeadPoint(124, 354); 
 
   //Prepare the command 
   ManualPerspectiveDeskewCommand command = new ManualPerspectiveDeskewCommand(); 
 
   command.InPoints = PolyPoints; 
 
   MappingPoints[0] = new LeadPoint(0, 0); 
   MappingPoints[1] = new LeadPoint(610, 0); 
   MappingPoints[2] = new LeadPoint(610, 421); 
   MappingPoints[3] = new LeadPoint(0, 421); 
 
   command.MappingPoints = MappingPoints; 
 
   //Apply  
   command.Run(image); 
 
   codecs.Save(command.OutputImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), image.OriginalFormat, image.BitsPerPixel); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.11.1
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Core Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.