gpt4 book ai didi

android - 如何从移动应用程序扫描 DPM 数据矩阵

转载 作者:搜寻专家 更新时间:2023-11-01 09:28:47 26 4
gpt4 key购买 nike

我正在尝试利用 ZXing在 Android 应用程序中扫描 data matrixes .到目前为止,我已经成功打印了数据矩阵,例如 this :

enter image description here

但其他激光打印或打洞的数据矩阵有circle-looking标记而不是方形标记。

enter image description here

这些都存在问题。我发现唯一能够扫描它的应用程序是 QRDroid .这article说 QRDroid 使用 ZXing 所以我在想如果他们可以,一定有办法。不幸的是,QRDroid 不是一个开源项目,所以我不知道怎么做。

当然有可能 QRDroid 在尝试读取数据矩阵之前使用一种算法以某种方式将圆圈标记转换为方形标记。我对 Java 中的图像处理一无所知,所以我无法想象这是如何完成的。

我的问题是是否有一种方法可以调整 ZXing 来读取这种类型的数据矩阵,或者是否有任何库可以用来操作图像以使其可被 ZXing 读取。

编辑:

如果我使用图像编辑器 - 例如我用了https://www.befunky.com-并应用 10 的模糊,然后它看起来像一个普通的打印数据矩阵并且我的扫描有效。我应该如何在我的 Android 应用程序中执行此操作?

enter image description here

最佳答案

经过一些研究,我发现这种类型的标记实际上并不被视为标准数据矩阵,而是被制造业称为 DPM, which stands for "Direct Part Marking"。 , 虽然我读过 other sources call it "Dot Peen Marking""Dot Peen Matrix"

我在已经存在的 issue in the Zxing 上发布了同样的问题存储库,这是我得到的回复:

The problem is the WhiteRectDetector. It finds a white rectangle inside the code, similar to this issue. If you rotate the image slightly (say 10°) or you blur it as you did or you did a suitably sized pixel dilation followed by an erosion, you'll get something that should (mostly) be detectable.

修改 WhiteRectDetector,以允许使用点而不是正方形,由于截止日期的原因,这对我来说并不是一个真正的选择,所以我最终从 Zxing 切换到 Scandit ,即 proven to be able to scan this .

Scandit 是专有库,但我还没有真正找到任何其他替代品。不过,您可以获得试用许可证。对于那些想要尝试扫描 DPM 的人来说,关于如何启用此符号体系扫描的文档不是很清楚,所以这里是诀窍。

在安卓中:

settings.getSymbologySettings(Barcode.SYMBOLOGY_DATA_MATRIX)
.setExtensionEnabled("direct_part_marking_mode", true);

在 Objective-C 中:

[[settings settingsForSymbology:SBSSymbologyDatamatrix] 
setExtension:@"direct_part_marking_mode" enabled:YES];

关于android - 如何从移动应用程序扫描 DPM 数据矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48908115/

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