Search Results for

    Show / Hide Table of Contents

    Class BilateralFilter

    A filter to apply bilateral smoothing to an image.

    Inheritance
    System.Object
    BilateralFilter
    Implements
    IImageFilter
    Namespace: IronBarCode
    Assembly: IronBarCode.dll
    Syntax
    public class BilateralFilter : Object, IImageFilter

    Smoothing noise out of a barcode image without softening the bar edges runs through BilateralFilter. A plain blur averages every pixel with its neighbors and blurs the edges along with the grain, but a bilateral pass weighs both color difference and pixel distance, so it flattens speckle and grain while keeping the sharp light-to-dark transitions a decoder relies on. This is the filter for a grainy photo or a noisy scan where edge fidelity has to survive the cleanup.

    The filter implements IImageFilter and goes into the ImageFilterCollection on BarcodeReaderOptions.ImageFilters, applied 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 tuned defaults; the three-argument overload exposes NeighborhoodDiameter for the pixel-neighborhood diameter (default 5), SigmaColor for how strongly color difference is weighed (default 75.0), and SigmaSpace for how strongly distance is weighed (default 75.0). Raise the sigmas for heavier smoothing when the noise is severe.

    using IronBarCode;
    
    var options = new BarcodeReaderOptions
    {
        ImageFilters = new ImageFilterCollection { new BilateralFilter() }
    };
    var results = BarcodeReader.Read("grainy.png", options);

    The image correction how-to compares the bilateral and Gaussian passes on a sample, and the imperfect barcode example reads a degraded image through a pipeline.

    Constructors

    BilateralFilter()

    Initializes a new instance of the BilateralFilter class.

    Declaration
    public BilateralFilter()

    BilateralFilter(Int32, Single, Single)

    Initializes a new instance of the BilateralFilter class.

    Declaration
    public BilateralFilter(int neighborhoodDiameter, float sigmaColor, float sigmaSpace)
    Parameters
    Type Name Description
    System.Int32 neighborhoodDiameter

    Diameter of the pixel neighborhood used for filtering.

    System.Single sigmaColor

    'Sigma' value representing the "weight" of how pixels will influence each other, based on color.

    System.Single sigmaSpace

    'Sigma' value representing the "weight" of how pixels will influence each other, based on distance.

    Properties

    NeighborhoodDiameter

    Diameter of the pixel neighborhood used for filtering. Default = 5.

    Declaration
    public int NeighborhoodDiameter { get; set; }
    Property Value
    Type Description
    System.Int32

    SigmaColor

    'Sigma' value representing the "weight" of how pixels will influence each other, based on color. Default = 75.0. A higher value means colors that colors that are more different will influence each other more.

    Declaration
    public float SigmaColor { get; set; }
    Property Value
    Type Description
    System.Single

    SigmaSpace

    'Sigma' value representing the "weight" of how pixels will influence each other, based on distance. Default = 75.0. A higher value means that pixels that are farther apart will influence each other more.

    Declaration
    public float SigmaSpace { get; set; }
    Property Value
    Type Description
    System.Single

    Implements

    IImageFilter
    ☀
    ☾
    Downloads
    • Download with Nuget
    • Start for Free
    In This Article
    Back to top
    Install with Nuget
    IronBarcode_for_dotnet_log2o
    Blue key in circleGet started for FREE
    No credit card required
    Test in a live environment

    Test in production without watermarks.
    Works wherever you need it to.

    Fully-functional product

    Get 30 days of fully functional product.
    Have it up and running in minutes.

    24/5 technical support

    Full access to our support engineering team during your product trial

    Grey key in circleGet started for FREE
    The trial form was submitted successfully.
    Calendar in circleBook Free Live Demo
    No contact, no card details, no commitments Book a 30-minute, personal demo.
    Here's what to expect:

    A live demo of our product and its key features

    Get project specific feature recommendations

    All your questions are answered to make sure you have all the information you need. (No commitment whatsoever.)

    Grey key in circleBook Free Live Demo
    Your booking has been completed Check your e-mail for confirmation
    Support Team Member 6 related to The C# PDF Library Support Team Member 14 related to The C# PDF Library Support Team Member 4 related to The C# PDF Library Support Team Member 2 related to The C# PDF Library
    Online 24/5
    Need help? Our sales team would be glad to help you.
    Try the Enterprise Trial
    ironpdf_for_dotnet_log2o
    Key in blue circle
    Get your free 30-day Trial Key instantly.
    bullet_checkedNo credit card or account creation required
    Key in blue circle
    Get your free 30-day Trial Key instantly.
    Blue key in circleNo credit card or account creation required
    Green Check in orange circle
    The trial form was submitted successfully.
    badge_greencheck_in_yellowcircle
    Thank you for starting a trial

    Please check your email for the trial license key.

    If you don’t receive an email, please start a live chat or email support@ironsoftware.com

    Install with NuGet
    View Licensing
    • Logo Aetna
    • Logo NASA
    • Logo GE
    • Logo Porsche
    • Logo USDA
    • Logo Qatar
    Join Millions of Engineers who’ve tried IronBarcode