Как ускорить сканирование 1D-баркода в контейнерах и складских рабочих потоках в .NET

Как ускорить сканирование 1D-баркода в контейнерах и складских рабочих потоках в .NET

Массовое сканирование баркода является основой запасов, складских и переносных операций. медленные сканы приводят к флаконам и ошибкам, особенно с тысячами элементов или этикет. Оптимизация скорости сканира помогает поддерживать точность запаса в режиме реального времени и эффективность рабочего потока.

Быстрый пример старта

using Aspose.BarCode.BarCodeRecognition;
using System.IO;
using System;
using System.Threading.Tasks;

class Program
{
  static void Main()
  {
    string[] files = Directory.GetFiles("labels/", "*.jpg");
    Parallel.ForEach(files, imagePath =>
    {
      using (BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.Code128, DecodeType.EAN13, DecodeType.UPCA))
      {
      foreach (BarCodeResult result in reader.ReadBarCodes())
        Console.WriteLine($"File: {imagePath}, Type: {result.CodeTypeName}, Value: {result.CodeText}");
      }
    });
  }
} 

Таблица контента

В этой статье объясняются практические способы максимизации скорости распознавания баркода при обработке большого количества изображений 1D в .NET.

Предупреждения

  • Visual Studio 2019 или позднее
  • .NET 6.0+ или .Net Framework 4.6.2+
  • Aspose.BarCode для .NET (NuGet)
  • Комплект изображений с 1D баркодами (JPG, PNG, TIFF)
PM> Install-Package Aspose.BarCode 

Step-by-Step Руководство

  • Настройка Aspose.BarCode для .NET и сбор файлов изображения штрихкода.
  • Ограниченное признание нужных DecodeTypes (например, Code128, EAN-13, UPC-A) для наилучшей скорости.
  • (Опциональное) выращивание или определение регионов интересов, если баркоды находятся в прогнозируемых местах.
  • Употребление параллельной обработки:
  • Результаты обобщения для запасов или судоходных рабочих потоков.

Советы по результатам: фильтрация, целевое и паралелизм

  • DecodeType Filtering: Укажите только типы баркода 1D, которые вы ожидаете; избегайте траты времени обработки.
  • Регион целевой: Если баркоды всегда появляются в том же регионе (например, внизу этикета), укажите прямоугольник для ограничения поиска распознавания.
  • Batch & Parallel Обработка: Использование Parallel.ForEach, асинк-код, или thread поля для обработки нескольких изображений одновременно.
  • Избегайте больших изображений: Скалируйте изображения прямо выше разрешения баркода для более быстрых чтений.

Решение проблем и общие проблемы

  • Употребление CPU слишком высокое?

  • Ограничить степень параллелизма или использовать более мелкие батареи.

  • «Фальшивые положительные»

  • Фильтр результатов по типу баркода или доверию.

  • «Разумеется ли признание еще медленно?»

  • Дополнительно ограничивайте только один или два типа DecodeTypes.

FAQs

**Q: Могу ли я сканировать PDF или многостраничные TIFF в массе?**Ответ: Да — пробегайте через каждую страницу и используйте одну и ту же логику распознавания.

Q: Какова самая лучшая сумма?Ответ: зависит от CPU и RAM — эксперимент для наилучшей производительности на вашем оборудовании.

Лучшие практики

ТипДатьНе давай
ДекоративныеИспользуйте только нужные типы 1DИспользуйте поддерживаемые типы
ParallelismИспользуйте Parallel.ForEach для множестваСерьезная обработка изображений
Размер изображенияСкалирование для скоростиИспользуйте огромные сырые фотокамеры
Исключение поведенияПоявление и лог ошибок в батареяхИгнорировать неудачные чтения

Заключение

Быстрое и надежное сканирование баркода в массе необходимо для эффективного управления запасами и складом. С Aspose.BarCode для .NET вы можете быстро обрабатывать тысячи етикетов с помощью фильтрации DecodeType, целевой области и параллельной обработки бач. Aspose.BarCode API ссылка Для большей оптимизации рабочего потока.

 Русский