【问题标题】:Enabling PDF417 Decoding in Zxing在 Zxing 中启用 PDF417 解码
【发布时间】:2012-12-05 18:55:41
【问题描述】:

我正在尝试在ZXing(斑马线)中启用PDF417 条形码读取。我从github repo 中提取并根据wiki 构建了库。 ant build 输出seems to indicate 表示正在构建 PDF417 子模块。我尝试使用 these images 根据 wiki 测试所有内容,但出现“未找到条形码”错误。

kscottz@kscottz-laptop:~/barcode/zxing$  java -cp javase/javase.jar:core/core.jar com.google.zxing.client.j2se.CommandLineRunner Sample_PDF417.png 
file:/home/kscottz/barcode/zxing/Sample_PDF417.png: No barcode found
kscottz@kscottz-laptop:~/barcode/zxing$  java -cp javase/javase.jar:core/core.jar com.google.zxing.client.j2se.CommandLineRunner bc.png 
file:/home/kscottz/barcode/zxing/bc.png: No barcode found
kscottz@kscottz-laptop:~/barcode/zxing$  java -cp javase/javase.jar:core/core.jar com.google.zxing.client.j2se.CommandLineRunner sanitycheck.jpg 
file:/home/kscottz/barcode/zxing/sanitycheck.jpg (format: QR_CODE, type: TEXT):
Raw result:
<-- SNIP -->

什么给了?我是否缺少启用 PDF417 的标志?在哪里可以设置这些类型的配置选项?我经常是 Python/C/C++ 开发人员,所以我可能会遗漏一些非常基本的东西。

【问题讨论】:

  • 你试过PDF417.mobi SDK吗?它可以工作,很容易集成,并且对非商业应用程序是免费的。免责声明:我为 PDF417.mobi 的开发人员工作

标签: java ant computer-vision zxing pdf417


【解决方案1】:

试试--try_harder,否则是适合移动设备的模式,而不是使用更多的CPU来更多地扫描图像。 --pure_barcode 可能也会起作用,因为这些是合成图像。

一般。这些似乎没有解码。我无法访问第一张图片,甚至在在线解码器中也找不到第二张图片(您可以随时将其用作检查):http://zxing.elasticbeanstalk.com/w/decode.jspx

我不知道为什么,因为我认为它是有效的。您可以通过调试器运行以查看到底出了什么问题。

【讨论】:

    【解决方案2】:

    所以我在测试条码上运行了 ZXing 测试脚本,它们确实通过了,所以我假设它已启用。似乎当 zxing 说 alpha 时,它们的真正意思是 alpha。 =(

    【讨论】:

    • 测试脚本与CommandLineRunner程序不一样,虽然所有代码都构建好了,但不一定启用。但是为 CommandLineRunner 打开了 PDF417。我不知道您在解码什么图像,但人们在过去 3 个月中对 PDF417 做出了一系列更改。
    【解决方案3】:

    使用 ZXING 库基本上只检测 PDF417 条码,您需要传入提示要求 ZXING 只查找 PDF417 类型。

    试试下面,

     hints.put(DecodeHintType.POSSIBLE_FORMATS, EnumSet.of(BarcodeFormat.PDF_417));
    

    查看以下示例,

    LuminanceSource source = new BufferedImageLuminanceSource(bufferedImage);
            BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
    
            Map<DecodeHintType, Object> hints = new EnumMap<>(DecodeHintType.class);
    
            hints.put(DecodeHintType.POSSIBLE_FORMATS, EnumSet.of(BarcodeFormat.PDF_417));
            //hints.put(DecodeHintType.POSSIBLE_FORMATS, EnumSet.allOf(BarcodeFormat.class));
            hints.put(DecodeHintType.CHARACTER_SET, "utf-8");
            hints.put(DecodeHintType.TRY_HARDER, true);
            Result result = new MultiFormatReader().decode(bitmap, hints);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-17
      • 2012-03-03
      • 2020-10-16
      • 1970-01-01
      • 1970-01-01
      • 2018-04-21
      • 2014-12-31
      • 1970-01-01
      相关资源
      最近更新 更多