你还在@微信官方?聊聊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 相关文章推荐
利用ctypes提高Python的执行速度
Sep 09 Python
查看Django和flask版本的方法
May 14 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
Jun 04 Python
用python 实现在不确定行数情况下多行输入方法
Jan 28 Python
Python实现的爬取小说爬虫功能示例
Mar 30 Python
python读取并定位excel数据坐标系详解
Jun 26 Python
python:按行读入,排序然后输出的方法
Jul 20 Python
Python字节单位转换实例
Dec 05 Python
python实现打砖块游戏
Feb 25 Python
浅谈django 模型类使用save()方法的好处与注意事项
Mar 28 Python
使用python实现微信小程序自动签到功能
Apr 27 Python
Python利用socket模块开发简单的端口扫描工具的实现
Jan 27 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
php英文单词统计器
2016/06/23 PHP
PHP常用的类封装小结【4个工具类】
2019/06/28 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
解决jquery异步按一定的时间间隔刷新问题
2012/12/10 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
Python_LDA实现方法详解
2017/10/25 Python
多个应用共存的Django配置方法
2018/05/30 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
pytorch梯度剪裁方式
2020/02/04 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
2020/05/27 Python
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
护理专业优质毕业生自荐书
2014/01/31 职场文书
活动策划邀请函
2014/02/06 职场文书
俄语专业职业生涯规划
2014/02/26 职场文书
2014年幼儿园植树节活动方案
2014/03/02 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
使用JS实现简易计算器
2021/06/14 Javascript
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
2023/05/08 MySQL