无法读取IMB条码 [英] IMB barcode could not be read

查看:140
本文介绍了无法读取IMB条码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试从具有以下代码段的图像中读取IMB条形码,但始终返回null.我还在下面的黑盒测试中尝试使用IMB条形码图像,但是不起作用.

I have tried to read IMB barcode from an image with the below code snippet, but it always return null. I have also tried with the IMB barcode images in the blackbox testing below, but doesn't work.

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

private static void Decode()
{
    Bitmap bitmap = new Bitmap(@"\07.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

I have solved this problem by using the below code snippet shared through the below link. https://github.com/micjahn/ZXing.Net/issues/59

private static void Decode2()
{
    var bitmap = new Bitmap(@"\07.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());
    }
}

这篇关于无法读取IMB条码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆