Qt 识别 DM 码
Qt 识别 DM 码
- 下载libdmtx
- 添加源码到Qt 工程
- 生成一维码/二维码
识别普通二维码网上库很多,这个库专门识别 DM码
下载libdmtx
https://github.com/dmtx/libdmtx
添加源码到Qt 工程
libdmtx.pri
INCLUDEPATH +=$$PWDHEADERS += \$$PWD/libdmtx/dmtx.h \$$PWD/libdmtx/dmtxstatic.hSOURCES += \$$PWD/libdmtx/dmtx.c \$$PWD/libdmtx/dmtxbytelist.c \$$PWD/libdmtx/dmtxdecode.c \$$PWD/libdmtx/dmtxdecodescheme.c \$$PWD/libdmtx/dmtxencode.c \$$PWD/libdmtx/dmtxencodeascii.c \$$PWD/libdmtx/dmtxencodebase256.c \$$PWD/libdmtx/dmtxencodec40textx12.c \$$PWD/libdmtx/dmtxencodeedifact.c \$$PWD/libdmtx/dmtxencodeoptimize.c \$$PWD/libdmtx/dmtxencodescheme.c \$$PWD/libdmtx/dmtxencodestream.c \$$PWD/libdmtx/dmtximage.c \$$PWD/libdmtx/dmtxmatrix3.c \$$PWD/libdmtx/dmtxmessage.c \$$PWD/libdmtx/dmtxplacemod.c \$$PWD/libdmtx/dmtxreedsol.c \$$PWD/libdmtx/dmtxregion.c \$$PWD/libdmtx/dmtxscangrid.c \$$PWD/libdmtx/dmtxsymbol.c \$$PWD/libdmtx/dmtxtime.c \$$PWD/libdmtx/dmtxvector2.c
使用
在.pro添加
include($$PWD/libdmtx.pri)
它给的例子是使用opencv的cv::mat,这里我们用QImage取代它
#include "libdmtx/dmtx.h"int QRCodeTool::dataMatrixDecode(const QString &imageName)
{QImage image;if(!image.load(imageName)){qWarning()<<"image load fail !!!";return -1;}if(image.format() == QImage::Format_Mono){image = image.convertToFormat(QImage::Format_ARGB32);qDebug()<<"image.format() "<<image.format();}int pack = DmtxPack32bppXRGB;switch(image.format()){case QImage::Format_ARGB32:pack = DmtxPack32bppXRGB;break;case QImage::Format_RGB32:pack = DmtxPack32bppXRGB;break;case QImage::Format_RGB888:pack = DmtxPack24bppRGB;break;case QImage::Format_Indexed8:pack = DmtxPack8bppK;break;case QImage::Format_Grayscale8:pack = DmtxPack8bppK;}int width = image.width();int height = image.height();DmtxImage* img = dmtxImageCreate(image.bits(), width, height, pack);//DmtxPack32bppRGBX,DmtxPack24bppRGBif (!img) {fprintf(stderr, "dmtx image create fail\n");return -1;}DmtxDecode *dec = dmtxDecodeCreate(img, 1);DmtxRegion *reg = Q_NULLPTR;DmtxMessage *msg = Q_NULLPTR;reg = dmtxRegionFindNext(dec, Q_NULLPTR);if (reg) //如果检测到存在DM码区域{msg = dmtxDecodeMatrixRegion(dec, reg, DmtxUndefined); //解析DM码if (msg) //如果DM码解析成功{std::cout << "DataMatrix Decode Result: " << msg->output << std::endl;dmtxMessageDestroy(&msg);}dmtxRegionDestroy(®);}dmtxDecodeDestroy(&dec);dmtxImageDestroy(&img);return 0;
}
生成一维码/二维码
https://blog.csdn.net/u012020854/article/details/113061811
Qt 识别 DM 码相关推荐
- Qt识别一维码、二维码软件分享
一.效果展示 二.实现方案 识别主要通过qzxing库来识别,库的下载和编译百度一下. 三.实现源码 mainwindow.h #ifndef MAINWINDOW_H #define MAINWIN ...
- Android园区部队人脸识别源码门禁项目讲解
Android园区部队人脸识别源码门禁项目讲解 这边搞人脸识别相关项目有一段时间,今天抽时间讲述一个经典的人脸识别项目:部队人脸识别门禁系统. 大家都知道部队对人员管理安全要求是相当高的,很多保密的技 ...
- mnist 数据集的识别源码解析
在基本跑完识别代码后,再来谈一谈自己对代码的理解: 1 前向传播过程文件(mnist_forward.py) 第一个函数get_weight(shape, regularizer); 定义了 ...
- 【Labview机器视觉】- USB摄像头识别一维码(条形码)- 学习记录
[Labview机器视觉]- USB摄像头识别一维码(条形码)- 学习记录 前言 一.读取USB摄像头 二.拍照并储存 三.读取一维码 后记 前言 本篇文章是关于Labview机器视觉学习的记录. 1 ...
- 使用pytorch模型学习框架easyocr模块识别行程码图片文字并使用Flask Web返回指定信息json字符串
关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 本章目录: 使用pytorch模型学习框架easyocr模块行识别程码图片 安装部署 实践使用 ...
- python识别麻将牌_图像识别之麻将识别源码( 三 )
图像识别之麻将识别源码( 三 ) 未经过允许不得转载,转载请联系我,如何联系,点我头像. 连载已经完结, 百度网盘测试APP下载地址: 提取码:pkbl 先见效果图,另外我已经上传到了抖音视频,想看N ...
- 【卷积神经网络CNN 实战案例 GoogleNet 实现手写数字识别 源码详解 深度学习 Pytorch笔记 B站刘二大人 (9.5/10)】
卷积神经网络CNN 实战案例 GoogleNet 实现手写数字识别 源码详解 深度学习 Pytorch笔记 B站刘二大人 (9.5/10) 在上一章已经完成了卷积神经网络的结构分析,并通过各个模块理解 ...
- Android安卓麻将识别源码Demo( 三)
Android安卓麻将识别源码Demo( 三) 未经过允许不得转载,转载请联系我,如何联系,点我头像. 连载已经完结, 百度网盘测试APP下载地址: 链接:https://pan.baidu.com ...
- 如何通过Excel数据批量生成DM码
DM码指的就是最常用的Data Matrix 二维码,Data Matrix二维码原名Data code,是由美国国际资料公司于1989年发明.DM码需要选择编码容量大的二维码,而Data Matri ...
- Qt C++ 源码 开发《打飞机游戏》
QT C++ 源码 开发打飞机游戏(账户登录.注册本地存储.添加音乐播放) 我是刚接触Qt一个多月的新手,有着想做一款打飞机类型游戏的心.在做之前我先在网上找过同类型的框架,也是通过自己的收集,自 己 ...
最新文章
- 4G EPS 的接口类型
- 001-Java命名规范
- 认真看看, 以后写 SQL 就爽多了:MyBatis 动态 SQL
- 使用JS动态生成表格数据和分页显示
- java 监听文件内容_java 监听文件内容变化
- ubuntu下载goalng-1.9
- JavaWeb过滤器的应用
- SGD、Adam优化器
- redis-实现排行榜
- Web安全之CSRF攻击
- vofuria的开发(1)
- 云服务器复现PointRCNN代码踩坑总结
- ride导入自定义python库
- Linux NAND FLASH驱动程序分析(mini2440)
- 音频怎么转换文件格式?教你轻松转换
- 2020NBA选秀大会结果出炉,开启.fans球星域名抢注!
- JAVA基础——基本类型
- java小游戏-java小游戏-飞机大战
- Python黑帽子--黑客与渗透测试编程之道 python3 实现代码
- Hive学习笔记(1)基本操作