如何在 .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 参考 更多工作流优化