Click or drag to resize

LineRemovalCommand Class

This class removes horizontal and/or vertical lines in a bi-tonal image.
Inheritance Hierarchy
SystemObject
  Atalasoft.Imaging.ImageProcessingImageCommand
    Atalasoft.Imaging.ImageProcessingImageRegionCommand
      Atalasoft.Imaging.ImageProcessing.DocumentLineRemovalCommand

Namespace:  Atalasoft.Imaging.ImageProcessing.Document
Assembly:  Atalasoft.dotImage.AdvancedDocClean (in Atalasoft.dotImage.AdvancedDocClean.dll) Version: 11.4.0.9.0.377 (.NET 4.5.2, x86)
Syntax
[SerializableAttribute]
public class LineRemovalCommand : ImageRegionCommand, 
	IProcessSpeedConfig, ISerializable

The LineRemovalCommand type exposes the following members.

Constructors
  NameDescription
Public methodLineRemovalCommand
Creates a new instance of LineRemovalCommand.
Protected methodLineRemovalCommand(SerializationInfo, StreamingContext)
Initializes a new instance of the LineRemovalCommand class
Top
Properties
  NameDescription
Public propertyAngleTolerance
The tolerance in degrees offset from vertical or horizontal.
Public propertyApplyToAnyPixelFormat
Reports whether or not this command will be applied to any supplied PixelFormat image
(Inherited from ImageCommand.)
Public propertyCanApplyToAnyPixelFormat
Returns true if the command can be applied to any PixelFormat.
(Inherited from ImageCommand.)
Public propertyInPlaceProcessing
Gets a value indicating if the source image data is processed in-place as opposed to returning a new image.
(Inherited from ImageCommand.)
Public propertyMaxLineGap
Lines detected will have a gap no greater than this value in pixels.
Public propertyMaxLineThickness
Maximum thickness in pixels of the line to be removed.
Public propertyMinLineLength
Minimum size limit of the lines to be removed in pixels.
Public propertyMinLineThickness
Minimum thickness in pixels of the line to be removed.
Public propertyOrientation
Orientation of the line to be removed: horizontal, vertical, or both.
Public propertyProgress
Gets or sets the ProgressEventHandler delegate which can be used to view or cancel the progress of the current process.
(Inherited from ImageCommand.)
Public propertyReconnectBrokenCharacters
When true, reconnects characters that are damaged when intersecting a line that is removed.
Public propertyRegionOfInterest

Gets or sets a RegionOfInterest which will only process the indicated region of the image.

(Inherited from ImageRegionCommand.)
Public propertySpeedFactor
Determines the sample size of the image to process, affecting quality and speed.
Public propertySupportedPixelFormats
Gets a list of PixelFormats that this command will support without throwing an exception. This command supports Pixel1bppIndexed only.
(Overrides ImageCommandSupportedPixelFormats.)
Top
Methods
  NameDescription
Public methodApply
Apply the command to the given image.
(Inherited from ImageCommand.)
Public methodApplyToImage Obsolete.
Applies the command to the source AtalaImage.
(Inherited from ImageCommand.)
Protected methodConstructChangedSourceImage
The method is called by the default implementation of Apply. It determines if it is necessary to create a copy of the source image in a different pixel format and if so, determines the best new pixel format and allocates that image.
(Inherited from ImageCommand.)
Protected methodConstructFinalImage
Called by the default implementation of Apply, ConstructFinalImage constructs the image that will be used as the destination image for the command.
(Inherited from ImageCommand.)
Protected methodConstructImageResults
Constructs the results object for this command.
(Inherited from ImageCommand.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Protected methodGetChangedPixelFormat
This method is called to change the pixel format of the source image.
(Inherited from ImageCommand.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetObjectData (Overrides ImageRegionCommandGetObjectData(SerializationInfo, StreamingContext).)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodImageCommandGetObjectData
Aggregates ImageCommand data into the supplied SerializationInfo object.
(Inherited from ImageCommand.)
Public methodIsPixelFormatSupported
Returns a value indicating if the specified pixel format is supported.
(Inherited from ImageCommand.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodPerformActualCommand (Overrides ImageCommandPerformActualCommand(AtalaImage, AtalaImage, Rectangle, ImageResults).)
Protected methodSelectBestAlternatePixelFormat
Choose the best pixel format to use for this command when the supplied source image's pixel format is unacceptable.
(Inherited from ImageCommand.)
Protected methodSelectPreferredPixelFormat
Chooses a pixel format that is preferred for this command.
(Inherited from ImageCommand.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Protected methodVerifyImage
Verify the integrity of an AtalaImage.
(Inherited from ImageCommand.)
Protected methodVerifyProperties (Overrides ImageCommandVerifyProperties(AtalaImage).)
Top
Remarks

When applying this command, the resulting ImageResults is an instance of LineRemovalResults containing the start point, end point, and thickness of each detected line.

Examples
[New Example] (C#)
LineRemovalCommand cmd = new LineRemovalCommand();   
cmd.Orientation = LineOrientation.Horizontal; 
LineRemovalResults results = (LineRemovalResults)cmd.Apply(sourceImage);   
AtalaImage newImage = results.Image;  
foreach (Line line in results.Lines)  
{  
    Console.WriteLine(new Rectangle(line.StartPoint, line.EndPoint).ToString());  
}  
if (!results.IsImageSourceImage)   
  sourceImage.Dispose(); //free memory
[New Example] (Visual Basic)
Dim cmd As LineRemovalCommand =  New LineRemovalCommand() 
cmd.Orientation = LineOrientation.Horizontal 
Dim results As LineRemovalResults = CType(cmd.Apply(sourceImage), LineRemovalResults)
Dim NewImage As AtalaImage =  results.Image 
Dim line As Line
For Each line In results.Lines
    Console.WriteLine(New Rectangle(line.StartPoint, line.EndPoint).ToString())
Next
If Not results.IsImageSourceImage Then
  sourceImage.Dispose() ' free memory
End If
Examples
[New Example] (C#)
LineRemovalCommand cmd = new LineRemovalCommand();   
cmd.Orientation = LineOrientation.Horizontal; 
LineRemovalResults results = (LineRemovalResults)cmd.Apply(sourceImage);   
AtalaImage newImage = results.Image;  
foreach (Line line in results.Lines)  
{  
    Console.WriteLine(new Rectangle(line.StartPoint, line.EndPoint).ToString());  
}  
if (!results.IsImageSourceImage)   
  sourceImage.Dispose(); //free memory
[New Example] (Visual Basic)
Dim cmd As LineRemovalCommand =  New LineRemovalCommand() 
cmd.Orientation = LineOrientation.Horizontal 
Dim results As LineRemovalResults = CType(cmd.Apply(sourceImage), LineRemovalResults)
Dim NewImage As AtalaImage =  results.Image 
Dim line As Line
For Each line In results.Lines
    Console.WriteLine(New Rectangle(line.StartPoint, line.EndPoint).ToString())
Next
If Not results.IsImageSourceImage Then
  sourceImage.Dispose() ' free memory
End If
See Also

Reference

LineRemovalResults Class