【能力展现】魔改ZXING源码实现商业级DM码检测能力

简介: 【能力展现】魔改ZXING源码实现商业级DM码检测能力

什么是DM码

dataMatrix是一种二维码,原名datacode,由美国国际资料公司于1989年发明。dataMatrix二维码是一种矩阵式二维条码,其发明的构想是希望在较小的条码标签上存入更多的资料量。dataMatrix二维码的最小尺寸是目前所有条码中最小的,适用于小零件的标识,商品防伪,以及直接印刷在实体上。

dataMatrix码是一种矩阵式二维码,其最大特点就是密度高,尺寸小,储存信息量大,其最小尺寸是所有条码中最小的,可在仅仅25mm²的面积上编码30个数字,dataMatrix二维码采用复杂的纠错码技术,所以dataMatrix码抗污损能强,特别适用于小零件标识,商品防伪,电路标识等

ZXING条码库

ZXing-CPP是一个用C++实现的开源、多格式一维与二维条形码图像处理库。它最初是从Java ZXing库移植而来的,但经过进一步开发,现在在运行时和检测性能方面有了许多改进。它可以读取和写入多种格式的条形码。包括工业DM码、RQ码、以及其他常见的各种一维条形码。最新的ZXING2.2版本,支持旋转、反色、镜像、二值、多尺度解码。源码地址:

https://github.com/zxing-cpp/zxing-cpp

编译命令行

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -A x64
cmake --build build -j8 --config Release -A x64

深度定制

DM解码过程主要是由定位、预处理、解码这三个部分组成,定位的精准度直接决定了解码难度与解码速度,我们采用了传统图像分析与深度学习对象检测两种方式实现了精准的DM定位;预处理根据我们的大量数据积累发现三种手段最为有效分别是形态学、二值化、降噪滤波,所以在预处理阶段我们基于OpenCV实现了这三种预处理方式,大大提升了解码效率与精度;解码最主要的是要考虑容错性,很多商业级别的DM库容错性很强,这个方面ZXING有短板,通过我们大量数据测试与对ZXING源码的修改实现了这个部分提升,大大提升ZXING解码能力。

解码策略与对比测试

基于ZXING+OpenCV我们实现了三种不同的DM解码策略分别是快速、平衡、优化,提供了一套完整的界面参数与SDK,基于QT打包以后,测试对比一些在线收费的商业库的DM码解码能力,结果如下:

可以看到我们基于ZXING+OpenCV深度定制条码检测库DM码的能力已经完全超越了网上在线收费的商业库解码能力,对比Halcon、VP等主流工业级收费库,我们也是毫不孙色,在伯仲之间。

相关文章
|
XML C# 数据格式
掌握了在Windows平台上查看DLL依赖的方法
掌握了在Windows平台上查看DLL依赖的方法
2181 4
|
人工智能 算法 自动驾驶
使用OpenCV实现Halcon算法(2)形状匹配开源项目,shape_based_matching
使用OpenCV实现Halcon算法(2)形状匹配开源项目,shape_based_matching
5174 1
使用OpenCV实现Halcon算法(2)形状匹配开源项目,shape_based_matching
|
9月前
|
机器学习/深度学习
YOLOv11改进策略【损失函数篇】| 替换激活函数为Mish、PReLU、Hardswish、LeakyReLU、ReLU6
YOLOv11改进策略【损失函数篇】| 替换激活函数为Mish、PReLU、Hardswish、LeakyReLU、ReLU6
2367 4
|
算法 小程序 Java
图像中二维码的检测和定位
图像中二维码的检测和定位
1734 0
图像中二维码的检测和定位
|
机器学习/深度学习 人工智能 文字识别
ultralytics YOLO11 全新发布!(原理介绍+代码详见+结构框图)
本文详细介绍YOLO11,包括其全新特性、代码实现及结构框图,并提供如何使用NEU-DET数据集进行训练的指南。YOLO11在前代基础上引入了新功能和改进,如C3k2、C2PSA模块和更轻量级的分类检测头,显著提升了模型的性能和灵活性。文中还对比了YOLO11与YOLOv8的区别,并展示了训练过程和结果的可视化
19905 0
|
机器学习/深度学习 并行计算 PyTorch
ONNX 优化技巧:加速模型推理
【8月更文第27天】ONNX (Open Neural Network Exchange) 是一个开放格式,用于表示机器学习模型,使模型能够在多种框架之间进行转换。ONNX Runtime (ORT) 是一个高效的推理引擎,旨在加速模型的部署。本文将介绍如何使用 ONNX Runtime 和相关工具来优化模型的推理速度和资源消耗。
6635 4
|
机器学习/深度学习 算法 计算机视觉
python 图像相似性评估
相似性经常通过距离的方式来度量,但图像是高纬度的数据,而且图像相似性判断和人类的主观感受存在一定的关系。本文针对图像相似性,梳理了传统的经典算法和基于感知的深度学习方法【2月更文挑战第7天】
1386 1
|
机器学习/深度学习 算法 数据可视化
二维码及条形码智能检测软件(Python+YOLOv5深度学习模型+清新界面)
二维码及条形码智能检测软件(Python+YOLOv5深度学习模型+清新界面)
1761 0
[3D&Halcon] 三维点云匹配&无序抓取
[3D&Halcon] 三维点云匹配&无序抓取
1533 0
|
Android开发
ZXing源码解析二:掌握解码步骤2
ZXing源码解析二:掌握解码步骤