你还在@微信官方?聊聊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 29 Python
小结Python用fork来创建子进程注意事项
Jul 03 Python
Python标准库os.path包、glob包使用实例
Nov 25 Python
python中安装Scrapy模块依赖包汇总
Jul 02 Python
Python建立Map写Excel表实例解析
Jan 17 Python
Python 读取指定文件夹下的所有图像方法
Apr 27 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
Nov 29 Python
python获取引用对象的个数方式
Dec 20 Python
Python ATM功能实现代码实例
Mar 19 Python
如何快速理解python的垃圾回收机制
Sep 01 Python
如何基于Django实现上下文章跳转
Sep 16 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
VFP与其他应用程序的集成
2006/10/09 PHP
php 文章调用类代码
2011/08/11 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
Laravel模型事件的实现原理详解
2018/03/14 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
2018/08/30 PHP
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
2019/08/02 Javascript
JQuery常用简单动画操作方法回顾与总结
2019/12/07 jQuery
JS严格模式原理与用法实例分析
2020/04/27 Javascript
python中去空格函数的用法
2014/08/21 Python
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
python删除过期log文件操作实例解析
2018/01/31 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
Django 路由控制的实现代码
2018/11/08 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
Stella McCartney官网:成衣、包袋、香水、内衣、童装及Adidas系列
2018/12/20 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
社区七一党员活动方案
2014/01/25 职场文书
药店营业员岗位职责
2015/04/14 职场文书
工程催款通知书
2015/04/17 职场文书
未婚证明格式
2015/06/15 职场文书