Niedoskonale kody kreskowe i korekcja obrazu
using IronBarCode;
using IronSoftware.Drawing;

// Choose which filters are to be applied (in order)
// Set cacheAtEachIteration = true to save the intermediate image data after each filter is applied
var filtersToApply = new ImageFilterCollection(cacheAtEachIteration: true) {
    new SharpenFilter(),
    new InvertFilter(),
    new ContrastFilter(),
    new BrightnessFilter(),
    new AdaptiveThresholdFilter(),
    new BinaryThresholdFilter(),
    new GaussianBlurFilter(),
    new MedianBlurFilter(),
    new BilateralFilter()
};

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

    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true,
};

// Read with the options applied
BarcodeResults results = BarcodeReader.Read("screenshot.png", myOptionsExample);

AnyBitmap[] filteredImages = results.FilterImages();

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

// Or
results.ExportFilterImagesToDisk("filter-result.jpg");
NuGet Download
PM > Install-Package BarCode
Niedoskonale kody kreskowe i korekcja obrazu

Niedoskonale kody kreskowe i korekcja obrazu

IronBarcode oferuje wiele filtrów wstępnego przetwarzania obrazu do wyboru, które można łatwo zastosować w BarcodeReaderOptions. Wybierz filtry, które mogą poprawić czytelność twojego obrazu, takie jak Sharpen, Binary Threshold, oraz Contrast. Prosimy pamiętać, że kolejność, w jakiej je wybierasz, jest kolejnością, w jakiej są stosowane.

Jest opcja zapisu danych obrazu pośrednich obrazów z każdym zastosowanym filtrem. Można to przełączać za pomocą właściwości SaveAtEachIteration obiektu ImageFilterCollection.

Kluczowe punkty z przykładowego kodu:

  • Tworzymy instancję BarcodeReaderOptions i konfigurujemy ją z różnymi filtrami obrazu: Sharpen, Binary Threshold, oraz Contrast.
  • Filtry są dodawane w określonej kolejności, wskazując kolejność ich stosowania.
  • Ustawiając cacheAtEachIteration na true, biblioteka zapisuje pośrednie obrazy po każdej aplikacji filtra, co jest przydatne do debugowania i analizy.
  • Na koniec odczytujemy kod kreskowy z obrazu i drukujemy typ oraz wartość kodu kreskowego na konsoli.
Dowiedz się więcej o korekcji obrazu w IronBarcode
Zobacz na GitHubie

Gotowy, aby rozpocząć?

Nuget Downloads 2,540,041Wersja:2026.11właśnie wydany