Как да ускорим масовото сканиране на 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 for .NET (NuGet)
- Партида от изображения с 1D баркодове (JPG, PNG, TIFF)
PM> Install-Package Aspose.BarCode Ръководство стъпка по стъпка
- Инсталирайте Aspose.BarCode за .NET и съберете вашите файлове с изображения на баркодове.
- Ограничете разпознаването до необходимите DecodeTypes (например Code128, EAN-13, UPC-A) за най-добра скорост.
- (Опционално) Изрежете или задайте региони от интерес ако баркодовете са в предвидими места.
- Паралелна обработка:
- Агрегирайте резултатите за процеси на инвентаризация или доставка.
Съвети за производителност: Филтриране, Насочване и Паралелизъм
- Филтриране по DecodeType: Посочвайте само 1D типове баркодове, които очаквате; избягва се загуба на време за обработка.
- Таргетиране на регион: Ако баркодовете винаги се появяват в един и същи регион (например в долната част на етикета), задайте Rectangle, за да ограничите търсенето за разпознаване.
- Партидна и паралелна обработка: Използвайте
Parallel.ForEach, async код, или пулове от нишки за обработка на множество изображения едновременно. - Избягвайте големи изображения: Намалете мащаба на изображенията до малко над резолюцията на баркода за по-бързо четене.
Общи проблеми и решаване на проблеми
- Използването на процесора твърде високо? - Ограничете степента на паралелизъм, или използвайте по-малки пакети.
- Фалшиви положителни резултати? - Филтрирайте резултатите по тип баркод или увереност.
- Разпознаването все още е бавно? - Ограничете допълнително до само един или два DecodeTypes.
ЧЗВ
Q: Мога ли да сканирам PDF или многостранични TIFF файлове накуп? A: Да — обхождайте всяка страница и прилагайте същата логика за разпознаване.
Q: Какъв е най-добрият размер на партидата? A: Зависи от процесора и RAM паметта — експериментирайте за най-добра производителност на вашия хардуер.
Най-добрите практики
| Съвет | Изпълнете | Не правете |
|---|---|---|
| DecodeType | Използвайте само необходимите 1D типове | Използвайте AllSupportedTypes |
| Паралелизъм | Използвайте Parallel.ForEach за масивна обработка | Обработвайте изображения последователно |
| Размер на изображението | Намаляване за скорост | Използване на огромни необработени изображения от камерата |
| Обработка на изключения | Улавяне и логване на грешки на партиди | Игнориране на неуспешни четения |
заключение
Бързото, надеждно сканиране на баркодове в големи количества е от съществено значение за ефективно управление на инвентара и складовете. С Aspose.BarCode за .NET можете да обработвате хиляди етикети бързо, използвайки филтриране по DecodeType, насочване към регион и паралелна партидна обработка. Вижте Aspose.BarCode API Reference за повече оптимизации на работния процес.