二维码(2-dimensional bar code),又称QR Code,是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。本教程将展示如何在原有黑白图片的基础上,给二维码添加一些色彩和动态效果,即给二维码换个皮肤。首先,简单了解一下二维码的基础知识。

二维码的基础知识

一个普通二维码的基本结构如下:

其中位置探测图像、定位图像和校验图形用于定位功能;格式信息表示二维码的纠错级别,分为L、M、Q、H;版本信息:从21x21(版本1),到177x177(版本40),每一版本符号比前一版本 每边增加4个模块;数据和纠错码字就是实际保存的二维码信息以及二维码变脏或破损用于修正的信息。

了解了二维码的基本结构后,下面开始用Python美化二维码。

1. 安装第三方库zxing和myqr

zxing用来识别二维码中的内容,myqr用来生成个性化的二维码,安装命令如下:

$ pip install zxing myqr

2. 二维码简单背景替换

二维码图片如下:

背景图片如下:

# 导入xzing和myqr

import zxing

from MyQR import myqr

import os

# 解析二维码中的内容

reader = zxing.BarCodeReader()

content = reader.decode("qrcode.png")

# 生成新的二维码

version, level, qr_name = myqr.run(

words=content.parsed,                   # 上面解析出来的二维码内容

version=1,                              # 设置容错率为最高

level='H',                              # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高

picture="luffy.png",                    # 要使用的图片

colorized=True,                         # 彩色二维码

contrast=1.0,                           #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0

brightness=1.0,                         #用来调节图片的亮度,其余用法和取值同上

save_name="qr_colorized.png",           # 保存文件的名字,格式可以是jpg,png,bmp,gif

save_dir=os.getcwd()                    #保存位置

)# 效果如下

下面再展示如何生成一个有动态效果的二维码。

3. 动态二维码

# 动图如下

# 生成动图二维码

version, level, qr_name = myqr.run(

words=content.parsed,                   # 上面解析出来的二维码内容

version=1,                              # 设置容错率为最高

level='H',                              # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高

picture="penguin.gif",                  # gif图片

colorized=True,                         # 彩色二维码

contrast=1.0,                           #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0

brightness=1.0,                         #用来调节图片的亮度,其余用法和取值同上

save_name="qrcode.gif",                 # 保存文件的名字,格式可以是jpg,png,bmp,gif

save_dir=os.getcwd()                    #保存位置

)

# 效果如下

参考资料:

https://coolshell.cn/articles/10590.html 二维码的生成细节和原理

https://github.com/sylnsfar/qrcode

https://github.com/dlenski/python-zxing

欢迎关注我的公众号“Python的乐趣”,原创技术文章第一时间推送。

python头像变二维码_学了Python之后,美化二维码如此简单相关推荐

  1. list python 访问 键值对_学完Python,我决定熬夜整理这篇总结...

    作者:Caso_卡索 来源:http://suo.im/5wzRqt 一.了解Python 1.Python之父 Guido Van Rossum,一位荷兰程序员,在1989年圣诞节编写了Pyhon语 ...

  2. python哪个方向工资高_学完Python的7大就业方向,哪个赚钱多?

    " 我想学Python,但是学完Python后都能干啥 ?" " 现在学Python,哪个方向最简单?哪个方向最吃香?" " -- " 相信 ...

  3. python哪个方向工资高_学完Python的7大就业方向,哪个行业才能赚钱多?

    " 我想学Python,但是学完Python后都能干啥 ?"" 现在学Python,哪个方向最简单?哪个方向最吃香 ?"相信不少Python的初学者,都会遇到上 ...

  4. python语言学完后学什么_学完Python语言可以做什么?发展前景怎么样?

    Python是一门高级的编程语言,其语言功能强大.语法简单.上手容易,因此受到了不少人的喜欢.而对于学习一门语言,很多人最看重的就是,学习之后可以做什么?有哪些岗位?薪资待遇如何?为大家详细的讲解一下 ...

  5. python主要做什么的_学了Python可以用来干什么呢?

    很多家长朋友可能会问,孩子学Python 可以用来干什么呢? 一般学Python可以往很多方面发展: 01 web应用开发 在国内,豆瓣一开始就使用Python作为web开发基础语言,知乎的整个架构也 ...

  6. 学了Python之后,美化二维码如此简单

    二维码(2-dimensional bar code),又称QR Code,是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的.本教程将展示如何在原有黑白图片的 ...

  7. python123题库-Python招聘需求猛增123%!学完Python工资多少?

    原标题:Python招聘需求猛增123%!学完Python工资多少? Java的热度紧随其后,在技术岗位招聘中占比21%.Python位列第三,在招聘广告中占比18%,自2014年以来受关注度显著提高 ...

  8. python头像变二维码_Python 图像处理库 pillow,提取支付宝和微信支付图片二维码...

    下面就是微信支付的收款二维码: 有时候我们仅仅只想要图片中间的方形二维码部分,为了提取出中间部分,我们可以使用图片处理软件,但图片处理软件不利于批处理,且学习也需要一定成本.本文将教你使用 Pytho ...

  9. python学了能干什么_学了python能干什么

    学了python能做些什么 1.WEB开发 Python拥有很多免费数据函数库.免费web网页模板系统.以及与web服务器进行交互的库,可以实现web开发,搭建web框架,目前比较有名气的Python ...

最新文章

  1. 一系列视频教程 收藏
  2. QCustomplot控件设备背景图片(Qt图片自适应控件大小),并且设置绘图区域颜色透明
  3. std::map 反向遍历
  4. static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
  5. I am beginning perl
  6. python处理完数据导入数据库_python 将execl测试数据导入数据库操作
  7. [html] html5点击返回键怎样不让它返回上一页?
  8. java的标量和聚合量_JVM 角度看代码优化
  9. android调用本地js文件上传,利用node.js android 实现文件上传
  10. 2020校招薪酬大比拼,PDD好猛!旧人没有新人香,你被倒挂了没?
  11. PHP正则匹配Html内容,并通过浏览器弹框下载Excel
  12. python 镜像_python测开平台使用dockerfile构建镜像
  13. win7安装电子专利CPC客户端以及专利文件的生成过程
  14. Gitbub 基本使用
  15. 511遇见易语言文本处理寻找文本
  16. 深度学习之神经网络基础(1)——感知器,S型神经元,梯度下降法,神经网络架构
  17. SQL中日期函数计算月初/月底/季末/年初/年底
  18. Processing 网格纹理制作(棋盘格)
  19. 计算机学院篮球队介绍,计算机与信息学院男子篮球队荣获“抗疫杯”校篮球赛冠军采访纪实...
  20. mysql 正则 查询 手机号,移动手机号码段 正则

热门文章

  1. Java秋招面经大合集
  2. android studio 编译Telegram源码
  3. telegram自动发信息_zabbix调用telegram机器人发送报警消息
  4. 单TYPE-C口 可支持快充又可传输USB2.0数据方案
  5. 2020 12-23 视觉组作业
  6. 关于系统升级将暂停人爱官网、人爱数字化平台、人爱软件平台的通知
  7. 王阳明没法帮你造出光刻机
  8. 复制微信号并打开微信_理解信号并不那么复杂
  9. 洛谷 P4188 [USACO18JAN]Lifeguards (线段树)
  10. docker部署es和kibana遇到的坑