如何用python做二维码识别软件_Python什么都能做(一)用 Python 做一个扫码工具...
Python实现扫码工具
二维码作为一种信息传递的工具,在当今社会发挥了重要作用。从手机用户登录到手机支付,生活的各个角落都能看到二维码的存在。那你知道二维码是怎么解析的吗?有想过自己实现一个扫码工具吗?如果想的话就继续看下去吧!
一、案例分析
我们先思考一下,实现扫码工具需要写什么操作。在扫码过程中我们需要打开摄像头,如何由手机或者电脑识别二维码。所以我们要实现两个关键的步骤:调用摄像头、识别二维码。
这两个操作分别对应了两个模块,它们就是opencv和pyzbar,其中opencv是英特尔的计算机视觉处理模块,而pyzbar则是用于解析二维码的模块。
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1156465813
二、环境
环境包括python环境和模块。我的环境如下:
系统:Windows 10
python:python 3.7.9
opencv:opencv-python-4.4.0.44
pyzbar:pyzbar-0.1.8
模块安装很简单,我们直接用pip安装,先安装opencv模块:
pip install opencv-python
然后是pyzbar模块:
pip install pyzbar
在未指定安装版本时,系统会自动安装最新版。安装好模块后,我们就可以来实现扫码工具了。
三、识别二维码
有了pyzbar模块后,我们识别二维码的工作就非常简单了,首先需要准备一张二维码。有了二维码后就可以开始解析了,具体步骤如下:
1.读取二维码图片2.解析二维码中的数据3.在解析出的数据中提取data信息
实现代码如下:
在上面我们解析了两次,第一次获取了一个data,我们先来看看data长什么样子:
可以看到是一个列表,而且列表的第一个数据包含url的信息。所以我们需要通过下面的代码再次解析:
这样我们就能拿到二维码中包含的信息了。为了方便后续使用,可以将上面的代码写成一个函数:
接下来我们再看看如何调用摄像头。
四、调用摄像头
在opencv中提供了一个VideoCapture类用于读取视频,同样可以用来调用摄像头。调用摄像头的步骤如下:
1.调用摄像头2.循环3.在循环内读取一帧画面4.显示当前读取的画面5.等待键盘输入6.判断是否按退出键q7.按了退出键则退出,没按则继续循环
具体代码如下:
你们可以自己尝试运行一下上面的代码,效果就像是打开了自己的前置摄像头。
现在调用了摄像头,我们可以把两部分的代码结合起来。
五、实现扫码工具
我们扫码工具的主体部分是调用摄像头的操作,我们需要对读取到的每一帧画面进行解析,当解析出结果后输出并退出。具体代码如下:
上面我们把scan_qrcode函数修改了一下,从原来的传入图片路径到直接传入图片对象。因为通过VideoCapture对象获取的图片帧和通过cv2.imread获取的图片是同一数据类型。
上面关键步骤在解析二维码的操作。首先定义一个text,因为解析过程中如果没有二维码会出现异常,所以用try-except语句处理。如何通过if判断text的内容,只有当我们真正解析到了数据,程序才会输出结果,并退出程序。
到这里,我们就实现了扫码工具。
以下内容无用,为本篇博客被搜索引擎抓取使用
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
python 是干什么的 零基础学 python 要多久 python 为什么叫爬虫
python 爬虫菜鸟教程 python 爬虫万能代码 python 爬虫怎么挣钱
python 基础教程 网络爬虫 python python 爬虫经典例子
python 爬虫
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
以上内容无用,为本篇博客被搜索引擎抓取使用
如何用python做二维码识别软件_Python什么都能做(一)用 Python 做一个扫码工具...相关推荐
- python求二维数组各行最大值_python+numpy按行求一个二维数组的最大值方法
问题描述: 给定一个二维数组,求每一行的最大值 返回一个列向量 如: 给定数组[1,2,3:4,5,3] 返回[3:5] import numpy as np x = np.array([[1,2,3 ...
- python创建二维数组的方法_Python创建二维数组的正确姿势
本文原创发布于微信公众号「极客猴」,欢迎关注第一时间获取更多原创分享 List (列表)是 Python 中最基本的数据结构.在用法上,它有点类似数组,因为每个列表都有一个下标,下标从 0 开始.因此 ...
- Python什么都能做(一)用 Python 做一个扫码工具
Python实现扫码工具 二维码作为一种信息传递的工具,在当今社会发挥了重要作用.从手机用户登录到手机支付,生活的各个角落都能看到二维码的存在.那你知道二维码是怎么解析的吗?有想过自己实现一个扫码工具 ...
- python实战扫码下载_实例:用 Python 做一个扫码工具
原标题:实例:用 Python 做一个扫码工具 来自公众号: 新建文件夹X 链接:https://blog.csdn.net/ZackSock/article/details/108610957Pyt ...
- 二维条码识别系统设计原理
首 页 条码控件 条码技术 条码新闻 合作伙伴 联系我们 常见问题 电话:010-84827961 当前位置:条形码控件网 > 条形码控件技术文章 > >正文 二维条码识别系 ...
- python解析二维码_Python如何识别二维码
最近呢,知乎发表了一个报告说,安全防护系统全面升级了(是小管家说的). 现在内容中的二维码会被自动替换为相应的链接,并缀以"(二维码自动识别)"字样. 今天就来看,如何用Pytho ...
- 如何用Python生成二维码
使用Python做二维码需要一个非常简单的模块--MyQR,这个模块相比于QRcode更加简单,功能也是特别强大,下面介绍一种生成简单二维码的方式. 安装方式 利用pip安装. 使用方式 首先导入. ...
- python可以做二维码吗_Python制作二维码真的这么简单?
今天在最大的交友社区GitHub上发现了一个比较有意思的项目,无论你是什么操作系统,只需要一行代码就可以很方便的生成二维码.包括普通二维码.艺术二维码(黑白/彩色).动态gif二维码都可以制作,用法比 ...
- 使用python开发二维码识别功能、Docker镜像安装opencv-contrib-python、
使用python开发二维码识别功能.Docker镜像安装opencv-contrib-python. 背景 开发二维码识别功能,使用到开源三方库opencv-contrib-python. 在使用do ...
最新文章
- 大学计算机html,编程基础(C+VB+HTML)(辅)19级计算机
- Linux命令应用大词典-第1章 登录、退出、关机和重启
- [转载]Oracle ltrim() 函数用法
- VS.NET 2005 BETA 2 NOT DELAYED?
- 如何将手机投屏到电脑_使用向日葵软件如何将手机投屏到电脑上
- Springmvc与jasperreport结合生成报表的一种方法
- 列表: ul/ol/dl - bootStrap4常用CSS笔记
- redis客户端工具redis-insight推荐
- 用c#实现 catia插件speos的部分功能
- iOS Charles(青花瓷)安装
- 如何申请美国、加拿大、英国的电话号码
- 中国5级行政区域MySQL数据库库
- 一场精彩的比赛——2019年ACM新生赛
- vs+qt 设置应用程序图标
- wannier拟合能带总是拟合不上_中科大PRL:面内磁化的本征量子反常霍尔效应:搜索规则和材料预测...
- 人机对话_javaweb_ 一对一聊天系统
- 辐射度算法(radiosity)原理
- 泪目:我看不清你的脸,可我知道你在守护我平安
- 构建 WCF 路由器 part 2 from MSDN
- Cannot assign requested address解决办法