Leadtools.ImageProcessing.Core Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.12.10
BorderRemoveCommand Class
See Also  Members   Example 
Leadtools.ImageProcessing.Core Namespace : BorderRemoveCommand Class




Removes the black borders in a 1-bit black and white image. This command is available in the Document/Medical Toolkits.

Syntax

Visual Basic (Declaration) 
Public Class BorderRemoveCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
Visual Basic (Usage)Copy Code
Dim instance As BorderRemoveCommand
C# 
public class BorderRemoveCommand : RasterCommand, IRasterCommand  
Managed Extensions for C++ 
public __gc class BorderRemoveCommand : public RasterCommand, IRasterCommand  
C++/CLI 
public ref class BorderRemoveCommand : public RasterCommand, IRasterCommand  

Example

Visual BasicCopy Code
ImageProcessing.Core.BorderRemoveCommand
   Public WithEvents borderRemoveCommandCallback As BorderRemoveCommand
   Public Sub BorderRemoveCommandExample()
      RasterCodecs.Startup()
      Dim codecs As New RasterCodecs()
      codecs.ThrowExceptionsOnInvalidImages = True

      Dim leadImage As RasterImage = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Clean.tif")

      ' Prepare the command
      borderRemoveCommandCallback = New BorderRemoveCommand
      borderRemoveCommandCallback.Border = BorderRemoveBorderFlags.All
      borderRemoveCommandCallback.Flags = BorderRemoveCommandFlags.UseVariance
      borderRemoveCommandCallback.Percent = 20
      borderRemoveCommandCallback.Variance = 3
      borderRemoveCommandCallback.WhiteNoiseLength = 9

      borderRemoveCommandCallback.Run(leadImage)

      RasterCodecs.Shutdown()
   End Sub

   Private Sub BorderRemoveCommand_BorderRemove_S1(ByVal sender As Object, ByVal e As BorderRemoveCommandEventArgs) Handles borderRemoveCommandCallback.BorderRemove
      Dim Border As String

      Select Case (e.Border)
         Case BorderRemoveBorderFlags.Top
            Border = "Top"

         Case BorderRemoveBorderFlags.Left
            Border = "Left"

         Case BorderRemoveBorderFlags.Right
            Border = "Right"

         Case BorderRemoveBorderFlags.Bottom
            Border = "Bottom"

         Case Else
            Border = ""
      End Select
      MessageBox.Show("Bounds ( " + Convert.ToString(e.BoundingRectangle.Left) + ", " + Convert.ToString(e.BoundingRectangle.Top) + ") - " + "( " + Convert.ToString(e.BoundingRectangle.Right) + ", " + Convert.ToString(e.BoundingRectangle.Bottom) + ")" + Chr(13) + " Border " + Border.ToString())
      e.Status = RemoveStatus.Remove
   End Sub
C#Copy Code
ImageProcessing.Core.BorderRemoveCommand 
      public void BorderRemoveCommandExample() 
      { 
         // Load an image 
         RasterCodecs.Startup(); 
         RasterCodecs codecs = new RasterCodecs(); 
         codecs.ThrowExceptionsOnInvalidImages = true; 
 
         RasterImage image = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\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; 
         command.Percent = 20; 
         command.Variance = 3; 
         command.WhiteNoiseLength = 9; 
 
         command.Run(image); 
 
         RasterCodecs.Shutdown(); 
      } 
 
      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()); 
         e.Status = RemoveStatus.Remove; 
      }

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.

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.RasterCommand
      Leadtools.ImageProcessing.Core.BorderRemoveCommand

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