【问题标题】:Detect and decode multiple 2d (Datamatrix, QRcode) from an image从图像中检测和解码多个 2d(Datamatrix、QRcode)
【发布时间】:2013-08-01 13:09:31
【问题描述】:

我正在开展一个项目,该项目涉及在我的桌面上获取一个图像文件作为输入,然后检测和解码所有存在的条形码,包括一维和二维。

我一直在使用 zxing,在 GenericMultipleBarcodeReader 的帮助下,我能够从图像中读取多个一维条码。但是,它无法检测二维条码。 但是,如果我裁剪 2D 条码并单独输入这个裁剪的部分,它会毫无问题地检测和解码它。

因此,如果我的图像有 2 个一维条码和一个二维条码,我的输出仅包含已解码的 2 个一维条码。

我也尝试过使用 ByQuadrantReader,但这也不起作用。

我的代码:

LuminanceSource source = new BufferedImageLuminanceSource(image); 
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); 
Result[] result; 
HashMap<DecodeHintType,Object> hints = new HashMap<>(); 
hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); 
    try 
    { 
result = new GenericMultipleBarcodeReader(new MultiFormatReader()).decodeMultiple(bitmap, hints); 
     } 
    catch (ReaderException re) 
    {
    return re.toString(); 
    } 
    List<String> strings = new ArrayList<String>();
     for (Result r: result)
    {
    strings.add(r.getText()); 
    } 
    return String.valueOf(Arrays.toString(strings.toArray()));

谁能告诉我一个方法来做到这一点?

【问题讨论】:

  • @Skippy LuminanceSource source = new BufferedImageLuminanceSource(image); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Result[] result; HashMap&lt;DecodeHintType,Object&gt; hints = new HashMap&lt;&gt;(); hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); try { result = new GenericMultipleBarcodeReader(new MultiFormatReader()).decodeMultiple(bitmap, hints); } catch (ReaderException re) { return re.toString(); } List&lt;String&gt; strings = new ArrayList&lt;String&gt;(); for (Result r: result){ strings.add(r.getText()); } return String.valueOf(Arrays.toString(strings.toArray()));
  • 很抱歉格式不好。我是新来的,还没有弄清楚如何在这里格式化我的代码。
  • @Skippy 感谢您提供格式化链接,将在代码方面等待您的帮助。
  • @Skippy 有什么方法可以让特定的人回答问题吗?

标签: java barcode decode qr-code zxing


【解决方案1】:

二维码可以在图像的任何位置找到,但 Data Matrix 必须位于图像的中心才能找到。这就是裁剪图像时它起作用的原因。

【讨论】:

  • 有什么方法可以从图像中的任何位置读取数据矩阵?以某种方式更改代码?我看到了两种不同的在线条形码阅读器,它们可以做到这一点,但它们不是开源的。
  • 还有什么方法可以标记已解码的条形码?就像在图像中围绕它们画一个彩色矩形或显示那些是已检测和解码的条形码?这样我就可以分辨出一组条形码中的哪一个没有被解码!
  • 嗨,我真的需要这方面的帮助。我进一步尝试,但无法提出任何建议。如果可能的话,你能帮帮我吗?
猜你喜欢
  • 2016-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-10
  • 1970-01-01
  • 2014-01-15
  • 2020-09-21
  • 2020-06-27
相关资源
最近更新 更多