Códigos de barras imperfeitos e correção de imagem
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
Códigos de barras imperfeitos e correção de imagem

Códigos de barras imperfeitos e correção de imagem

IronBarcode oferece muitos filtros de pré-processamento de imagem para escolher que são facilmente aplicáveis dentro de BarcodeReaderOptions. Selecione os filtros que podem melhorar a leitura da sua imagem, como Sharpen, Limiar Binário, e Contrast. Por favor, lembre-se de que a ordem em que você os escolhe é a ordem em que eles são aplicados.

Há a opção de salvar os dados de imagem das imagens intermediárias com cada filtro aplicado. Isso pode ser alternado com a propriedade SaveAtEachIteration de ImageFilterCollection.

Pontos principais do Exemplo de Código Destacado:

  • Criamos uma instância de BarcodeReaderOptions e a configuramos com vários filtros de imagem: Sharpen, Binary Threshold, e Contrast.
  • Os filtros são adicionados em uma ordem específica, indicando a sequência em que devem ser aplicados.
  • Definindo cacheAtEachIteration para true, a biblioteca salva imagens intermediárias após cada aplicação de filtro, o que é útil para depuração e análise.
  • Finalmente, lemos o código de barras da imagem e imprimimos o tipo e o valor do código de barras no console.
Saiba Mais Sobre Correção de Imagem no IronBarcode
Ver no GitHub

Pronto para começar?

Nuget Downloads 2,540,041Versão:2026.11recém-lançado