2

我在 VS 2015 中从 NuGet 包管理器添加了 Zxing.Net。我尝试了以下代码来解码CODE_128条形码。但它给出了 null 作为结果。几乎所有的在线条码阅读网站,包括Zxing Online Decoder都成功解码了相同的图像。

using System;
using System.Drawing;
using ZXing.QrCode;
using ZXing.QrCode.Internal;

public string barcode_scan()
{
    string qr = @"C:\Users\Admin\Desktop\barcode.jpg";
    ZXing.BarcodeReader reader = new ZXing.BarcodeReader();
    var result = reader.Decode((Bitmap)Bitmap.FromFile(qr));
    return result;
}

我无法弄清楚我哪里出错了。

编辑:带条形码的图像附加图像

4

2 回答 2

2

您是否尝试过:

ZXing.BarcodeReader reader = new ZXing.BarcodeReader()
{
    AutoRotate = true,
    TryInverted = true,
    Options = new DecodingOptions
    {
        TryHarder = true,
        PureBarcode = true,
        PossibleFormats = new List<BarcodeFormat> { BarcodeFormat.CODE_128 }
    }
};

这不会针对速度进行优化,但如果它有效,您可以删除一些蛮力选项。

于 2016-04-26T08:00:03.567 回答
1

如果您裁剪出图像的一部分,则条形码被正确解码。显然 zxing 无法确定“MDS”条形码是您要扫描的条形码。

仅从图像中删除 EAN13 是不够的,但如果您的图像只有垂直的“大象条”,它确实会找到条形码:

在此处输入图像描述

换句话说,您需要“瞄准”扫描仪:)

于 2016-04-26T08:44:57.813 回答