Как ускорить сканирование 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}");
}
});
}
}
Таблица контента
- Введение
- Почему скорость распознавания баркода важна в инвентаризации и хранении
- Быстрый пример старта
- Предупреждения
- Step-by-Step Руководство
- Советы по результатам: фильтрация, целевое и паралелизм
- Решение проблем и общие проблемы
- FAQs
- Лучшие практики
- Заключение
В этой статье объясняются практические способы максимизации скорости распознавания баркода при обработке большого количества изображений 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 ссылка Для большей оптимизации рабочего потока.