【能力展现】魔改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等主流工业级收费库,我们也是毫不孙色,在伯仲之间。

相关文章
|
计算机视觉
微信开源二维码检测识别-实时检测识别-opencv-Python
微信开源二维码检测识别-实时检测识别-opencv-Python
|
计算机视觉
OpenCV(三十八):二维码检测
OpenCV(三十八):二维码检测
1107 0
|
人工智能 算法 自动驾驶
使用OpenCV实现Halcon算法(2)形状匹配开源项目,shape_based_matching
使用OpenCV实现Halcon算法(2)形状匹配开源项目,shape_based_matching
5935 1
使用OpenCV实现Halcon算法(2)形状匹配开源项目,shape_based_matching
|
11月前
|
机器学习/深度学习 数据可视化 数据挖掘
基于YOLOv8的二维码QR码识别项目
本项目集成了 YOLOv8 二维码识别模型 与 PyQt5 图形界面工具,实现了包括图片、文件夹、视频与摄像头等多种输入方式的二维码自动检测功能。配套完整源码与训练流程说明,让你开箱即用、快速部署自己的二维码识别系统。适用于商场扫码识别、仓储物流标签、票务系统等多种实际应用场景。
基于YOLOv8的二维码QR码识别项目
|
9月前
|
机器学习/深度学习 传感器 编解码
DINOv3上手指南:改变视觉模型使用方式,一个模型搞定分割、检测、深度估计
DINOv3是Meta推出的自监督视觉模型,支持冻结主干、仅训练轻量任务头即可在分割、深度估计等任务上达到SOTA,极大降低训练成本。其密集特征质量优异,适用于遥感、工业检测等多领域,真正实现“一个模型走天下”。
5741 2
DINOv3上手指南:改变视觉模型使用方式,一个模型搞定分割、检测、深度估计
|
机器学习/深度学习 文字识别 算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
8402 2
|
算法 小程序 Java
图像中二维码的检测和定位
图像中二维码的检测和定位
2210 0
图像中二维码的检测和定位
|
存储 数据挖掘
[Halcon&识别] 二维码识别
[Halcon&识别] 二维码识别
2278 0
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
3392 0