为条形码解码获取 NULL 值

Getting NULL value for barcode decoding

我在 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;
}

我不知道哪里出错了。

编辑: 附上图片 Image with barcode

您尝试过:

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

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

如果您裁剪出一张图片,则条形码解码正确。显然 zxing 无法确定 "MDS" 条码就是您要扫描的条码。

仅从图像中删除 EAN13 是不够的,但如果您的图像只有垂直 "elephant bar",它会找到条形码:

换句话说,您需要 "aim" 扫描仪 :)