Como definir uma região de recorte de código de barras em C#

Como Definir a Região de Corte do Código de Barras para Leitura Mais Rápida em C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

Defina uma região de corte usando IronSoftware.Drawing.Rectangle para limitar a área de escaneamento do IronBarcode a regiões específicas da imagem, melhorando significativamente o desempenho da leitura de códigos de barras e reduzindo erros ao focar apenas nas áreas relevantes.

Uma das características mais importantes do IronBarcode é a capacidade de especificar Regiões de Corte. Este recurso permite que o IronBarcode leia apenas códigos de barras ou áreas específicas especificadas pela Região de Corte na imagem usando o objeto IronSoftware.Drawing.Rectangle. Usar essa funcionalidade não apenas reduz erros na leitura, mas também melhora o desempenho da leitura. Essa técnica é especialmente valiosa ao trabalhar com documentos de múltiplas páginas ou imagens de alta resolução onde os locais dos códigos de barras são previsíveis.

Ao processar imagens com múltiplos códigos de barras ou fundos complexos, definir uma região de corte torna-se crucial para otimizar sua velocidade de leitura de código de barras. Ao limitar a área de escaneamento, você pode alcançar velocidades de processamento até 5x mais rápidas do que escaneando imagens inteiras, além de reduzir falsos positivos de elementos que não são códigos de barras.

Início Rápido: Defina e Aplique Região de Corte para Ler Códigos de Barras Mais Rápido

Crie um retângulo de corte e alimente-o ao IronBarcode em segundos—sem configuração extra, sem complicações. Veja como é fácil limitar o escaneamento a uma área específica da imagem usando BarcodeReaderOptions.

  1. Instale IronBarcode com o Gerenciador de Pacotes NuGet

    PM > Install-Package BarCode
  2. Copie e execute este trecho de código.

    var results = IronBarCode.BarcodeReader.Read("image.png", new IronBarCode.BarcodeReaderOptions { CropArea = new IronSoftware.Drawing.Rectangle(x: 50, y: 100, width: 300, height: 150) });
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronBarcode em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Como Encontrar Coordenadas e Tamanho da Região de Corte em uma Imagem?

Existem muitas maneiras de encontrar as coordenadas de um ponto em uma imagem. Uma maneira é carregar a imagem usando o aplicativo Paint em seu computador. Para obter a primeira coordenada da Região de Corte, mova o cursor para o primeiro ponto preferido, que será o canto superior esquerdo do Rectangle, e pegue a coordenada x, y fornecida pelo aplicativo na parte inferior esquerda da tela. Em seguida, localize o segundo ponto, que será o canto inferior direito do Rectangle. Consulte a imagem abaixo para entender melhor.

Para cenários mais avançados, você também pode considerar usar software de edição de imagem como o GIMP ou o Photoshop, que fornecem coordenadas de pixel precisas e ferramentas de medição. Alguns desenvolvedores preferem usar ferramentas online de localização de coordenadas ou criar utilidades simples em HTML/JavaScript que exibem coordenadas do mouse ao passar sobre a imagem.

Crop region diagram showing rectangular area with corner coordinates (x1,y1) and (x2,y2) and dimension calculations

Quais Ferramentas Posso Usar para Determinar Coordenadas?

Os valores das coordenadas podem então ser usados como propriedades para o objeto Rectangle. A largura do objeto pode ser definida como x2 - x1, enquanto a altura pode ser definida como y2 - y1. Ao trabalhar com imagens de códigos de barras, é importante entender que as coordenadas começam no canto superior esquerdo (0,0) e aumentam à medida que você se move para a direita (eixo-x) e para baixo (eixo-y).

Várias abordagens para determinação de coordenadas incluem:

  • Ferramentas integradas do sistema operacional: Windows Paint, Pré-visualização do macOS
  • Ferramentas de desenvolvedor do navegador: Inspecionar elemento em imagens baseadas na web
  • Software profissional: Adobe Photoshop, GIMP
  • Utilitários personalizados: Aplicativos simples de visualização de coordenadas
  • Recursos de depuração do IronBarcode: Exportar imagens processadas com sobreposições de coordenadas

Como Posso Calcular as Dimensões de um Retângulo a Partir de Coordenadas?

Depois que você tiver seus dois pontos de canto, calcular as dimensões é simples. O retângulo requer quatro parâmetros: coordenada x, coordenada y, largura e altura. Veja como instanciar corretamente a região de corte:

:path=/static-assets/barcode/content-code-examples/how-to/set-crop-region-instantiate-CropRegion.cs
using IronBarCode;

int x1 = 62;
int y1 = 29;
int x2 = 345;
int y2 = 522;

IronSoftware.Drawing.Rectangle crop1 = new IronSoftware.Drawing.Rectangle(x: x1, y: y1, width: x2-x1, height: y2-y1);
$vbLabelText   $csharpLabel

Este sistema de coordenadas funciona perfeitamente com os recursos de correção de imagem do IronBarcode, permitindo que você aplique filtros apenas a regiões específicas da sua imagem.

Como Posso Aplicar CropRegion e Ler Códigos de Barras?

Uma vez que você tenha definido as CropRegions onde deseja que o IronBarcode leia, você pode aplicar o objeto em BarcodeReaderOptions como uma das propriedades, juntamente com outras configurações. Isso pode então ser usado como um parâmetro no método BarcodeReader.Read(). O trecho de código abaixo mostra este processo:

Quais Parâmetros a BarcodeReaderOptions Aceita?

A classe BarcodeReaderOptions fornece controle abrangente sobre o processo de leitura de códigos de barras. Além das regiões de corte, você pode configurar:

  • Otimização de velocidade: Equilibre entre precisão e desempenho usando configurações de velocidade
  • Tipos de código de barras: Especifique formatos exatos a serem procurados (formatos suportados)
  • Filtros de imagem: Aplique correções para códigos de barras inclinados ou danificados
  • Multithreading: Habilite o processamento paralelo para melhor desempenho
  • Tratamento de rotação: Detecte automaticamente códigos de barras rotacionados

Como Processar Resultados de Múltiplos Códigos de Barras de uma Região Recortada?

Ao escanear uma região recortada que contém vários códigos de barras, o IronBarcode retorna uma coleção de resultados. Cada resultado contém metadados valiosos, incluindo a localização exata dentro da região de corte, tipo de código de barras, e valor decodificado. Veja como implementar o processamento abrangente da região de corte:

:path=/static-assets/barcode/content-code-examples/how-to/set-crop-region-apply-CropRegion.cs
using IronBarCode;
using System;

int x1 = 62;
int y1 = 29;
int x2 = 345;
int y2 = 522;

IronSoftware.Drawing.Rectangle crop1 = new IronSoftware.Drawing.Rectangle(x: x1, y: y1, width: x2 - x1, height: y2 - y1);

BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    CropArea = crop1
};

var result = BarcodeReader.Read("sample.png", options);
foreach (var item in result)
{
    Console.WriteLine(item.Value);
}
$vbLabelText   $csharpLabel

No trecho de código acima, usamos o Rectangle instanciado no objeto BarcodeReaderOptions como propriedade CropArea. Usamos então este objeto BarcodeReaderOptions como um parâmetro no método BarcodeReader.Read() para aplicar a Área de Corte na imagem e ler os códigos de barras dentro.

Técnicas Avançadas de Região de Corte

Para aplicativos de produção, considere estas estratégias avançadas:

  1. Regiões de Corte Dinâmicas: Calcule áreas de corte com base em modelos de documentos ou resultados de OCR
  2. Múltiplas Regiões: Processe várias regiões de corte em uma única imagem para layouts complexos
  3. Otimização de Desempenho: Combine regiões de corte com processamento assíncrono para máxima vazão
  4. Tratamento de Erros: Implemente estratégias de fallback quando códigos de barras não forem encontrados nas regiões esperadas

Ao trabalhar com documentos PDF, você pode aplicar regiões de corte a páginas específicas, reduzindo drasticamente o tempo de processamento para arquivos grandes. Isso é particularmente útil para faturas, etiquetas de envio ou formulários onde as posições dos códigos de barras são padronizadas.

Melhores Práticas para Definição de Região de Corte

Para maximizar a eficácia das regiões de corte:

  • Adicione margem: Inclua 10-20 pixels ao redor das localizações esperadas do código de barras para levar em conta variações leves
  • Teste exaustivamente: Verifique se as regiões de corte funcionam em todo o conjunto de documentos
  • Documente coordenadas: Mantenha uma folha de referência das regiões de corte comuns para seu aplicativo
  • Considere escalonamento: Leve em conta diferentes resoluções de imagem ou configurações de DPI
  • Monitore o desempenho: Acompanhe os tempos de processamento para validar a eficácia da região de corte

Para aplicativos que exigem tolerância a falhas, implemente uma abordagem em duas passadas: primeiro escanei a região de corte e, em seguida, volte para escanear a imagem completa se nenhum código de barras for encontrado nas regiões esperadas.

Conclusão

Definir regiões de corte é uma técnica poderosa para otimizar o desempenho de leitura de código de barras em suas aplicações .NET. Ao limitar a área de digitalização a regiões específicas, você pode alcançar melhorias significativas de velocidade enquanto reduz os falsos positivos. Seja processando imagens únicas ou operações em lote, as regiões de corte fornecem a precisão e o desempenho necessários para ambientes de produção.

Perguntas frequentes

O que é uma região de recorte de código de barras e por que devo usá-la?

Uma região de recorte de código de barras é uma área específica dentro de uma imagem onde o IronBarcode concentra seus esforços de leitura. Ao definir uma região de recorte usando IronSoftware.Drawing.Rectangle, você pode obter velocidades de leitura de código de barras até 5 vezes mais rápidas, reduzindo erros ao limitar a leitura apenas às áreas relevantes da sua imagem.

Como defino uma região de recorte para leitura de código de barras?

Você pode definir uma região de recorte no IronBarcode criando um objeto IronSoftware.Drawing.Rectangle com coordenadas específicas (x, y) e dimensões (largura, altura) e, em seguida, passando-o para a propriedade BarcodeReaderOptions.CropArea ao chamar o método Read.

Que melhorias de desempenho posso esperar ao usar regiões de cultivo?

O recurso de recorte de região do IronBarcode pode melhorar o desempenho da leitura de códigos de barras em até 5 vezes em comparação com a digitalização de imagens inteiras. Isso é especialmente vantajoso ao trabalhar com documentos de várias páginas ou imagens de alta resolução, onde a localização dos códigos de barras é previsível.

Como posso encontrar as coordenadas corretas para a minha área de cultivo?

Você pode encontrar as coordenadas da região de recorte usando um software de edição de imagens como o Microsoft Paint, GIMP ou Photoshop. Basta abrir a imagem, mover o cursor para o canto superior esquerdo da região desejada, anotar as coordenadas x e y e, em seguida, encontrar as coordenadas do canto inferior direito para determinar a largura e a altura do seu retângulo no IronBarcode.

Quando é que a utilização de regiões agrícolas é particularmente vantajosa?

As regiões de recorte no IronBarcode são especialmente valiosas ao processar imagens com múltiplos códigos de barras, fundos complexos, documentos com várias páginas ou imagens de alta resolução onde as localizações dos códigos de barras são consistentes e previsíveis.

Hairil Hashimi Bin Omar
Engenheiro de Software
Como todo grande engenheiro, Hairil é um ávido aprendiz. Ele está aprimorando seus conhecimentos em C#, Python e Java, usando esse conhecimento para agregar valor aos membros da equipe da Iron Software. Hairil ingressou na equipe da Iron Software vindo da Universiti Teknologi MARA, na Malásia, onde se formou em ...
Leia mais
Pronto para começar?
Nuget Downloads 2,108,094 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package BarCode
executar um exemplo Veja seu fio se transformar em um código de barras.