速度对于任何条形码扫描应用程序都至关重要--无论您是在仓库中使用摄像头扫描产品、在生产线上扫描零件,还是在收银台扫描商品。
VintaSoft Barcode .NET SDK 提供默认的自动条形码识别模式。该自动条形码识别模式在各种条件下都能保证条形码识别的质量,并在此基础上进行了平衡。
此外,
VintaSoft Barcode .NET SDK 提供手动条形码识别模式,该模式具有许多专业设置可让您在各种特定情况下实现最佳性能和/或条码识别质量。
下面我们将探讨如何通过深度调整
VintaSoft Barcode .NET SDK的设置,在各种条件下实现快速条码读取。
步骤 1. 定义基本(常规)扫描设置
这些设置会影响所有类型条码的识别速度。
设置条码类型
设置条码类型或条码子集类型:
reader.Settings.ScanBarcodeTypes = BarcodeType.QR | BarcodeType.DataMatrix;
reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.GS1_128);
设置预期条码数量
使用
ReaderSettings.ExpectedBarcodes属性设置图像中预期的条码数量。
设置识别模式
识别模式对条码识别速度的影响最大。VintaSoft 条码阅读器提供四种识别模式,适用于不同情况:
-
自动(默认)。此模式无需配置,但会牺牲速度以换取更高的识别质量。识别速度将直接取决于条形码图像的质量。当图像和条形码的参数未知时(例如,光照变化或不均匀、模糊、条形码尺寸未知等),此模式适用。
reader.Settings.AutomaticRecognition = true;
-
迭代。当条形码光照发生变化时,使用此模式。设置二值化上下阈值和迭代次数。识别速度取决于迭代次数以及二值化上下阈值的正确选择。
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Iterations;
reader.Settings.ThresholdMin = 100;
reader.Settings.ThresholdMax = 600;
reader.Settings.ThresholdIterations = 6;
-
自动阈值。当条形码光照发生变化,但条形码本身为正常调制(由黑白两色组成)时,使用此模式。识别速度固定,与图像质量无关。
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Automatic;
-
手动阈值。当条形码照明保持不变时,例如相机安装在生产线上时,应使用此模式。使用 ReaderSettings.Threshold 属性设置二值化阈值。识别速度将保持不变,不受图像质量的影响。
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Iterations;
reader.Settings.Threshold = 450;
检查图像中条码的大小
如果您的一维条形码质量良好且高度较大,则可以使用
ReaderSettings.ScanInterval 属性增加扫描间隔。
指定图像中条码的位置
如果您知道条形码可能位于图像上的哪个矩形中,则可以使用属性
ReaderSettings.ScanRectangle 指定矩形的坐标。
步骤 2. 高级设置。
VintaSoft 更进一步,提供了对条形码识别引擎的高级控制。这使得 VintaSoft 条形码阅读器拥有其他供应商所不具备的性能优势,在各种环境下都能提供无与伦比的速度。
确定条形码模块的大小
如果图像中包含的条形码中单个模块超过 6 像素,请使用
ReaderSettings.ImageScaleFactor 属性缩小图像,使单个模块的大小在 3 到 6 像素之间。这将显著加快条形码识别速度。
多线程处理
VintaSoft 条码阅读器默认使用多线程处理。您可以使用属性
ReaderSettings.MaximumThreadCount 更改使用的线程数。
微调二值化
VintaSoft 条形码阅读器提供两种自适应二值化模式:
快速和
高质量(默认)。如果图像中的条形码光照均匀,则使用快速自适应二值化模式:
reader.Settings.AdaptiveBinarizationType = AdaptiveBinarizationType.Fast;
根据被扫描条形码的类型定义扫描设置
步骤 3:提高速度的其他措施
总结:在任何条件下都能快速扫描条码
VintaSoft 条码阅读器即使在光线不足或不均匀、图像模糊、布局复杂或图像失真等挑战性条件下也能快速工作。通过对条码扫描过程进行深度配置,它可以让您的应用程序:
- 提供即时扫描,带来更佳的用户体验
- 保持一致的条码识别质量
- 根据您的需求调整扫描速度
- 降低硬件负载,这对于移动设备、嵌入式系统或高性能系统至关重要。