如何在 .NET 中的存储和仓库工作流中加速大规模 1D 条码扫描

如何在 .NET 中的存储和仓库工作流中加速大规模 1D 条码扫描

大批条码扫描是存储、仓库和运输操作的背景。 缓慢筛查导致瓶装和错误,尤其是成千上万的项目或标签。

快速启动例子

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}");
      }
    });
  }
} 

内容表

本文解释了在 .NET 中处理大量 1D 条形码图像时最大限度地识别条码的实用方法。

原則

  • Visual Studio 2019 或以后
  • .NET 6.0+ 或 .Net Framework 4.6.2+
  • Aspose.BarCode 为 .NET (NuGet)
  • 包含 1D 条码的图像集(JPG、PNG、TIFF)
PM> Install-Package Aspose.BarCode 

步骤指南

  • 安装 Aspose.BarCode for .NET 并收集您的条码图像文件。
  • 有限认可需要的 DecodeTypes(例如,代码128,EAN-13,UPC-A)以获得最佳速度。
  • (可选) 种植或设置利益区域 如果条码位于可预测的位置。
  • 使用平行处理:
  • Aggregate Results for inventory or shipping workflows。

性能提示:过滤、目标和平行

  • DecodeType 过滤: 只指定您所期望的 1D 条码类型;避免浪费处理时间。
  • 区域目标: 如果条码总是出现在相同的区域(例如,标签底部),请指定一个Rectangle来限制识别搜索。
  • Batch & 平行处理: 使用 Parallel.ForEach, async 代码,或 thread 池,以同时处理多个图像。
  • 避免大图像: 下载图片到字符串分辨率的顶部,以便更快的阅读。

麻烦解决与常见问题

  • CPU使用量过高吗?

  • 限制平行程度,或者使用较小的包装。

  • “错误的积极性?”

  • 按条码类型或信任过滤结果。

  • “认可还慢吗?”

  • 进一步限制仅限于一个或两个 DecodeTypes。

FAQ

**Q:我可以大批扫描PDF或多页TIFF吗?**答:是的,通过每个页面,并应用相同的识别逻辑。

Q:什么是最好的包尺寸?答: 依赖于 CPU 和 RAM - 实验在您的硬件上获得最佳性能。

最佳实践

提示不要
解体类型使用只需要 1D 类型使用所有支持
Parallelism使用 Parallel.ForEach for bulk序列图像
图像大小下载速度使用巨大的原料相机图像
例外处理捕捉和登录错误在集合中忽略失败的阅读

结论

快速可靠的大批条码扫描是有效的存储和仓库管理至关重要的。 使用 Aspose.BarCode for .NET,您可以使用 DecodeType 过滤、区域目标和平行集合处理快速处理成千上万的标签。 Aspose.BarCode API 参考 更多工作流优化

 中文