QualitySettings
内容
[
隐藏
]QualitySettings class
QualitySettings 允许手动配置识别质量和速度。 您可以通过嵌入式预设快速设置 QualitySettings:HighPerformance、NormalQuality、 HighQuality、MaxBarCodes 或者您可以手动配置单独的选项。 QualitySettings 的默认值为 NormalQuality。
public sealed class QualitySettings
特性
姓名 | 描述 |
---|---|
static HighPerformance { get; } | 高性能识别质量预设。在这种模式下可以很好地识别高质量的条形码。 |
static HighQuality { get; } | HighQuality 识别质量预设。此预设是为低质量条码开发的。 允许检测对角线和高度损坏的条码。 |
static HighQualityDetection { get; } | HighQualityDetection 识别质量预设。与 NormalQuality 相同,但质量较高DetectorSettings |
static MaxBarCodes { get; } | MaxBarCodes 识别质量预设。此预设旨在识别所有可能的条形码,甚至是不正确的条形码。 |
static MaxQualityDetection { get; } | MaxQualityDetection 识别质量预设。与 NormalQuality 相同,但质量最高DetectorSettings . 允许检测对角和损坏的条码。 |
static NormalQuality { get; } | NormalQuality 识别质量预设。适用于大部分条形码 |
AllowComplexBackground { get; set; } | 允许引擎将彩色背景上的彩色条码识别为附加扫描。极慢模式。 |
AllowDatamatrixIndustrialBarcodes { get; set; } | 允许 Datamatrix 引擎识别虚线工业 Datamatrix 条形码。 慢速模式,仅适用于由斑点组成的虚线条码。 |
AllowDecreasedImage { get; set; } | 允许引擎将缩小的图像识别为附加扫描。减小尺寸由内部引擎算法选择。 模式有助于识别有噪声和模糊但以高分辨率捕获的条形码。 |
AllowDetectScanGap { get; set; } | 允许引擎使用扫描之间的间隙来提高识别速度。模式会使低高度条码出现识别问题。 |
AllowIncorrectBarcodes { get; set; } | 允许引擎识别校验和或值不正确的条形码。 模式可用于识别文本不正确的损坏条形码。 |
AllowInvertImage { get; set; } | 允许引擎将反色图像识别为附加扫描。当条码为黑底白字时可以使用模式。 |
AllowMedianSmoothing { get; set; } | 允许引擎启用中值平滑作为附加扫描。模式有助于识别噪声条码。 |
AllowMicroWhiteSpotsRemoving { get; set; } | 允许邮政条码引擎识别轻微噪点的图像。模式有助于识别轻微损坏的邮政条形码。 |
AllowOneDFastBarcodesDetector { get; set; } | 允许一维条码引擎快速识别几乎填满整个图像的高质量条码。 模式有助于快速识别从 Internet 生成的条码。 |
AllowOneDWipedBarsRestoration { get; set; } | 允许一维条码引擎识别图案中带有单个擦拭/胶合条的条码。 |
AllowQRMicroQrRestoration { get; set; } | 允许 QR/MicroQR 引擎识别损坏的 MicroQR 条码。 |
AllowRegularImage { get; set; } | 允许引擎将没有任何恢复的常规图像识别为主扫描。按原样识别图像的模式。 |
AllowSaltAndPaperFiltering { get; set; } | 允许引擎识别带有盐和纸张噪声类型的条码。模式可以去除带有白点和黑点的小噪点。 |
AllowWhiteSpotsRemoving { get; set; } | 允许引擎将没有小白点的图像识别为附加扫描。模式有助于识别噪声图像以及中值平滑滤波。 |
CheckMore1DVariants { get; set; } | 允许引擎通过检查更多识别变体来识别带有校验和的一维条码。默认值:False. |
DetectorSettings { get; set; } | 条码检测器设置。 |
FastScanOnly { get; set; } | 允许一维条码引擎快速识别图像的中间切片并返回结果,而无需使用任何耗时的算法。 |
MedianSmoothingWindowSize { get; set; } | 中值平滑的窗口大小。典型值为 3 或 4。默认值为 3。必须设置 AllowMedianSmoothing。 |
ReadTinyBarcodes { get; set; } | 允许引擎识别大图像上的小条形码。忽略如果AllowIncorrectBarcodes 设置为真。默认值:False. |
UseOldBarcodeDetector { get; set; } | 切换到旧条码检测器。 |
例子
此示例显示如何将 QualitySettings 与 BarCodeReader 一起使用
[C#]
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39Standard, DecodeType.Code128))
{
//设置高性能模式
reader.QualitySettings = QualitySettings.HighPerformance;
foreach (BarCodeResult result in reader.ReadBarCodes())
Console.WriteLine("BarCode CodeText: " + result.CodeText);
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39Standard, DecodeType.Code128))
{
//默认设置正常质量模式
foreach (BarCodeResult result in reader.ReadBarCodes())
Console.WriteLine("BarCode CodeText: " + result.CodeText);
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39Standard, DecodeType.Code128))
{
//设置低速识别的高质量模式
reader.QualitySettings = QualitySettings.HighQuality;
foreach (BarCodeResult result in reader.ReadBarCodes())
Console.WriteLine("BarCode CodeText: " + result.CodeText);
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39Standard, DecodeType.Code128))
{
//设置最大条形码模式,尝试找到所有可能的条形码,即使不正确。最慢的识别模式
reader.QualitySettings = QualitySettings.MaxBarCodes;
foreach (BarCodeResult result in reader.ReadBarCodes())
Console.WriteLine("BarCode CodeText: " + result.CodeText);
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39Standard, DecodeType.Code128))
{
//设置高性能模式
reader.QualitySettings = QualitySettings.HighPerformance;
//设置单独的选项
reader.QualitySettings.AllowMedianSmoothing = true;
reader.QualitySettings.MedianSmoothingWindowSize = 5;
foreach (BarCodeResult result in reader.ReadBarCodes())
Console.WriteLine("BarCode CodeText: " + result.CodeText);
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39Standard, DecodeType.Code128))
{
//默认模式是NormalQuality
//设置单独的选项
reader.QualitySettings.AllowMedianSmoothing = true;
reader.QualitySettings.MedianSmoothingWindowSize = 5;
foreach (BarCodeResult result in reader.ReadBarCodes())
Console.WriteLine("BarCode CodeText: " + result.CodeText);
}
[VB.NET]
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39Standard, DecodeType.Code128)
'设置高性能模式
reader.QualitySettings = QualitySettings.HighPerformance
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode Type: " + result.CodeTypeName)
Next
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39Standard, DecodeType.Code128)
'默认设置正常质量模式
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode Type: " + result.CodeTypeName)
Next
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39Standard, DecodeType.Code128)
'设置低速识别的高质量模式
reader.QualitySettings = QualitySettings.HighQuality
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode Type: " + result.CodeTypeName)
Next
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39Standard, DecodeType.Code128)
'设置最大条形码模式,它会尝试找到所有可能的条形码,即使是不正确的。最慢的识别模式
reader.QualitySettings = QualitySettings.MaxBarCodes
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode Type: " + result.CodeTypeName)
Next
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39Standard, DecodeType.Code128)
'设置高性能模式
reader.QualitySettings = QualitySettings.HighPerformance
'设置单独的选项
reader.QualitySettings.AllowMedianSmoothing = True
reader.QualitySettings.MedianSmoothingWindowSize = 5
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode Type: " + result.CodeTypeName)
Next
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39Standard, DecodeType.Code128)
'默认模式是 NormalQuality
'设置单独的选项
reader.QualitySettings.AllowMedianSmoothing = True
reader.QualitySettings.MedianSmoothingWindowSize = 5
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode Type: " + result.CodeTypeName)
Next
End Using