LEADTOOLS Image Processing (Leadtools.ImageProcessing.Core assembly)
LEAD Technologies, Inc

LineRemoveCommand Class

Example 





Members 
Removes horizontal and vertical lines in a 1-bit black and white image. This command is available in the Document/Medical Toolkits. .NET support WinRT support Silverlight support
Object Model
LineRemoveCommand Class
Syntax
'Declaration
 
Public Class LineRemoveCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements Leadtools.ImageProcessing.IRasterCommand 
'Usage
 
Dim instance As LineRemoveCommand
public sealed class LineRemoveCommand : Leadtools.ImageProcessing.IRasterCommand  
function Leadtools.ImageProcessing.Core.LineRemoveCommand()
Remarks
For more information, refer to Cleaning Up 1-Bit Images.
Example
 
Public WithEvents lineRemoveCommand_S1 As LineRemoveCommand
Public Sub LineRemoveCommandExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True

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

   ' Prepare the command
   lineRemoveCommand_S1 = New LineRemoveCommand
   lineRemoveCommand_S1.Type = LineRemoveCommandType.Horizontal
   lineRemoveCommand_S1.Flags = LineRemoveCommandFlags.UseGap
   lineRemoveCommand_S1.GapLength = 2
   lineRemoveCommand_S1.MaximumLineWidth = 5
   lineRemoveCommand_S1.MinimumLineLength = 200
   lineRemoveCommand_S1.MaximumWallPercent = 10
   lineRemoveCommand_S1.Wall = 7
   lineRemoveCommand_S1.Run(leadImage)

End Sub

Private Sub LineRemoveCommand_LineRemove_S1(ByVal sender As Object, ByVal e As LineRemoveCommandEventArgs) Handles lineRemoveCommand_S1.LineRemove
   MessageBox.Show("Row Col " + "( " + e.StartRow.ToString() + ", " + e.StartColumn.ToString() + " )" + _
                Chr(13) + " Length " + e.Length.ToString())
   e.Status = RemoveStatus.Remove
End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void LineRemoveCommandExample()
   {
      // Load an image
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

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

      // Prepare the command
      LineRemoveCommand command = new LineRemoveCommand();
      command.LineRemove       += new EventHandler<LineRemoveCommandEventArgs>(LineRemoveEvent_S1);
      command.Type  = LineRemoveCommandType.Horizontal;
      command.Flags = LineRemoveCommandFlags.UseGap;
      command.GapLength = 2;
      command.MaximumLineWidth = 5;
      command.MinimumLineLength = 200;
      command.MaximumWallPercent = 10;
      command.Wall        = 7;
      command.Run(image);

   }

   private void LineRemoveEvent_S1(object sender, LineRemoveCommandEventArgs e)
   {
      MessageBox.Show("Row Col "   + "( " + e.StartRow.ToString() + ", " + e.StartColumn + " )" +
         "\n Length " + e.Length.ToString());
      e.Status= RemoveStatus.Remove;
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
function LineRemoveCommandExample() {
   var codecs = new Leadtools.Codecs.RasterCodecs();
   codecs.throwExceptionsOnInvalidImages = true;

   // Load the image
   var srcFileName = "Assets\\clean.tif";
   return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
      return codecs.loadAsync(Leadtools.LeadStreamFactory.create(loadFile));
   }).then(function (image) {
      // Prepare the command
      with (Leadtools.ImageProcessing.Core) {
         var command = new LineRemoveCommand();
         command.addEventListener("lineremove", LineRemoveEvent_S1);
         command.type = LineRemoveCommandType.horizontal;
         command.flags = LineRemoveCommandFlags.useGap;
         command.gapLength = 2;
         command.maximumLineWidth = 5;
         command.minimumLineLength = 200;
         command.maximumWallPercent = 10;
         command.wall = 7;
         command.run(image);
      }
   });
}

function LineRemoveEvent_S1(e) {
   console.error("Row Col " + "( " + e.startRow.toString() + ", " + e.startColumn + " )" +
      "\n Length " + e.length.toString());
   e.status = Leadtools.ImageProcessing.Core.RemoveStatus.remove;
}
[TestMethod]
public async Task LineRemoveCommandExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   // Load the image
   string srcFileName = @"Assets\Clean.tif";
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // Prepare the command
   LineRemoveCommand command = new LineRemoveCommand();
   command.LineRemove       += new EventHandler<LineRemoveCommandEventArgs>(LineRemoveEvent_S1);
   command.Type  = LineRemoveCommandType.Horizontal;
   command.Flags = LineRemoveCommandFlags.UseGap | LineRemoveCommandFlags.CallBackRegion;
   command.GapLength = 2;
   command.MaximumLineWidth = 5;
   command.MinimumLineLength = 200;
   command.MaximumWallPercent = 10;
   command.Wall        = 7;
   command.Run(image);

}

private void LineRemoveEvent_S1(object sender, LineRemoveCommandEventArgs e)
{
   Debug.WriteLine("Row Col "   + "( " + e.StartRow.ToString() + ", " + e.StartColumn + " )" +
      "\n Length " + e.Length.ToString());
   e.Status= RemoveStatus.Remove;
}
public void LineRemoveCommandExample(RasterImage image, Stream outStream)
{
   // Prepare the command
   LineRemoveCommand command = new LineRemoveCommand();
   command.LineRemove       += new EventHandler<LineRemoveCommandEventArgs>(LineRemoveEvent_S1);
   command.Type  = LineRemoveCommandType.Horizontal;
   command.Flags = LineRemoveCommandFlags.UseGap;
   command.GapLength = 2;
   command.MaximumLineWidth = 5;
   command.MinimumLineLength = 200;
   command.MaximumWallPercent = 10;
   command.Wall        = 7;
   command.Run(image);
   // Save result image
   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1);
   image.Dispose();
}

private void LineRemoveEvent_S1(object sender, LineRemoveCommandEventArgs e)
{
   Debug.WriteLine("Row Col "   + "( " + e.StartRow.ToString() + ", " + e.StartColumn + " )" +
      "\n Length " + e.Length.ToString());
   e.Status= RemoveStatus.Remove;
}
Public Sub LineRemoveCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
   ' Prepare the command
   Dim command As LineRemoveCommand = New LineRemoveCommand()
   AddHandler command.LineRemove, AddressOf LineRemoveEvent_S1
   command.Type = LineRemoveCommandType.Horizontal
   command.Flags = LineRemoveCommandFlags.UseGap
   command.GapLength = 2
   command.MaximumLineWidth = 5
   command.MinimumLineLength = 200
   command.MaximumWallPercent = 10
   command.Wall = 7
   command.Run(image)
   ' Save result image
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1)
   image.Dispose()
End Sub

Private Sub LineRemoveEvent_S1(ByVal sender As Object, ByVal e As LineRemoveCommandEventArgs)
   Debug.WriteLine("Row Col " & "( " & e.StartRow.ToString() & ", " & e.StartColumn & " )" & Constants.vbLf & " Length " & e.Length.ToString())
   e.Status= RemoveStatus.Remove
End Sub
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

LineRemoveCommand Members
Leadtools.ImageProcessing.Core Namespace
Cleaning Up 1-Bit Images
SmoothCommand Class
BorderRemoveCommand Class
InvertedTextCommand Class
InvertedPageCommand Class
DotRemoveCommand Class
HolePunchRemoveCommand Class
HighQualityRotateCommand Class
MinimumCommand Class
MaximumCommand Class
Leadtools.ImageProcessing.Effects.RegionHolesRemovalCommand

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.