Click or drag to resize

AdaptiveThresholdCommand Class

An ImageCommand used to convert a grayscale or color image into black and white using a weighted thresholding technique.
Inheritance Hierarchy
SystemObject
  Atalasoft.Imaging.ImageProcessingImageCommand
    Atalasoft.Imaging.ImageProcessingImageRegionCommand
      Atalasoft.Imaging.ImageProcessing.DocumentAdaptiveThresholdCommand

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

The AdaptiveThresholdCommand type exposes the following members.

Constructors
  NameDescription
Public methodAdaptiveThresholdCommand
Creates a new instance of AdaptiveThresholdCommand.
Public methodAdaptiveThresholdCommand(Int32)
Initializes a new instance of AdaptiveThresholdCommand specifying the window size.
Public methodAdaptiveThresholdCommand(Int32, Int32)
Initializes a new instance of AdaptiveThresholdCommand specifying the window size and difference threshold.
Protected methodAdaptiveThresholdCommand(SerializationInfo, StreamingContext)
Creates a new instance of AdaptiveThresholdCommand from serialization information.
Top
Properties
  NameDescription
Public propertyApplyToAnyPixelFormat
Reports whether or not this command will be applied to any supplied PixelFormat image
(Inherited from ImageCommand.)
Public propertyAutoThread
If set to true the IThreadableCommand will automatically parallelize image processing.
Public propertyCanApplyToAnyPixelFormat
Returns true if the command can be applied to any PixelFormat.
(Inherited from ImageCommand.)
Public propertyDifferenceThreshold
Gets or sets a value used for improving the thresholding results.
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 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 propertyRegionOfInterest

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

(Inherited from ImageRegionCommand.)
Public propertySupportedPixelFormats
Returns an array of PixelFormats supported by this command.
(Overrides ImageCommandSupportedPixelFormats.)
Public propertyWindowSize
Gets or sets the size of local window acting on each pixel to find local statistics.
Top
Methods
  NameDescription
Public methodAdjustBands
Sets the image area which will be processed and also defines the bands or chunks of the image of which each will be sent to a separate thread.
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.)
Public methodClone
Returns a copy of the command.
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.
(Overrides ImageCommandConstructChangedSourceImage(AtalaImage).)
Protected methodConstructFinalImage
Called by the default implementation of Apply, ConstructFinalImage constructs the image that will be used as the destination image for the command.
(Overrides ImageCommandConstructFinalImage(AtalaImage).)
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
Performs the actual command.
(Overrides ImageCommandPerformActualCommand(AtalaImage, AtalaImage, Rectangle, ImageResults).)
Public methodPerformSectionCommand
Performs the command on a specified section of the image.
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
Verify the integrity of properties in the command before processing an image.
(Overrides ImageCommandVerifyProperties(AtalaImage).)
Top
Remarks

The AdaptiveThresholdCommand can be used to cleanup a color or grayscale image when converting to black and white. It results in an image that generally renders text and objects intact, while removing effects from color shades.

Like global thresholding, adaptive thresholding is used to separate desirable foreground image objects from the background. This is based on the difference in pixel intensities of each region, while global thresholding uses a fixed threshold for all pixels and therefore works only if the intensity histogram of the input image contains obviously separated peaks corresponding to the desired subjects and backgrounds. Hence it cannot deal with images containing, for example, a strong illumination gradient. Local adaptive thresholding selects an individual threshold for each pixel. This allows for thresholding of an image whose global intensity histogram doesn't contain distinctive peaks.

See Also