你還在@微信官方?聊聊Python生成你想要的微信頭像
今天早上@微信官方突然火了,
一句“請(qǐng)給我一面國旗@微信官方”
刷遍朋友圈。
到底是什么呢?
我們先來看看朋友圈


當(dāng)然,這只是零零散散的部分截圖,
看到這些,一股熱血灑了出來,
我興致勃勃的準(zhǔn)備發(fā)朋友圈,
請(qǐng)神仙微信官方給我也換個(gè)頭像,
就在這時(shí),我手賤,
一不小心刷了下朋友圈,
結(jié)果:

我,好(lei)高(ge)興(qu)啊!
原來是套路啊,
后來仔細(xì)想想,也是,
微信官方
哪有那么多時(shí)間給我換頭像。
當(dāng)然,
這也激發(fā)了我的程序員思維,
別人能做,我為啥不能?
說干就干,拿起Python就往前沖。
需求/過程/代碼
需求:
原始需求
給自己的微信頭像
加個(gè)國旗或者70的logo
(喜慶建國70周年)
解析:好像在和微信交互,太難了
簡化需求
1.給圖片加上國旗或者70的logo
2.然后手動(dòng)換頭像
解析:要摳圖,在圖片指定位置加小圖片,好像也比較難
簡化需求+1
1.朋友圈隨便找兩個(gè)已經(jīng)換好頭像的好友,下載他們的圖像
2.摳圖工具去除圖像中人像部分,弄出基本模型
3.合并原頭像與我們扣圖生成的模型
4.手動(dòng)換微信圖片
解析:理論上沒有問題
過程/代碼
Step 1
1.朋友圈隨便找兩個(gè)已經(jīng)換好頭像的好友,下載他們的圖像

太簡單了,打開朋友圈,看看那個(gè)人在@微信官方,頭像還換過來了,對(duì),就是他在騙你,斗他。
Step 2
2.摳圖工具去除圖像中人像部分,弄出基本模型
嗯~我不太會(huì)用PS,

這是我摳出來的!慘不忍睹~

不過,我有個(gè)精通PS的女朋友呀~

還是女朋友厲害,三下兩下就好了~夸夸~
獲取文件素材,請(qǐng)?jiān)谖⑿殴娞?hào)回復(fù):國慶
Step 3
3.合并原頭像與我們扣圖生成的模型

這個(gè)步驟是個(gè)漫長的過程,
我發(fā)了社群看看有沒有了解圖像處理的朋友,
發(fā)了朋友圈看看有沒有志同道合的朋友~
有些人回復(fù)了,
確沒有解決問題!


網(wǎng)上也找了一堆,沒有對(duì)口的,
在肚子叫聲漸漸大起來時(shí),
我深思:我的需求難嗎?我的需求奇葩嗎?
就在這時(shí)候,
讀者朋友提供了一個(gè)他之前做的
換證件照底色的代碼樣例,
我看了一下處理方法,試了一下,
OK!
這里特別感謝:Dime同學(xué)的幫助。


具體代碼:
# -*- coding: utf-8 -*-
"""
@author = 老表
@date = 2019-09-24
@個(gè)人公眾號(hào) : 簡說Python
"""
# 注意:print_function的導(dǎo)入必須在Image之前,否則會(huì)報(bào)錯(cuò)
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): # 判斷圖片大小,統(tǒng)一改為 700*700
# 修改圖片尺寸
size = (700, 700)
img2.thumbnail(size)
img2.show()
# 圖片粘貼選區(qū)
loc = (0, 0, 700, 700)
# 將img1 粘貼到 img2
img2.paste(img1, loc, img1)
img2.show() # 顯示圖片
img2.save("new.png") # 保存生成的頭像圖片
t0 = Picture()
t0.handle_picture()
運(yùn)行:

Step 4
4.手動(dòng)換微信圖片
后話
等我寫完代碼,
幫幾個(gè)朋友換了頭像,
再去看朋友圈,看消息,是這樣的:



哈哈哈哈,太有意思了吧~
當(dāng)然,也出現(xiàn)了些灰產(chǎn):


當(dāng)然,也有明白人:

最后附上《中華人民共和國國旗法》第十八條,
望各位悉知。

總結(jié)
以上所述是小編給大家介紹的你還在@微信官方?聊聊Python生成你想要的微信頭像,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
pytorch中的scatter_add_函數(shù)的使用解讀
這篇文章主要介紹了pytorch中的scatter_add_函數(shù)的使用解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
python 回調(diào)函數(shù)和回調(diào)方法的實(shí)現(xiàn)分析
這篇文章主要介紹了python 回調(diào)函數(shù)和回調(diào)方法的實(shí)現(xiàn)分析,需要的朋友可以參考下2016-03-03
Python實(shí)現(xiàn)多腳本處理定時(shí)運(yùn)行
這篇文章主要介紹了Python實(shí)現(xiàn)多腳本處理定時(shí)運(yùn)行,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06
win7上tensorflow2.2.0安裝成功 引用DLL load failed時(shí)找不到指定模塊 tensorflo
這篇文章主要介紹了win7上tensorflow2.2.0安裝成功 引用時(shí)DLL load failed找不到指定模塊 tensorflow has no attribute xxx 解決方法,需要的朋友可以參考下2020-05-05
關(guān)于python之字典的嵌套,遞歸調(diào)用方法
今天小編就為大家分享一篇關(guān)于python之字典的嵌套,遞歸調(diào)用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01
Pycharm設(shè)置自動(dòng)代碼提示的超詳細(xì)圖文教程
有時(shí)候我們?cè)谑褂胮ycharm編寫python代碼的時(shí)候,發(fā)現(xiàn)沒有代碼提示,怎么解決呢?下面這篇文章主要給大家介紹了關(guān)于Pycharm設(shè)置自動(dòng)代碼提示的超詳細(xì)圖文教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
pyqt5對(duì)用qt designer設(shè)計(jì)的窗體實(shí)現(xiàn)彈出子窗口的示例
今天小編就為大家分享一篇pyqt5對(duì)用qt designer設(shè)計(jì)的窗體實(shí)現(xiàn)彈出子窗口的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
python sklearn常用分類算法模型的調(diào)用
這篇文章主要介紹了python sklearn常用分類算法模型的調(diào)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
解決python執(zhí)行較大excel文件openpyxl慢問題
這篇文章主要介紹了解決python執(zhí)行較大excel文件openpyxl慢問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05

