←Select platform

BorderRemoveCommand Class

Summary
Removes the black borders in a 1-bit black and white image. This command is available in the Document/Medical Toolkits.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class BorderRemoveCommand : RasterCommand 
@interface LTBorderRemoveCommand : LTRasterCommand 
public class BorderRemoveCommand 
    extends RasterCommand 
public ref class BorderRemoveCommand : public RasterCommand   
class BorderRemoveCommand(RasterCommand): 
Remarks
  • This command removes borders that commonly appear in scanned text documents. Any or all of the four borders can be detected and removed. The behavior of this command can be modified by using an Event Handler that handles the BorderRemoveCommandEventArgs.
  • 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 no region is selected, the whole image will be processed.
  • This command does not support signed data images.
  • This command does not support 32-bit grayscale images.

Border Remove Function - Before

Border Remove Function - Before

Border Remove Function - After

Border Remove Function - After

View additional platform support for this Border Remove function.

Example

Run the BorderRemoveCommand on an image.

C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
 
public void BorderRemoveCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif")); 
 
   // Prepare the command 
   BorderRemoveCommand command = new BorderRemoveCommand(); 
   command.BorderRemove += new EventHandler<BorderRemoveCommandEventArgs>(command_BorderRemove_S1); 
   command.Border = BorderRemoveBorderFlags.All; 
   command.Flags = BorderRemoveCommandFlags.UseVariance | BorderRemoveCommandFlags.CallBackRegion; 
   command.Percent = 20; 
   command.Variance = 3; 
   command.WhiteNoiseLength = 9; 
 
   command.Run(image); 
 
} 
 
private void command_BorderRemove_S1(object sender, BorderRemoveCommandEventArgs e) 
{ 
   string Border; 
 
   switch (e.Border) 
   { 
      case BorderRemoveBorderFlags.Top: 
         Border = "Top"; 
         break; 
      case BorderRemoveBorderFlags.Left: 
         Border = "Left"; 
         break; 
      case BorderRemoveBorderFlags.Right: 
         Border = "Right"; 
         break; 
      case BorderRemoveBorderFlags.Bottom: 
         Border = "Bottom"; 
         break; 
      default: 
         Border = ""; 
         break; 
   } 
   MessageBox.Show("Bounds " + "( " + e.BoundingRectangle.Left + ", " + e.BoundingRectangle.Top + ") - " + "( " + e.BoundingRectangle.Right + ", " + e.BoundingRectangle.Bottom + ")" + "\n Border " + Border.ToString()); 
   LeadRect regionBounds = e.Region.GetBounds(); 
   Assert.IsTrue(regionBounds == e.BoundingRectangle); 
   e.Region.Dispose(); 
   e.Status = RemoveStatus.Remove; 
} 
 
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.