6行Python代碼給你一個不是單身的自己!
祝你過年回家玩得High~!┢┦aΡpy ?^_^?
在過一周就要放假了,怎麼樣?激不激動?
可能你的實際情況是這樣的:
對於單身的你可能還會這樣:
其實你的內心可能是這樣的:
好吧!對於一個程序猿來說,我們需要的是6行Python代碼,為自己構造一個和諧、安靜的環境。
第一步:準備好兩站照片,其中一張照片背景是透明的(這裡美女是)
第二步:運行程序
第三步:展示成果,老子也是有女朋友的人!
哈哈哈哈哈~!有沒有羨慕嫉妒恨!
其實Python的代碼十分的簡單,運用PIL庫進行圖片的合成。
如何安裝
pip install Pillow
簡單的解析
相關API見 Pillow (PIL Fork) 5.1.0.dev0 documentation
當需要將一張有透明部分的圖片粘貼到一張底片上時,為保證有透明的效果,將RGBA的的Alpha通道提取出來做為mask傳入。
名詞解釋
RGBA:RGBA是代表Red(紅色) Green(綠色) Blue(藍色)和 Alpha的色彩空間,也就是透明度/不透明度。雖然它有的時候被描述為一個顏色空間,但是它其實僅僅是RGB模型的附加了額外的信息。
Alpha通道:是一個8位的灰度通道,該通道用256級灰度來記錄圖像中的透明度信息,定義透明、不透明和半透明區域,其中白表示不透明,黑表示透明,灰表示半透明。
核心的就是這個函數:
Image.paste(im, box=None, mask=None)
將另一個圖像粘貼到此圖像中。 box參數可以是左上角的2元組,也可以是定義左上角、右下角像素坐標的4元組,也可以是None(與(0,0)相同)。如果給出了一個4元組,貼圖的大小必須與該區域的大小相匹配。
如果給出掩碼,則此方法僅更新由掩碼指示的區域。您可以使用「1」,「L」或「RGBA」圖像(在後一種情況下,alpha band用作蒙版)。在掩碼是255的情況下,給定的圖像被原樣複製。在掩碼為0的情況下,當前值被保存。中間值將兩個圖像混合在一起,包括他們的Alpha通道。
參數:
- im:源圖像或像素值(整數或元組)。
- box:一個可選的4元組賦予區域粘貼。如果使用2元組,則將其視為左上角。如果省略或無,源被粘貼到左上角。如果圖像是作為第二個參數給出的,並且沒有第三個參數,則該框默認為(0,0),第二個參數被解釋為蒙板圖像。
- mask:一個可選的掩碼圖像。
最後
如你需要詳細的代碼,請關注微信公眾號:學點編程吧,發送:piclove獲得。
推薦閱讀:
※哪裡能找到 Python 視頻教程地址?
※【精心解讀】關於Jupyter Notebook的28個技巧
※遲來的第一篇文章。
※透過數據看 Github
※如何理解python大法好?