专栏首页Python绿色通道你还在@微信官方?我来教你用Python生成你想要的微信头像

你还在@微信官方?我来教你用Python生成你想要的微信头像

@图片bysisi

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

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

刷遍朋友圈。

到底是什么呢?

我们先来看看朋友圈

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

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

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

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

就在这时,我手贱,

一不小心刷了下朋友圈,

结果:

我,好(lei)高(ge)兴(qu)啊! 原来是套路啊,

后来仔细想想,也是,

微信官方

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

当然,

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

别人能做,我为啥不能?

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

需求/过程/代码

需求:

原始需求

给自己的微信头像

加个国旗或者70的logo

(喜庆建国70周年)

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

简化需求

1.给图片加上国旗或者70的logo 2.然后手动换头像 解析:要抠图,在图片指定位置加小图片,好像也比较难

简化需求+1

1.朋友圈随便找两个已经换好头像的好友,下载他们的图像 2.抠图工具去除图像中人像部分,弄出基本模型 3.合并原头像与我们扣图生成的模型 4.手动换微信图片 解析:理论上没有问题

过程/代码

Step 1

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

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

Step 2

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

嗯~我不太会用PS,

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

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

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

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

Step 3

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

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

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

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

有些人回复了,

却没有解决问题!

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

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

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

就在这时候,

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

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

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

OK!

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

具体代码:

# -*- 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()

运行:

Step 4

4.手动换微信图片

后话

等我写完代码,

帮几个朋友换了头像,

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

哈哈哈哈,也太有意思了吧~ 当然,也出现了些灰产:

当然,也有明白人:

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

望各位悉知。

【完】

本文分享自微信公众号 - Python绿色通道(Python_channel)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 10个必会的 PyCharm 技巧,附高清大图

    经常听人说,多看源码。源码不仅能帮我们搞清楚运行机制,还能学习优秀的库或者框架的最佳实践。

    龙哥
  • 因为产品意见不合打架?想多了!

    我发现爆料人非常会炒作,本来就是两个人抢微波炉引起的冲突吧,结果说成程序员与产品经理因为产品意见不合而引起的冲突!

    龙哥
  • 数据分析 | 用Python分析一下你喜欢的NBA球员

    用数据分析一下你喜欢的NBA球员, 有多少朋友和我一样喜欢看NBA呢,看了十几年NBA,这爱好一直没有落下. 今天来用数据分析一下NBA球员.

    龙哥
  • OpenCV畸变校正原理以及损失有效像素原理分析

    上一篇博客简要介绍了一下常用的张正友标定法的流程,其中获取了摄像机的内参矩阵K,和畸变系数D。 1.在普通相机cv模型中,畸变系数主要有下面几个:(k1; k2...

    一棹烟波
  • 12-ESP8266 SDK开发基础入门篇--PWM,呼吸灯

    对了,其实对于RTOS SDK版本的开发可以直接去参考非RTOS SDK的API  这个直接有例子

    杨奉武
  • OC知识--Foundation框架详尽总结之『字符串类』

    行走少年郎
  • 深度 | 华为诺亚方舟实验室主任李航:神经符号处理开启自然语言处理新篇章

    AI 科技评论按:深度学习给自然语言处理带来了革命性的进步,基于深度学习的机器翻译等任务的性能有了大幅度的提升。面向未来,自然语言处理技术将如何发展和演进?在哪...

    AI科技评论
  • 那些美的就像工艺品的仿生机器人

    ---- ▼ Festo去年发布的仿生机器人袋鼠 ? ▼ Festo以前发布的仿生机器人海鸥 ? ▼ Festo以前发...

    机器人网
  • 记一个同时支持模糊匹配和静态推导的Atom语法补全插件的开发过程: 序

    简介 过去的一周,都睡的很晚,终于做出了Atom上的APICloud语法提示与补全插件:apicloud_autocomplete.个中滋味,感觉还是有必要记录...

    ios122
  • 腾讯云V3签名方法之iOS

    签名方法 v3 (TC3-HMAC-SHA256)功能上覆盖了以前的签名方法 v1,而且更安全,支持更大的请求,支持 json 格式,性能有一定提升,推荐使用该...

    许岳操

扫码关注云+社区

领取腾讯云代金券