IronSoftware
  • Products
    for .NET Java
    Create, read, and edit PDFs
    for .NET
    Image to text in 127 languages
    for .NET
    Read and write QR & Barcodes
    for .NET
    Edit Excel & CSV Files.
    No Office Interop required
    for .NET
    Extract structured data from websites
    5 for the Price of 2 All 5 .NET product licenses from $1498 Save 60% with Iron Suite Iron Suites - Donate $50
  • Open Source
    for .NET
    System.Drawing.Common Replacement
  • About Us
  • Contact Us

205 N. Michigan Ave. Chicago, IL 60611, USA +1 (312) 500-3060

Join Iron Slack

  • Home
  • Licensing
  • EULA
  • Support & Update Extensions
  • License Upgrades
  • Start 30-Day Trial
  • Features
  • Get Started
  • Code Examples
  • Tutorials
  • How-Tos
  • Troubleshooting
  • Product Updates
  • API Reference
  • Search
  • Free NuGet Download
Iron Barcode Library for C# .NET Iron Barcode Library for C# .NET
  • Home
  • Licensing
    • Licensing
    • EULA
    • Support & Update Extensions
    • License Upgrades
    • Start 30-Day Trial
  • Features
  • Docs
    • Search
    • Get Started
    • Code Examples
    • Tutorials
    • How-Tos
    • Troubleshooting
    • Product Updates
    • API Reference
    • Search
  • Search
  • Free NuGet Download Total downloads: 451,270
Message's icon
IronBarcode
Code Examples
  1. IronBarcode
  2. Code Examples
  3. Imperfect Barcodes and Image Correction
IronBarcode
Free for development from NuGet

Install with NuGet nuget.org/packages/BarCode

PM > Install-Package BarCode

Explore the Docs

  • Get Started
  • Features
  • Code Examples
    • Reading Barcodes in C# / .NET
    • C# Barcode Image Generator
    • C# QR Code Generator
    • License Keys
    • Setup on macOS
    • Setup on Azure
    • Setup on Docker
    • Setup on Linux
    • Using IronBarcode with Blazor
    • Read Barcodes in .NET MAUI
    • Troubleshooting Guides
      • Apply a license key in IronBarcode
      • Support Barcode Formats
      • Barcode not Recognized
      • False Positives
      • Engineering Request​ - IronBarcode
      • GS1-128
    • Exception Messages
      • IronBarcode - Alternative to System.Drawing.Common
    • Common Questions
      • IronBarcode - Security CVE
    • Product Release Notes
      • IronBarCode v2022.10.9871
      • IronBarCode v2022.9.8982
      • IronBarCode v2022.8.8024
      • IronBarcode v2022.7.7345
      • IronBarcode v2022.5.5918
      • IronBarcode v2022.3.0
      • IronBarcode v2021.12.21
      • IronBarcode v2021.11.0
    • Changelog
  • API Reference
Barcode Quickstart
Read Barcode Read Barcodes Asyncronously Set Barcode Reader Options Imperfect Barcodes and Image Correction Set PDF Barcode Reader Options
Create Barcode Create QR Code Save Barcode Style Barcode Style QR Code

Imperfect Barcodes and Image Correction

using IronBarCode;
using IronSoftware.Drawing;
using System.Linq;

// Choose which filters are to be applied (in order);
var filtersToApply = new ImageFilterCollection() {
    new SharpenFilter(),
    new InvertFilter(),
    new ContrastFilter(),
    new BrightnessFilter(),
    new AdaptiveThresholdFilter(),
    new BinaryThresholdFilter()
};

BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
    // Set chosen filters in BarcodeReaderOptions:
    ImageFilters = filtersToApply,

    // Other Barcode Reader Options:
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true,
};

// And, apply with a Read:
BarcodeResults results = BarcodeReader.Read("screenshot.png", myOptionsExample);

AnyBitmap[] filteredImages = results.FilterImages();

// Export file to disk
for (int i = 0; i < filteredImages.Count(); i++)
    filteredImages[i].SaveAs($"{i}_barcode.png");

// Or
results.ExportFilterImagesToDisk("filter-result.jpg");
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System.Linq

' Choose which filters are to be applied (in order);
Private filtersToApply = New ImageFilterCollection() From {
	New SharpenFilter(),
	New InvertFilter(),
	New ContrastFilter(),
	New BrightnessFilter(),
	New AdaptiveThresholdFilter(),
	New BinaryThresholdFilter()
}

Private myOptionsExample As New BarcodeReaderOptions() With {
	.ImageFilters = filtersToApply,
	.Speed = ReadingSpeed.Balanced,
	.ExpectMultipleBarcodes = True
}

' And, apply with a Read:
Private results As BarcodeResults = BarcodeReader.Read("screenshot.png", myOptionsExample)

Private filteredImages() As AnyBitmap = results.FilterImages()

' Export file to disk
For i As Integer = 0 To filteredImages.Count() - 1
	filteredImages(i).SaveAs($"{i}_barcode.png")
Next i

' Or
results.ExportFilterImagesToDisk("filter-result.jpg")
Install-Package BarCode

Imperfect Barcodes and Image Correction

IronBarcode has many filters to choose from that are easily applied in the BarcodeReaderOptions. Select the filters that may improve reading of your image such as Sharpen, Invert (colors), and Contrast. Please keep in mind that the order in which you choose them are the order that they are applied.

Related Docs Links

Ready to get started? Version: 2023.3 just released

Start for Free Total downloads: 451,270
View Licenses >
Try IronBarcode for Free
Get Set Up in 5 Minutes
C# NuGet Library for PDF
Install with NuGet
Version: 2023.3
Install-Package BarCode
nuget.org/packages/BarCode/
  1. In Solution Explorer, right-click References, Manage NuGet Packages
  2. Select Browse and search "IronBarCode"
  3. Select the package and install
C# PDF DLL
Download DLL
Version: 2023.3
Download Now
Manually install into your project
  1. Download and unzip IronBarCode to a location such as ~/Libs within your Solution directory
  2. In Visual Studio Solution Explorer, right click References. Select Browse, "IronBarCode.dll"
Licenses from $749

Have a question? Get in touch with our development team.

Now that you’ve downloaded IronBarcode
Want to deploy IronBarcode to a live project for FREE?
Not ready to buy?

Want to deploy IronBarcode to a live project for FREE?

What’s included?
30 days of fully-functional product
Test and share in a live environment
No restrictions in production
Get your free 30-day Trial Key instantly.
Thank you.
If you'd like to speak to our licensing team:
Schedule a call
Have a question? Get in touch with our development team.
No credit card or account creation required
Your Trial License Key has been emailed to you.
Not ready to buy?
Thank you.
View your license options:
Thank you.
If you'd like to speak to our licensing team:
View Licensing
Schedule a call
Have a question? Get in touch with our development team.
Have a question? Get in touch with our development team.
Want to deploy IronBarcode to a live project for FREE?
Not ready to buy?

Want to deploy IronBarcode to a live project for FREE?

What’s included?
30 days of fully-functional product
Test and share in a live environment
No restrictions in production
Get your free 30-day Trial Key instantly.
Thank you.
If you'd like to speak to our licensing team:
Schedule a call
Have a question? Get in touch with our development team.
No credit card or account creation required
Your Trial License Key has been emailed to you.
Not ready to buy?
Download IronBarcode free to apply
your Trial Licenses Key
Thank you.
If you'd like to speak to our licensing team:
Install with NuGet View Licenses
Schedule a call
Licenses from $749. Have a question? Get in touch.
Have a question? Get in touch with our development team.
Free 30-Day Trial Key

Fully-functional product, get the key instantly

IronBarcode for .NET

When you need to read, write, and style, QR & Barcodes, fast.

Search

Documentation

  • Code Examples
  • API Reference
  • How-Tos
  • Features
  • Credits
  • Blog
  • Product Brochure

Tutorials

  • Get Started
  • C# Barcode Image Generator
  • C# QR Code Generator
  • Reading Barcodes in C#

Licensing

  • Buy a License
  • Support Extensions
  • Resellers
  • License Keys
  • EULA

Try IronBarcode Free

  • Download on NuGet
  • Download DLL

  • 30-Day Trial License

When you need your PDF to look like HTML, fast.

Tesseract 5 OCR in the languages you need, We support 127+.

When you need to read, write, and style, QR & Barcodes, fast.

The Excel API you need, without the Office Interop hassle.

The power you need to scrape & output clean, structured data.

The complete .NET Suite for your office.

  • IRONSUITE
  • |
  • IRONPDF
  • IRONOCR
  • IRONBARCODE
  • IRONXL
  • IRONWEBSCRAPER
IronSoftware
205 N. Michigan Ave. Chicago, IL 60611 USA +1 (312) 500-3060
  • About Us
  • News
  • Careers
  • Contact Us
  • Join Iron Slack

Supporting Teamseas

Copyright © Iron Software LLC 2013-2023

  • Terms
  • Privacy

Thank you!

Your license key has been delivered to the email provided. Contact us

24-Hour Upgrade Offer:

Save 50% on a
Professional Upgrade

Go Professional to cover 10 developers
and unlimited projects.

hours

:

minutes

:

seconds

Upgrade to Professional

Upgrade

Professional

$600 USD

$299 USD


  • 10 developers
  • 10 locations
  • 10 projects
TODAY ONLY
Iron Suite

5 .NET Products for the Price of 2

IronPDF IronOCR IronXL IronBarcode IronWebscraper

Total Suite Value:

$7,192 USD

Upgrade price

TODAY
ONLY

$499 USD

After 24 Hrs

$1,098 USD