Class ErodeFilter
A filter to apply erosion to an image.
Inheritance
Implements
Namespace: IronBarCode
Assembly: IronBarCode.dll
Syntax
public class ErodeFilter : Object, IImageFilter
When the bars of a barcode have bled into each other and the decoder can no longer tell where one ends and the next begins, ErodeFilter shrinks the dark regions back to separate them. Erosion is a morphological operation that trims the foreground pixels, the inverse of dilation, so over-inked, smudged, or heavily compressed images recover their gaps between bars. Reach for it when a code reads as one merged block; for the opposite defect, where thin bars have broken apart, the dilation filter grows them back together.
The filter implements IImageFilter and is added to the ImageFilterCollection on BarcodeReaderOptions.ImageFilters, where filters run in collection order before the read. A developer constructs it, adds it to the collection, and passes the options to BarcodeReader.Read. The parameterless constructor uses a KernelSize of 3, the length of one side of the square kernel that controls how much the bars are trimmed. The ErodeFilter(int kernelSize) overload or the KernelSize property raises that value for stronger erosion when the bars are badly merged.
using IronBarCode;
var options = new BarcodeReaderOptions
{
ImageFilters = new ImageFilterCollection { new ErodeFilter() }
};
var results = BarcodeReader.Read("smudged.png", options);The image correction how-to demonstrates filter selection on a sample barcode, and the imperfect barcode example reads a degraded image through a filter pipeline.
Constructors
ErodeFilter()
Initializes a new instance of the ErodeFilter class.
Declaration
public ErodeFilter()
ErodeFilter(Int32)
Initializes a new instance of the ErodeFilter class.
Declaration
public ErodeFilter(int kernelSize)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | kernelSize | Size of the kernel used to apply erosion, expressed as the length of one side of a square kernel of ones. |
Fields
KernelSize
Size of the kernel used to apply erosion, expressed as the length of one side of a square kernel of ones. Default = 3.
Declaration
public int KernelSize
Field Value
| Type | Description |
|---|---|
| System.Int32 |
Remarks
The greater the size of the kernel, the more the high color intensity regions grow.