你还在@微信官方?聊聊Python生成你想要的微信头像


Posted in Python onSeptember 25, 2019

今天早上@微信官方突然火了,

一句“请给我一面国旗@微信官方”

刷遍朋友圈。

到底是什么呢?

我们先来看看朋友圈

你还在@微信官方?聊聊Python生成你想要的微信头像
你还在@微信官方?聊聊Python生成你想要的微信头像

当然,这只是零零散散的部分截图,

看到这些,一股热血洒了出来,

我兴致勃勃的准备发朋友圈,

请神仙微信官方给我也换个头像,

就在这时,我手贱,

一不小心刷了下朋友圈,

结果:

你还在@微信官方?聊聊Python生成你想要的微信头像

我,好(lei)高(ge)兴(qu)啊!

原来是套路啊,

后来仔细想想,也是,

微信官方

哪有那么多时间给我换头像。

当然,

这也激发了我的程序员思维,

别人能做,我为啥不能?

说干就干,拿起Python就往前冲。

需求/过程/代码

需求:

原始需求

给自己的微信头像

加个国旗或者70的logo

(喜庆建国70周年)

解析:好像在和微信交互,太难了

简化需求

1.给图片加上国旗或者70的logo

2.然后手动换头像

解析:要抠图,在图片指定位置加小图片,好像也比较难

简化需求+1

1.朋友圈随便找两个已经换好头像的好友,下载他们的图像

2.抠图工具去除图像中人像部分,弄出基本模型

3.合并原头像与我们扣图生成的模型

4.手动换微信图片

解析:理论上没有问题

过程/代码

Step 1

1.朋友圈随便找两个已经换好头像的好友,下载他们的图像

你还在@微信官方?聊聊Python生成你想要的微信头像

太简单了,打开朋友圈,看看那个人在@微信官方,头像还换过来了,对,就是他在骗你,斗他。

Step 2

2.抠图工具去除图像中人像部分,弄出基本模型

嗯~我不太会用PS,

你还在@微信官方?聊聊Python生成你想要的微信头像

这是我抠出来的!惨不忍睹~

你还在@微信官方?聊聊Python生成你想要的微信头像

不过,我有个精通PS的女朋友呀~

你还在@微信官方?聊聊Python生成你想要的微信头像

还是女朋友厉害,三下两下就好了~夸夸~

获取文件素材,请在微信公众号回复:国庆

Step 3

3.合并原头像与我们扣图生成的模型

你还在@微信官方?聊聊Python生成你想要的微信头像

这个步骤是个漫长的过程,

我发了社群看看有没有了解图像处理的朋友,

发了朋友圈看看有没有志同道合的朋友~

有些人回复了,

确没有解决问题!

你还在@微信官方?聊聊Python生成你想要的微信头像
你还在@微信官方?聊聊Python生成你想要的微信头像

网上也找了一堆,没有对口的,

在肚子叫声渐渐大起来时,

我深思:我的需求难吗?我的需求奇葩吗?

就在这时候,

读者朋友提供了一个他之前做的

换证件照底色的代码样例,

我看了一下处理方法,试了一下,

OK!

这里特别感谢:Dime同学的帮助。

你还在@微信官方?聊聊Python生成你想要的微信头像
你还在@微信官方?聊聊Python生成你想要的微信头像

具体代码:

# -*- coding: utf-8 -*-
"""
@author = 老表
@date = 2019-09-24
@个人公众号 : 简说Python
"""
# 注意:print_function的导入必须在Image之前,否则会报错
from __future__ import print_function
from PIL import Image
"""
需求:给图片右下角添加中国国旗
欢迎国庆,喜庆70周年
"""
class Picture:
 def handle_picture(self):
  # 打开图片模版
  img1 = Image.open("./img/70.jpg")
  img1 = img1.convert('RGBA')
  # 打开原来的微信头像
  img2 = Image.open("./img/old.jpg")
  img2 = img2.convert('RGBA')
  if img2.size != (700, 700): # 判断图片大小,统一改为 700*700
   # 修改图片尺寸
   size = (700, 700)
   img2.thumbnail(size)
   img2.show()
  # 图片粘贴选区
  loc = (0, 0, 700, 700)
  # 将img1 粘贴到 img2
  img2.paste(img1, loc, img1)
  img2.show() # 显示图片
  img2.save("new.png") # 保存生成的头像图片
t0 = Picture()
t0.handle_picture()

运行:

你还在@微信官方?聊聊Python生成你想要的微信头像

Step 4

4.手动换微信图片

你还在@微信官方?聊聊Python生成你想要的微信头像后话

等我写完代码,

帮几个朋友换了头像,

再去看朋友圈,看消息,是这样的:

你还在@微信官方?聊聊Python生成你想要的微信头像
你还在@微信官方?聊聊Python生成你想要的微信头像
你还在@微信官方?聊聊Python生成你想要的微信头像

哈哈哈哈,太有意思了吧~

当然,也出现了些灰产:

你还在@微信官方?聊聊Python生成你想要的微信头像
你还在@微信官方?聊聊Python生成你想要的微信头像

当然,也有明白人:

你还在@微信官方?聊聊Python生成你想要的微信头像

最后附上《中华人民共和国国旗法》第十八条,

望各位悉知。

你还在@微信官方?聊聊Python生成你想要的微信头像

总结

以上所述是小编给大家介绍的你还在@微信官方?聊聊Python生成你想要的微信头像,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python读文件保存到字典,修改字典并写入新文件的实例
Apr 23 Python
Python处理菜单消息操作示例【基于win32ui模块】
May 09 Python
python矩阵的转置和逆转实例
Dec 12 Python
Python中的heapq模块源码详析
Jan 08 Python
Django框架设置cookies与获取cookies操作详解
May 27 Python
django 中的聚合函数,分组函数,F 查询,Q查询
Jul 25 Python
自定义django admin model表单提交的例子
Aug 23 Python
python绘制彩虹图
Dec 16 Python
python多线程使用方法实例详解
Dec 30 Python
pandas dataframe 中的explode函数用法详解
May 18 Python
python+selenium爬取微博热搜存入Mysql的实现方法
Jan 27 Python
Python 语言实现六大查找算法
Jun 30 Python
python并发爬虫实用工具tomorrow实用解析
Sep 25 #Python
Python帮你微信头像任意添加装饰别再@微信官方了
Sep 25 #Python
python异步编程 使用yield from过程解析
Sep 25 #Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 #Python
Python缓存技术实现过程详解
Sep 25 #Python
Laravel框架表单验证格式化输出的方法
Sep 25 #Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
Sep 25 #Python
You might like
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
PHP多文件上传类实例
2015/03/07 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
2007/03/06 Javascript
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
在JavaScript中处理数组之reverse()方法的使用
2015/06/09 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
使用ajaxfileupload.js实现上传文件功能
2016/08/13 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
js作用域和作用域链及预解析
2019/04/11 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
python实现NB-IoT模块远程控制
2018/06/20 Python
python利用selenium进行浏览器爬虫
2019/04/25 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
2019/05/18 Python
python 实现绘制整齐的表格
2019/11/18 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
如何通过python检查文件是否被占用
2020/12/18 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
教师一岗双责责任书
2014/04/16 职场文书
护士求职信
2014/07/05 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
2022/04/12 PostgreSQL