VintaSoft Imaging .NET SDK v8.7
Vintasoft.Imaging.ImageProcessing.Document Namespace / BorderRemovalCommand Class
Members Example



In This Topic
    BorderRemovalCommand Class
    In This Topic
    Detects and removes borders around an image.
    Object Model
    BorderRemovalCommand ClassProcessingCommandBase ClassProcessingCommandResults ClassProcessingCommandResult Class
    Syntax
    'Declaration
     
    Public Class BorderRemovalCommand 
       Inherits Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase
    public class BorderRemovalCommand : Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase 
    public __gc class BorderRemovalCommand : public Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase 
    public ref class BorderRemovalCommand : public Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase 
    Remarks
    Here is a "good" sequence of operations for the document image processing:
    1. Invert an inverted image (AutoInvertCommand from Vintasoft.Imaging.DocCleanup.dll)
    2. Clear a border of an image (BorderClearCommand from Vintasoft.Imaging.DocCleanup.dll)
    3. Remove halftone from an image (HalftoneRemovalCommand from Vintasoft.Imaging.DocCleanup.dll)
    4. Deskew an image (DeskewCommand from Vintasoft.Imaging.DocCleanup.dll)
    5. Remove hole punches from an image (HolePunchRemovalCommand from Vintasoft.Imaging.DocCleanup.dll)
    6. Remove lines from an image (LineRemovalCommand from Vintasoft.Imaging.DocCleanup.dll)
    7. Invert inverted text regions on an image (AutoTextInvertCommand from Vintasoft.Imaging.DocCleanup.dll)
    8. Despeckle an image (DespeckleCommand from Vintasoft.Imaging.DocCleanup.dll)
    9. Remove border of an image (BorderRemovalCommand)
    Example
    This example shows how to load an image of document from disk, prepare the document image for OCR and save the result to a new image file.
    Class DocumentCommandsExample
        Public Sub ProcessImage()
            ' [ do not forget to set your image file path here! ]
            ' open an existing image
            Dim image As New Vintasoft.Imaging.VintasoftImage("G:\SampleImages\Border.tif")
                
            Try
                ' invert an image if image is inverted
                ExecuteCommand(New Vintasoft.Imaging.ImageProcessing.Document.AutoInvertCommand(), image)
                
                ' clear noise on a border of the image
                ExecuteCommand(New Vintasoft.Imaging.ImageProcessing.Document.BorderClearCommand(), image)
                
                ' remove halftone from the image
                ExecuteCommand(New Vintasoft.Imaging.ImageProcessing.Document.HalftoneRemovalCommand(), image)
                
                ' detect the correct orientation of the image
                ExecuteCommand(New Vintasoft.Imaging.ImageProcessing.Document.DeskewCommand(), image)
                
                ' remove hole punches on image
                ExecuteCommand(New Vintasoft.Imaging.ImageProcessing.Document.HolePunchRemovalCommand(), image)
                
                ' remove tables on image
                ExecuteCommand(New Vintasoft.Imaging.ImageProcessing.Document.LineRemovalCommand(Vintasoft.Imaging.ImageProcessing.LinesType.Tables), image)
                
                ' invert inverted text regions on an image
                ExecuteCommand(New Vintasoft.Imaging.ImageProcessing.Document.AutoTextInvertCommand(), image)
                
                ' remove noise from the image
                ExecuteCommand(New Vintasoft.Imaging.ImageProcessing.Document.DespeckleCommand(), image)
                
                ' remove border around the image
                ExecuteCommand(New Vintasoft.Imaging.ImageProcessing.Document.BorderRemovalCommand(), image)
            Catch ex As Vintasoft.Imaging.ImageProcessing.ImageProcessingException
                ' show error message if problem occured
                System.Windows.Forms.MessageBox.Show(ex.Message)
                Return
            End Try
                
            ' save the processed image to the new file
            image.Save("G:\processed-image.tif")
        End Sub
                
        Private Sub ExecuteCommand(command As Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase, image As Vintasoft.Imaging.VintasoftImage)
            ' subscribe to the progress event of command
            AddHandler command.Progress, New System.EventHandler(Of Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)(AddressOf command_Progress)
                
            ' execute the command
            command.ExecuteInPlace(image)
                
            ' unsubscribe from the progress event of command
            RemoveHandler command.Progress, New System.EventHandler(Of Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)(AddressOf command_Progress)
        End Sub
                
        Private Sub command_Progress(sender As Object, e As Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)
            ' update progress info using e.Progress property
            ' ...
                
            ' cancel execution of command using e.Cancel property if necessary
            ' ...
        End Sub
    End Class
    class DocumentCommandsExample
    {
        public void ProcessImage()
        {
            // [ do not forget to set your image file path here! ]
            // open an existing image
            Vintasoft.Imaging.VintasoftImage image =
                new Vintasoft.Imaging.VintasoftImage(@"G:\SampleImages\Border.tif");
                
            try
            {
                // invert an image if image is inverted
                ExecuteCommand(
                    new Vintasoft.Imaging.ImageProcessing.Document.AutoInvertCommand(), image);
                
                // clear noise on a border of the image
                ExecuteCommand(
                    new Vintasoft.Imaging.ImageProcessing.Document.BorderClearCommand(), image);
                
                // remove halftone from the image
                ExecuteCommand(
                    new Vintasoft.Imaging.ImageProcessing.Document.HalftoneRemovalCommand(), image);
                
                // detect the correct orientation of the image
                ExecuteCommand(
                    new Vintasoft.Imaging.ImageProcessing.Document.DeskewCommand(), image);
                
                // remove hole punches on image
                ExecuteCommand(
                    new Vintasoft.Imaging.ImageProcessing.Document.HolePunchRemovalCommand(), image);
                
                // remove tables on image
                ExecuteCommand(
                    new Vintasoft.Imaging.ImageProcessing.Document.LineRemovalCommand(
                        Vintasoft.Imaging.ImageProcessing.LinesType.Tables),
                    image);
                
                // invert inverted text regions on an image
                ExecuteCommand(
                    new Vintasoft.Imaging.ImageProcessing.Document.AutoTextInvertCommand(), image);
                
                // remove noise from the image
                ExecuteCommand(
                    new Vintasoft.Imaging.ImageProcessing.Document.DespeckleCommand(), image);
                
                // remove border around the image
                ExecuteCommand(
                    new Vintasoft.Imaging.ImageProcessing.Document.BorderRemovalCommand(), image);
            }
            catch (Vintasoft.Imaging.ImageProcessing.ImageProcessingException ex)
            {
                // show error message if problem occured
                System.Windows.Forms.MessageBox.Show(ex.Message);
                return;
            }
                
            // save the processed image to the new file
            image.Save(@"G:\processed-image.tif");
        }
                
        void ExecuteCommand(
            Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase command,
            Vintasoft.Imaging.VintasoftImage image)
        {
            // subscribe to the progress event of command
            command.Progress +=
                new System.EventHandler<Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs>(command_Progress);
                
            // execute the command
            command.ExecuteInPlace(image);
                
            // unsubscribe from the progress event of command
            command.Progress -=
                new System.EventHandler<Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs>(command_Progress);
        }
                
        void command_Progress(object sender, Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs e)
        {
            // update progress info using e.Progress property
            // ...
                
            // cancel execution of command using e.Cancel property if necessary
            // ...
        }
    }
    Inheritance Hierarchy

    System.Object
       Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase
          Vintasoft.Imaging.ImageProcessing.Document.BorderRemovalCommand

    Requirements

    Target Platforms: Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows Server 2012, Windows Server 2008, Windows Server 2003

    See Also