使用Python合成圖片的實現(xiàn)代碼(圖片添加個性化文本,圖片上疊加其他圖片)
1.業(yè)務需求背景
業(yè)務提供一張底層圖片1以及需要在底層圖片上添加的圖片2,兩張圖片大小不一致,將小圖2添加到底圖1中,并在其他的空白部分添加個性化的文本信息
2.圖片處理邏輯
在底層圖片上添加文本信息,圖片另存到一個新的路徑,命名為圖3
將圖3和圖2合并,處理位置信息,透明率等,將處理完成之后的圖片另存到新的路徑,命名為圖4
3.代碼處理部分
3.1 圖片上添加文本信息
from PIL import Image,ImageDraw,ImageFont # 底圖添加字體文本 im = Image.open("./底圖.png").convert('RGBA') # 查看原圖的大小 print(im.mode,im.size) # 生成與原圖大小完全一致的新圖片,設定為完全透明 txt=Image.new('RGBA', im.size, (0,0,0,0)) # 設置字體,字號 fnt=ImageFont.truetype(r"C:\Windows\Fonts\STXINWEI.TTF", 50) d=ImageDraw.Draw(txt) # 拼接需要在圖片上填寫的文本 name = "李敏" date_today = "2020-04-28" a = """ 親愛的{0}: 叮。 確認收貨:專屬生日祝福! 快樂屬于您,幸福屬于您! 溫馨屬于您,好運屬于您! 工作在忙碌,本能照顧您! \r\r\r\rXX部門 \r\r\r\r{1} """.format(name,date_today) # 設置字體信息所在的位置,寫入的信息,顏色 d.text((txt.size[0]-950,txt.size[1]-1300),a,font=fnt,fill=(28,28,28,255)) # 保存新的圖片 out=Image.alpha_composite(im,txt) out.save(r"NEW-1.png")
3.2 兩張大小不一致的圖片重疊
import cv2 import numpy as np import matplotlib.pyplot as plt import os from PIL import Image,ImageDraw,ImageFont # 讀取兩張圖片信息 os.chdir('E:\RPA\生日賀卡') bear = cv2.imread('./baiyang+gou.png') sky = cv2.imread('./NEW-1.png') """ bear 小圖 sky 大圖 """ # 根據(jù)小圖像的大小,在大圖像上創(chuàng)建感興趣區(qū)域roi(放置位置任意?。? rows, cols = bear.shape[:2] #獲取bear的高度、寬度 roi = sky[0:rows, 0:cols] dst = cv2.addWeighted(bear,1,roi,0,0) #圖像融合,設置透明度,大小等 add_img = sky.copy() #對原圖像進行拷貝 add_img[800:rows+800, 75:cols+75] = dst # 將融合后的區(qū)域放進原圖,可通過改數(shù)值修改位置 # 讀取融合之后的圖片數(shù)據(jù)(數(shù)據(jù)類型為dateframe對象) ret = cv2.cvtColor(add_img,cv2.COLOR_BGR2RGB) im = Image.fromarray(ret) im.save("./完整圖.png") print("圖片保存完成")
到此這篇關于使用Python合成圖片的實現(xiàn)代碼(圖片添加個性化文本,圖片上疊加其他圖片)的文章就介紹到這了,更多相關Python合成圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python開發(fā)WebService系列教程之REST,web.py,eurasia,Django
對于今天的WebService開發(fā),我們至少有兩種選擇:SOAP/WSDL/UDDI系列的; REST風格架構系列的 ?。?!2014-06-06使用PowerShell實現(xiàn)批量修改或替換文件名
這篇文章主要為大家介紹了基于PowerShell語言,對文件夾中全部文件的名稱加以批量替換、修改的方法,文中的示例代碼講解詳細,感興趣的可以了解一下2023-04-04Python selenium模塊實現(xiàn)定位過程解析
這篇文章主要介紹了python selenium模塊實現(xiàn)定位過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07Pytorch使用MNIST數(shù)據(jù)集實現(xiàn)CGAN和生成指定的數(shù)字方式
今天小編就為大家分享一篇Pytorch使用MNIST數(shù)據(jù)集實現(xiàn)CGAN和生成指定的數(shù)字方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python自動化辦公之讀取Excel數(shù)據(jù)的實現(xiàn)
這篇文章主要為大家詳細介紹了如何通過Python實現(xiàn)Excel數(shù)據(jù)的讀取,文中的示例代碼講解詳細,對我們學習有一定幫助,需要的可以參考一下2022-05-05