无法读取 IMB 条形码



我试图使用以下代码片段从图像中读取 IMB 条形码,但它总是返回 null。我也在下面的黑盒测试中尝试过使用 IMB 条形码图像,但不起作用。

https://github.com/micjahn/ZXing.Net/tree/master/Source/test/data/blackbox/imb-1

private static void Decode()
{
    Bitmap bitmap = new Bitmap(@"7.png");
    try
    {
        MemoryStream memoryStream = new MemoryStream();
        bitmap.Save(memoryStream, ImageFormat.Bmp);
        byte[] byteArray = memoryStream.GetBuffer();
        ZXing.LuminanceSource source = new RGBLuminanceSource(byteArray, bitmap.Width, bitmap.Height);
        var binarizer = new HybridBinarizer(source);
        var binBitmap = new BinaryBitmap(binarizer);
        IMBReader imbReader = new IMBReader();
        Result str = imbReader.decode(binBitmap);
    }
    catch { }
}

我已经通过使用以下链接共享的以下代码片段解决了这个问题。https://github.com/micjahn/ZXing.Net/issues/59

private static void Decode2()
{
    var bitmap = new Bitmap(@"7.png"); // make sure that the file exists at the root level
    try
    {
        var imbReader = new BarcodeReader
        {
            Options =
            {
                PossibleFormats = new List<BarcodeFormat> {BarcodeFormat.IMB}
            }
        };
        var result = imbReader.Decode(bitmap);
        if (result != null)
            System.Console.WriteLine(result.Text);
        else
            System.Console.WriteLine("nothing found");
    }
    catch (System.Exception exc)
    {
        System.Console.WriteLine(exc.ToString());
    }
}

相关内容

  • 没有找到相关文章

最新更新