使用python PIL 模块合成图片
生活随笔
收集整理的這篇文章主要介紹了
使用python PIL 模块合成图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用python PIL 模塊合成圖片
需求背景:
公司產品有一套完整的用戶手冊,但是給用戶部署時大多數為私有化部署。給用戶用戶手冊時,我們本來的產品logo需要更換為客戶的logo。重新截圖或者手動更改需要大量時間。
腳本實現:
該腳本實現對用戶手冊中的圖片進行合成,更換截圖中的logo為客戶的logo。從而節省修改用戶手冊時間。
代碼塊
from PIL import Image import ospath_dir = '/Users/dtwave/Desktop/a/' #圖片1下的路徑path_save = '/Users/dtwave/Desktop/b/'path_2 = "/Users/dtwave/Desktop/aaa.png"def blend_two_images2(path_dir,path_2,path_save):dir = os.listdir(path_dir) # dir是目錄下的全部文件print (dir)for d in dir:# a.append(d)# for i in range(2,17):img1 = Image.open(path_dir + d) #打開圖片1img1 = img1.convert('RGBA')img2 = Image.open(path_2) #打開圖片2img2 = img2.convert('RGBA')r, g, b, alpha = img2.split() #設置圖片2透明度alpha = alpha.point(lambda i: i>0 and 1000)img = Image.composite(img2, img1, alpha) #開始合成img.show() #是否打印出合成后的圖片img.save(path_save + d) #保存在在一個文件目錄下return a = blend_two_images2(path_dir,path_2,path_save)腳本寫的相對粗糙,有比較多的局限,例如圖片上logo大小與合成圖片大小不符,就導致合成蓋住的地方多了或者少了。后續會優化腳本,利用python的圖像識別,自動摳圖,與合成圖片對比大小。將合成圖片縮放至同樣大小再進行合成
總結
以上是生活随笔為你收集整理的使用python PIL 模块合成图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win7下安装MQTT Paho客户端
- 下一篇: (十)Redis集群(JedisClus