亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

在朋友圈中你肯定會(huì)見(jiàn)到過(guò)下面這樣的照片,由數(shù)張照片拼接成一張具有規(guī)則圖案形狀的照片墻。

 

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

 

 

其實(shí)這樣的一張照片也可以用 Python 實(shí)現(xiàn),主要用到的是 python 中的 Image 庫(kù);制作之前需要一些準(zhǔn)備:

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

填充照片墻的圖片集;

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

原本這篇文章打算想結(jié)合python的另一個(gè)包 itchat 獲取微信好友頭像作為圖片集,來(lái)進(jìn)行實(shí)戰(zhàn)。

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

在找圖片集的時(shí)候,建議大家可以把自己手機(jī)里的相冊(cè)打包成一個(gè)文件夾,也可以利用爬蟲(chóng)技術(shù)在網(wǎng)上爬取一些自己喜歡的圖片打包成一個(gè)集合,作為一個(gè)圖片集;畢竟,圖片不重要,重要的是方法。

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

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

 

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

 

 

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

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

 

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

 

 

3.導(dǎo)出圖片(PS:因?yàn)閳D片后面要用到,所以路徑中盡可能不要出現(xiàn)中文)

所有工作準(zhǔn)備完畢之后,接下來(lái)就是要用python進(jìn)行處理,定制照片墻的制作原理就是:

讀取圖片背景墻,用Image繪制一個(gè)相應(yīng)大小的模板片;

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

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

最后根據(jù)背景墻輪廓的透明度進(jìn)行二次拼接,以達(dá)到能夠形成目標(biāo)輪廓的目標(biāo)。

制作好的圖片效果如下:

 

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

 

 

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

from PIL import Image

import os

id ='zuguo'

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

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

#這個(gè)是我獲取圖片存放的文件夾,根據(jù)自己情況進(jìn)行設(shè)置;

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')#創(chuàng)建新的圖片,大小與原圖片一樣

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'目前進(jìn)度為{i}{x_index*y_index}')

try:

#利用 Image.resize()來(lái)規(guī)定圖片大小,其中Image.ANATILAS表示的是高質(zhì)量圖片;

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('讀取一張圖片失敗')

#一排已經(jīng)掃描完畢

if x==x_index:

x =0

y +=1

print('素材掃描完畢')

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

 

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

 

 

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

 

 

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

 

 

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

分享到:
標(biāo)簽:照片 python
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定