若该文为原创文章,未经允许不得转载
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/96131346

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...(点击传送门)

Qt开发专栏:三方库开发技术(点击传送门)

前话

项目需要,使用到二维码的识别和输出。

Demo

运行

输入字符,点击生成二维码

点击添加生成的二维码图片(1.jpg)

点击识别

载入条码,并识别条码

载入其他不规则条码,识别

Demo体验下载地址

https://download.csdn.net/download/qq21497936/11365592

QQ群:1047134658(点击“文件”搜索“二维码”,群内与博文同步更新所有可开源的源码模板)

二维码

简介

二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。

二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。

涉及应用功能

  • 信息获取(名片、地图、WIFI密码、资料)
  • 网站跳转(跳转到微博、手机网站、网站)
  • 广告推送(用户扫码,直接浏览商家推送的视频、音频广告)
  • 手机电商(用户扫码、手机直接购物下单)
  • 防伪溯源(用户扫码、即可查看生产地;同时后台可以获取最终消费地)
  • 优惠促销(用户扫码,下载电子优惠券,抽奖)
  • 会员管理(用户手机上获取电子会员信息、VIP服务)
  • 手机支付(扫描商品二维码,通过银行或第三方支付提供的手机端通道完成支付)

一维条形码与二维码

多行组成的条形码,不需要连接一个数据库,本身可存储大量数据,应用于:医院、驾驶证、物料管理、货物运输,当条形码受一定破坏时,错误纠正能使条形码能正确解码二维码。它是一个多行、连续性、可变长、包含大量数据的符号标识。每个条形码有3 - 90行,每一行有一个起始部分、数据部分、终止部分。它的字符集包括所有128个字符,最大数据含量是1850个字符。

一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准。

一维条形码的应用可以提高信息录入的速度,减少差错率,但是一维条形码也存在一些不足之处:

  • 数据容量较小: 30个字符左右,只能包含字母和数字;
  • 条形码尺寸相对较大(空间利用率较低);
  • 条形码遭到损坏后便不能阅读;

二维码种类

堆叠式/行排式

堆叠式/行排式二维条码(又称堆积式,二维条码或层排式二维条码),其编码原理是建立在一维条码基础之上,按需要堆积成二行或多行。它在编码设计、校验原理、识读方式等方面继承了一维条码的一些特点,识读设备与条码印刷与一维条码技术兼容。但由于行数的增加,需要对行进行判定,其译码算法与软件也不完全相同于一维条码。有代表性的行排式二维条码有:Code 16K、Code 49、PDF417、MicroPDF417 等。

矩阵式二维码

矩阵式二维条码(又称棋盘式二维)它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。矩阵式二维条码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。具有代表性的矩阵式二维条码有:Code One、MaxiCode、QR Code、 Data Matrix、Han Xin Code、Grid Matrix 等。

常用的码制有:PDF417二维条码、Datamatrix二维条码、QR Code、Code 49、Code 16K、Code one等,除了这些常见的二维条码之外,还有Vericode条码、Maxicode条码、CP条码、Codablock F条码、田字码、 Ultracode条码及Aztec条码。

Libqrencode开源库:生成二维码

(注意:qrencode库主要是用于生成二维码,不能识别二维码)

Libqrencode是一个快速而紧凑的库,用于编码QR码符号中的数据,这是一种2D符号系统,可以通过便携式终端扫描,例如带有CCD的移动电话。QR码的容量高达7000位或4000个字符,具有很高的鲁棒性。

Libqrencode接受字符串或数据块列表,然后在QR码符号中编码为位图数组。当其他QR Code应用程序生成图像文件时,使用libqrencode允许应用程序直接从原始位图数据呈现QR Code符号。该库还包含一个命令行实用程序,以各种格式输出QR Code图像。

Libqrencode接受字符串或数据块列表,然后在QR码符号中编码为位图数组。当其他QR Code应用程序生成图像文件时,使用libqrencode允许应用程序直接从原始位图数据呈现QR Code符号。该库还包含一个命令行实用程序,以各种格式输出QR Code图像。

下载

官网下载地址:https://github.com/fukuchi/libqrencode

编译Libqrencode

步骤一:解压重命名

步骤二:CMake配置(Qt5.9.3 mingw32)

步骤三:命令行编译

Qt生成二维码

查看源码自带的例子,学习使用QrCode库。

QZxing开源库:识别条码和二维码

QZxing 是对 zxing 的一个封装,用于在 Qt 程序中加入条形码和二维码识别的功能。Zxing库是一个识别条形码、二维码库,但是是java开发的。

下载

github下载地址:https://github.com/ruisebastiao/QZXing

编译QZxing

步骤一:解压重命名

步骤二:使用qt打开工程

步骤三:编译release

Qt识别二维码

入坑

入坑一:Libqrencode库数据格式解析网上无资料

解决方法:

查看源码

若该文为原创文章,未经允许不得转载
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/96131346

Qt三方库开发技术:二维码生成、识别以及条码识别相关推荐

  1. 微信开发之 二维码生成类库

    最近weiphp 二次开真的有点累,漏洞百出.代码维护代价有点高. <?php /*** Created by PhpStorm.* User: bin* Date: 15-1-16* Time ...

  2. vue二维码生成、打印及识别

    生成二维码 引入QRCode模块 npm install --save qrcode import QRCode from 'qrcode'; 页面代码 批量创建二维码及打印,所以加了个v-for & ...

  3. HBuilder webApp开发(十三)二维码扫描

    好久没有写<HBuilder webApp App开发>这个专栏了.这周的这两天暂时比骄没事,就对着官方文档barcode写了这个二维码扫描的Demo. 以前做原生开发的时候,关于二维码扫 ...

  4. [2021]Linux下C语言qrencode二维码生成库的基本使用和ARM开发板移植

    文章目录 一.前言 二.准备所用到的环境以及版本信息 1.Ubuntu和内核版本 2.gcc和g++版本 3.交叉编译gcc和g++版本 4.开发板信息 三.开发环境编译&安装qrencode ...

  5. Python基于pyzbar、opencv、pyqt5库,实现二维码识别 gui 应用程序开发

    二维码组成结构基本介绍 二维码识别背景介绍 视觉的方法可以用来估计位置和姿态.最容易想到的是在目标上布置多个容易识别的特征,这样使用opencv相机标定和.相机畸变矫正.轮廓提取.solvepnp来获 ...

  6. Qt开发二维码工具QR二维码生成和识别支持批量生成免费使用

    简介 Qt编写,使用第三方库libqrencode和QZxing,支持QR二维码生成和识别,二维码可批量生成,支持中文,还可以设置二维码大小颜色.免费使用,下载链接在本文底部,拿走不用谢,假如您慷慨大 ...

  7. Java 快速开发二维码生成服务

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「码农小胖哥」 1. 前言 不知道从什么 ...

  8. Android | 教你如何开发扫二维码功能

    华为机器学习服务(ML Kit) 提供机器学习套件,为开发者应用机器学习能力开发各类应用提供优质体验.得益于华为长期技术积累,ML Kit 为开发者提供简单易用.服务多样.技术领先的机器学习能力,助力 ...

  9. 推荐一个开源的 .NET 二维码生成库

    你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用! 介绍 QrCodeGenerator 是开源的 .NET 二维码生成库,它支持从文本字符串和字节数组 ...

  10. 会议指南二维码生成_包装和准备技术会议的指南

    会议指南二维码生成 北半球的春天如雨后春笋般涌现,这意味着技术会议季节即将来临. LinuxFest Northwest , OSCON , OpenStack Summit , Write Docs ...

最新文章

  1. linux rm 不释放_Linux解决rm 删除大文件后 磁盘空间无法释放的问题
  2. Velocity模板(VM)语言介绍
  3. django filter查询多选_Django:使用filter的pk进行多值查询操作
  4. php5.6.16,OSX 10.11 中重新编译PHP5.6.16问题
  5. LeetCode 1711. 大餐计数(map计数 + 二分查找)
  6. MyBatis 数据持久层
  7. 可口可乐在人工智能和大数据领域的7项应用
  8. 两条信号之间加电容_信号完整性SI读书笔记之一
  9. Java获取当前Linux系统ip,cpu和内存使用情况,进程信息并保存至数据库
  10. pandas入门(3)
  11. call_user_func_array函数详解
  12. ancestor descendant选择器
  13. 实操教程:黑客如何瞄准和入侵网站的
  14. LTE的CQI及下行码率计算
  15. 七大江河水系--珠江
  16. git rebase操作
  17. 再见2020,你好2021(2020年度总结)
  18. 大数据在生活中有哪些应用举例?大数据好找工作吗?
  19. 使用Termux在安卓手机上搭建本地Git服务器
  20. Asciinema终端SSH录屏神器使用

热门文章

  1. 【码上实战】【立体匹配系列】经典AD-Census: (5)扫描线优化
  2. vue在filters中使用sort()无限循环踩坑实践
  3. Archlinux连接HDMI分屏后没声音
  4. 深夜12点,头秃的那家伙,还在用 CSS 处理图片上的文字
  5. 【理财】富爸爸穷爸爸
  6. Python中的图像增强
  7. linux 临界区保护方法,操作系统-信号量临界区保护,
  8. Python—Scrapy爬取京东商城
  9. java rrd_java利用rrd4j做服务监控的图片
  10. 如何在 vuepress 中添加博客导流公众号-即输入验证码解锁全站文章