gpt4 book ai didi

java - ZXing 库无法解码 Datamatrix 条码

转载 作者:太空宇宙 更新时间:2023-11-03 21:55:30 28 4
gpt4 key购买 nike

我正在尝试使用 ZXing 库来解码 Datamatrix 条码。这是我的代码示例:

BufferedImage bi = img.getBufferedImage();

Hashtable<DecodeHintType, Object> hints = new Hashtable<DecodeHintType, Object>();
hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);

LuminanceSource source = new BufferedImageLuminanceSource(bi);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
DataMatrixReader dataMatrixReader = new DataMatrixReader();

try {
Result res = dataMatrixReader.decode(bitmap,hints);
System.out.println("resultText = "+res.getText());
} catch (Exception e) {
System.out.println("failed to get resultText");
e.printStackTrace();
}

我在 https://stackoverflow.com/ 中多次看到几乎相同的样本和其他网站,但这种方法不适用于这种形式的我。

作为来源,我使用从红外摄像机抓取的图像。这是示例图像: enter image description here如您所见,条形码几乎恰好位于图像的中心,如 Sean Owen推荐herehere .如果我以编程方式将此图像转换为黑白图像并裁剪图像以绑定(bind)条形码,周围只有一些空白,那么 ZXing 可以完美地处理这样的图像。但问题是真实的条形码可能变形很小,所以我的简单算法无法帮助我正确裁剪图像。更多条形码不能完全放置在图像的中心,冷有一点点不同的亮度。我看到线程提到 OpenCV 功能以找出特定对象在图像上的位置,例如 this one , 但他们已经很老了。从那以后有什么改变吗?在我的特定情况下,我还应该考虑编写 100% 可靠的数据矩阵解码器(和检测器)吗?

我决定提供由相应对象的 .toString() 文本输出制成的 LuminanceSource 和 BinaryBitmap 图像以供引用: http://s28.postimg.org/l53sykhx9/Binary_Bitmap.png enter image description here

和/65z0vlbpl/Luminance_Source.png(在同一个域)。他们看起来不错,可以解码了,但是解码出了什么问题。

毕竟这张图片和类似的图片可以用智能手机软件很好地识别和解码,我只是想获得相同的结果。

最佳答案

您需要以编程方式或手动方式从设置中启用它。

在 DecodeThread.java 类中,您可以看到启用数据矩阵编码的行

decodeFormats.addAll(DecodeFormatManager.DATA_MATRIX_FORMATS);

关于java - ZXing 库无法解码 Datamatrix 条码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22381421/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com