日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在朋友圈中你肯定會見到過下面這樣的照片,由數張照片拼接成一張具有規則圖案形狀的照片墻。

 

柚子教大家如何用python做精美的照片墻!五分鐘學會get新技能

 

 

其實這樣的一張照片也可以用 Python 實現,主要用到的是 python 中的 Image 庫;制作之前需要一些準備:

作為照片背景墻的矢量圖(矢量圖是圖案的輪廓填充是透明的,其他部分是非透明的白色的;利用PS就可以簡單制作,制作方法在下面);

填充照片墻的圖片集;

python3.6+ 版本的安裝及 Image 包;

原本這篇文章打算想結合python的另一個包 itchat 獲取微信好友頭像作為圖片集,來進行實戰。

但不幸的是,微信官方在6月份的時候只限制新注冊用戶,老注冊用戶在 itchat 上能夠正常登陸使用,但在今年9月份新老用戶都進行了限制,關閉了所有微信用戶在 itchat 平臺上的登陸接口,好友信息我們也就沒辦法快速獲取.........

在找圖片集的時候,建議大家可以把自己手機里的相冊打包成一個文件夾,也可以利用爬蟲技術在網上爬取一些自己喜歡的圖片打包成一個集合,作為一個圖片集;畢竟,圖片不重要,重要的是方法。

作為背景墻的矢量圖制作方法如下:

選取一張里面有自己中意的輪廓的圖(圖片背景墻的好壞取決于它的輪廓)

 

柚子教大家如何用python做精美的照片墻!五分鐘學會get新技能

 

 

利用ps打開圖片,利用 快速選擇工具 選取自己中意的輪廓,把透明度降為0;

再次利用快速選擇工具 選取把透明度降為0外的部分,用純白顏色填沖;

 

柚子教大家如何用python做精美的照片墻!五分鐘學會get新技能

 

 

3.導出圖片(PS:因為圖片后面要用到,所以路徑中盡可能不要出現中文)

所有工作準備完畢之后,接下來就是要用python進行處理,定制照片墻的制作原理就是:

讀取圖片背景墻,用Image繪制一個相應大小的模板片;

遍歷圖片集獲取圖片數量,根據背景墻圖片大小以及圖片集數量,找到一個圖片合適的尺寸;

按照尺寸把圖片集的圖片依次拼接到繪制的新的模板片上;

最后根據背景墻輪廓的透明度進行二次拼接,以達到能夠形成目標輪廓的目標。

制作好的圖片效果如下:

 

柚子教大家如何用python做精美的照片墻!五分鐘學會get新技能

 

 

以上,就是照片墻的基本繪制過程,部分代碼如下:

from PIL import Image

import os

id ='zuguo'

img_path ='C:/Users/FREEDOM/Desktop/timg.png'

#自己找的的模板圖片存儲地址,需要是矢量圖

#這個是我獲取圖片存放的文件夾,根據自己情況進行設置;

folder ='C:/Users/FREEDOM/Desktop/{}'.format(id)

#拼接后圖片的存放位置

save_pic_path ='C:/Users/FREEDOM/Desktop/{}.jpg'.format(id)

img =Image.open(img_path)

w,h =img.size#獲取圖片大小

new_img = Image.new('RGB',(w,h),'#FFFFFF')#創建新的圖片,大小與原圖片一樣

unit_size =60

y_index = h//unit_size

x_index = w//unit_size#雙斜杠表示:先做除法,再向下取整;

pic_list = []#存放圖片位置

for i in os.listdir(folder):

print(i)

if i.endswith('.jpg'):

pic_list.Append(i)

total =len(pic_list)

x = 0

y = 0

for i in range(x_index*y_index):

'''

把folder中存放的圖片集貼入到你想要貼的圖片上,

'''

print(f'目前進度為{i}{x_index*y_index}')

try:

#利用 Image.resize()來規定圖片大小,其中Image.ANATILAS表示的是高質量圖片;

test = Image.open('{}/{}'.format(folder,pic_list[i%total])).resize((unit_size,unit_size),Image.ANTIALIAS)

new_img.paste(test, (x * unit_size, y * unit_size))

x += 1

except IOError:

print('讀取一張圖片失敗')

#一排已經掃描完畢

if x==x_index:

x =0

y +=1

print('素材掃描完畢')

下面這幾張圖片就是我已將做好的照片墻,是為了多國慶檔電影做簡單分析用的,感覺不錯的話,自己也可以嘗試一下,有什么疑問也可以在下面留言給我

 

柚子教大家如何用python做精美的照片墻!五分鐘學會get新技能

 

 

柚子教大家如何用python做精美的照片墻!五分鐘學會get新技能

 

 

柚子教大家如何用python做精美的照片墻!五分鐘學會get新技能

 

 

完整源碼私信柚子:‘資料’分享下給你們

分享到:
標簽:照片 python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定