二维码(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生成+识别二维码相关推荐

  1. python实现二维码识别软件_用 Python 生成 识别二维码

    说到二维码大家一定不陌生,可以说现在二维码几乎渗透到了我们生活的各个角落,举例来说吧,我们到超市商场购物时扫描二维码付款,我们出行时乘坐公交地铁扫描二维码进站,我们到菜鸟驿站取件时扫描二维码取件,如果 ...

  2. python myqr制作二维码生成器_用Python生成动态二维码,只要5行代码,拥有你的个性二维码!...

    原标题:用Python生成动态二维码,只要5行代码,拥有你的个性二维码! 前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. P ...

  3. Python生成个性二维码详解!

    一.实验介绍: Python生成个性二维码:通过调用MyQR接口来实现生成个人所需二维码,并可设置二维码的大小/是否在现有图片的基础上生成/是否生成动态二维码在线实验:https://www.shiy ...

  4. python批量识别二维码图片_python批量操作生成二维码

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

  5. Python生成动态二维码,运用神库:qrcode

    一.介绍 1.1 二维码 二维码又称二维条码,常见的二维码为 QR Code,QR 全称 Quick Response.是一个近几年来移动设备上超流行的一种编码方式,在现在的生活中二维码随处可见.我们 ...

  6. Python 生成 QR 二维码

    我们在很多时候都会考虑在程序的某个地方生成 QR 二维码. Python 已经为我们提供了一个比较便捷的库了,这个库就是 qrcode,库的地址为:qrcode · PyPI 你可以使用这个库来生成 ...

  7. python摄像头识别二维码_python使用pyzbar+opencv实现实时识别二维码--李渣渣(lizaza.cn)...

    写东西就要写全面,前两天写了如何用python生成二维码,今天博主就给大家介绍一个识别二维码的方法. 1.安装本次开发所需要的库opencv 和pyzbar pip install pyzbar pi ...

  8. python生成动态二维码实例_python生成动态个性二维码(示例代码)

    1 安装工具 2 生成普通二维码 3 带图片的二维码 4 动态 GIF 二维码 5 在Python程序中使用 一.安装 首先在python环境下运行, 打开cmd进入python27 进入script ...

  9. python生成二维码教程_使用Python生成个性二维码

    任务目的 这一步会介绍通过Python中的MyQR包实现生成二维码的操作,包括生成普通二维码.带有静态图和动态图的二维码,同时也会对MyQR生成二维码的常用参数进行介绍说明. 任务步骤注:CVM适合用 ...

最新文章

  1. 网络安全系列之七 网站提权
  2. django--静态文件路径和模板路径配置
  3. VS2005工程的Device右边内容为空问题
  4. Html 教程 (1)简介
  5. [转]将Ubuntu默认的邮件客户端Evolution替换为Thunderbird
  6. phpcms下的邮箱设置
  7. Python学习之路--装饰器
  8. ROI坐标点提取(python)
  9. blender php,Blender 源码学习 --- Modifier
  10. web后端语言_web前端学习路线图_快速入门web前端学习路线图
  11. 切割html字符串,使用javascript如何分割字符串?
  12. QCC3024/QCC3020/QCC3034 对讲机(Intercom) 蓝牙耳机 替代CSR8670
  13. 软件分享,PicPick中文版 v5.1.4 滚动截图
  14. android10.0(Q) MTK 系统相机打开 USBCamera
  15. pygame实现 飞机大战-第三版-仿写版
  16. 专升本高数——第八章 多元函数积分学【学习笔记】
  17. 三十岁,真的是人生的分水岭吗
  18. 还在犹豫写不写博客吗?
  19. javaweb面向对象
  20. 【WB32库开发】第12章(上)TIM1高级定时器——PWM输入捕获

热门文章

  1. NFT 游戏互操作性:技术不是拦路虎
  2. 按下鼠标滚轮c语言,怎么用鼠标滚轮上下滚动替代键盘按钮(用C C# C++ 或者 按钮精灵语言都可以)只要能实现我箱要的功能就行...
  3. nacos的配置中心
  4. 【CIPS 2016】(13-14章)自动问答、机器翻译 (研究进展、现状趋势)
  5. excel设置只允许编辑指定单元格
  6. 84.前端工程师需要了解的知识点
  7. java synthetic_Java冷知识(三)编译器的花招之synthetic
  8. Android中资产管理器AssetManager的使用
  9. 创业 股份比例与合伙人
  10. 【SharePoint】通过Microsoft Graph Rest Api操作SharePoint时如何获取SharePoint站点的WebID, SiteID and ListID