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

相关文章
|
3月前
|
机器学习/深度学习 数据采集 人工智能
揭秘!47页文档拆解苹果智能,从架构、数据到训练和优化
【8月更文挑战第23天】苹果公司发布了一份47页的研究文档,深入解析了其在智能基础语言模型领域的探索与突破。文档揭示了苹果在此领域的雄厚实力,并分享了其独特的混合架构设计,该设计融合了Transformer与RNN的优势,显著提高了模型处理序列数据的效能与表现力。然而,这种架构也带来了诸如权重平衡与资源消耗等挑战。苹果利用海量、多样的高质量数据集训练模型,但确保数据质量及处理噪声仍需克服。此外,苹果采取了自监督与无监督学习相结合的高效训练策略,以增强模型的泛化与稳健性,但仍需解决预训练任务选择及超参数调优等问题。
145 66
|
12天前
|
存储 数据挖掘 API
购物平台数据抓取实战指南:从API到深度分析
本指南介绍如何通过API接口抓取淘宝、京东、拼多多等电商平台的数据,涵盖API选择、注册配置、数据抓取与处理、深度分析等内容,帮助企业和开发者挖掘数据价值,支持市场分析和决策制定。
|
3月前
|
存储 编解码 运维
体验报告:《告别资源瓶颈,函数计算驱动多媒体文件处理》解决方案
体验报告:《告别资源瓶颈,函数计算驱动多媒体文件处理》解决方案
94 30
|
3月前
|
编解码 弹性计算 运维
《告别资源瓶颈,函数计算驱动多媒体文件处理》解决方案深度测评
在当今数字化转型的浪潮中,多媒体内容的处理与分发成为企业面临的重大挑战之一。为了应对资源瓶颈,提高处理效率并降低成本,我深入体验了《告别资源瓶颈,函数计算驱动多媒体文件处理》这一创新解决方案,并就其部署过程、性能表现、成本效益及云产品体验进行了全面测评。
55 9
|
3月前
|
存储 编解码 人工智能
阿里云函数计算驱动多媒体文件处理解决方案深度体验
在当前的云计算时代,多媒体文件处理已成为众多应用场景中的关键一环,无论是视频转码、图片处理还是音频编辑,都对服务器的计算性能和存储能力提出了极高的要求。阿里云的函数计算(Function Compute,简称FC)作为一种无服务器计算服务,通过与对象存储OSS的紧密结合,为多媒体文件处理提供了高效、灵活且经济的解决方案。
59 3
|
5月前
|
机器学习/深度学习 人工智能 JSON
人工智能平台PAI产品使用合集之创建特征视图时遇到报错,该如何排查
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
5月前
|
机器学习/深度学习 消息中间件 人工智能
人工智能平台PAI产品使用合集之vLLM是否支持模型长度扩展
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
6月前
|
人工智能 监控 数据可视化
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】0. 一文全览Tracing功能,让你的程序运行过程一目了然
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】0. 一文全览Tracing功能,让你的程序运行过程一目了然
203 0
|
6月前
|
机器学习/深度学习 存储 数据库
视觉智能平台常见问题之一直显示视频异步处理如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
|
6月前
|
SQL 数据可视化 API
数据工程实践:从网络抓取到API调用,解析共享单车所需要的数据
在本篇文章中,将解释网络抓取和APIs如何协同工作,从百科上抓取城市数据,利用APIs获取天气数据,从而推断出与共享单车相关的信息。
57 0
数据工程实践:从网络抓取到API调用,解析共享单车所需要的数据