Python生成+识别二维码
二维码(QR Code),使用平面图案存储信息,根据白0黑1的算机内部逻辑,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理,记录好所有数据后查询Unicode表,将二进制编码转换成十六进制的编码,最后找出该Unicode值相对应的文字。
Python识别二维码信息
1.下载二维码生成识别库
2.cmd输入pip路径,输入install+模块/包名,等待自动安装,也可以在pycharm里用Python解释器安装
3.我选用的是zxing解析库,还需要安装PIL,pillow和qrCode库。
一、生成二维码图片
import qrcode
import os
import sys
import timeQRImagePath = os.getcwd() + '/qrcode.png' #临时存储位置
qr = qrcode.QRCode( version=1,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=10,border=2,
) #设置图片格式data = input() #运行时输入数据
qr.add_data(data)
qr.make(fit=True)img = qr.make_image()
img.save('qrcode.png') #生成图片if sys.platform.find('darwin') >= 0:os.system('open %s' % QRImagePath)elif sys.platform.find('linux') >= 0:os.system('xdg-open %s' % QRImagePath)
else:os.system('call %s' % QRImagePath)time.sleep(5) #间隔5个单位
os.remove(QRImagePath) #删除图片
在输出栏输入字符串,按回车自动生成包含上述信息的二维码图片,可以用手机百度扫一扫查看。
二、解析二维码信息
将二维码放在指定位置,也可以在网上自己生成包含自己想要信息的二维码
这里我是在网上生成的是Hello,world!
import os import logging from PIL import Image import zxing #导入解析包 import randomlogger = logging.getLogger(__name__) #记录数据if not logger.handlers:logging.basicConfig(level = logging.INFO)DEBUG = (logging.getLevelName(logger.getEffectiveLevel()) == 'DEBUG') #记录调式过程# 在当前目录生成临时文件,规避java的路径问题 def ocr_qrcode_zxing(filename):img = Image.open(filename)ran = int(random.random() * 100000) #设置随机数据的大小img.save('%s%s.jpg' % (os.path.basename(filename).split('.')[0], ran))zx = zxing.BarCodeReader() #调用zxing二维码读取包data = ''zxdata = zx.decode('%s%s.jpg' % (os.path.basename(filename).split('.')[0], ran)) #图片解码# 删除临时文件os.remove('%s%s.jpg' % (os.path.basename(filename).split('.')[0], ran))if zxdata:logger.debug(u'zxing识别二维码:%s,内容: %s' % (filename, zxdata))data = zxdataelse:logger.error(u'识别zxing二维码出错:%s' % (filename))img.save('%s-zxing.jpg' % filename)return data #返回记录的内容if __name__ == '__main__':filename = r'G:\TestDemo\venv\二维码解析与生成\1536492016.png'# zxing二维码识别ltext = ocr_qrcode_zxing(filename) #将图片文件里的信息转码放到ltext里面logger.info(u'[%s]Zxing二维码识别:[%s]!!!' % (filename, ltext)) #记录文本信息print(ltext) #打印出二维码名字
在Pycharm输出栏里打印出二维码的信息
Python生成+识别二维码相关推荐
- python实现二维码识别软件_用 Python 生成 识别二维码
说到二维码大家一定不陌生,可以说现在二维码几乎渗透到了我们生活的各个角落,举例来说吧,我们到超市商场购物时扫描二维码付款,我们出行时乘坐公交地铁扫描二维码进站,我们到菜鸟驿站取件时扫描二维码取件,如果 ...
- python myqr制作二维码生成器_用Python生成动态二维码,只要5行代码,拥有你的个性二维码!...
原标题:用Python生成动态二维码,只要5行代码,拥有你的个性二维码! 前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. P ...
- Python生成个性二维码详解!
一.实验介绍: Python生成个性二维码:通过调用MyQR接口来实现生成个人所需二维码,并可设置二维码的大小/是否在现有图片的基础上生成/是否生成动态二维码在线实验:https://www.shiy ...
- python批量识别二维码图片_python批量操作生成二维码
二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型.生成二维码的方式有 ...
- Python生成动态二维码,运用神库:qrcode
一.介绍 1.1 二维码 二维码又称二维条码,常见的二维码为 QR Code,QR 全称 Quick Response.是一个近几年来移动设备上超流行的一种编码方式,在现在的生活中二维码随处可见.我们 ...
- Python 生成 QR 二维码
我们在很多时候都会考虑在程序的某个地方生成 QR 二维码. Python 已经为我们提供了一个比较便捷的库了,这个库就是 qrcode,库的地址为:qrcode · PyPI 你可以使用这个库来生成 ...
- python摄像头识别二维码_python使用pyzbar+opencv实现实时识别二维码--李渣渣(lizaza.cn)...
写东西就要写全面,前两天写了如何用python生成二维码,今天博主就给大家介绍一个识别二维码的方法. 1.安装本次开发所需要的库opencv 和pyzbar pip install pyzbar pi ...
- python生成动态二维码实例_python生成动态个性二维码(示例代码)
1 安装工具 2 生成普通二维码 3 带图片的二维码 4 动态 GIF 二维码 5 在Python程序中使用 一.安装 首先在python环境下运行, 打开cmd进入python27 进入script ...
- python生成二维码教程_使用Python生成个性二维码
任务目的 这一步会介绍通过Python中的MyQR包实现生成二维码的操作,包括生成普通二维码.带有静态图和动态图的二维码,同时也会对MyQR生成二维码的常用参数进行介绍说明. 任务步骤注:CVM适合用 ...
最新文章
- 网络安全系列之七 网站提权
- django--静态文件路径和模板路径配置
- VS2005工程的Device右边内容为空问题
- Html 教程 (1)简介
- [转]将Ubuntu默认的邮件客户端Evolution替换为Thunderbird
- phpcms下的邮箱设置
- Python学习之路--装饰器
- ROI坐标点提取(python)
- blender php,Blender 源码学习 --- Modifier
- web后端语言_web前端学习路线图_快速入门web前端学习路线图
- 切割html字符串,使用javascript如何分割字符串?
- QCC3024/QCC3020/QCC3034 对讲机(Intercom) 蓝牙耳机 替代CSR8670
- 软件分享,PicPick中文版 v5.1.4 滚动截图
- android10.0(Q) MTK 系统相机打开 USBCamera
- pygame实现 飞机大战-第三版-仿写版
- 专升本高数——第八章 多元函数积分学【学习笔记】
- 三十岁,真的是人生的分水岭吗
- 还在犹豫写不写博客吗?
- javaweb面向对象
- 【WB32库开发】第12章(上)TIM1高级定时器——PWM输入捕获
热门文章
- NFT 游戏互操作性:技术不是拦路虎
- 按下鼠标滚轮c语言,怎么用鼠标滚轮上下滚动替代键盘按钮(用C C# C++ 或者 按钮精灵语言都可以)只要能实现我箱要的功能就行...
- nacos的配置中心
- 【CIPS 2016】(13-14章)自动问答、机器翻译 (研究进展、现状趋势)
- excel设置只允许编辑指定单元格
- 84.前端工程师需要了解的知识点
- java synthetic_Java冷知识(三)编译器的花招之synthetic
- Android中资产管理器AssetManager的使用
- 创业 股份比例与合伙人
- 【SharePoint】通过Microsoft Graph Rest Api操作SharePoint时如何获取SharePoint站点的WebID, SiteID and ListID