使用Python合成圖片的實(shí)現(xiàn)代碼(圖片添加個(gè)性化文本,圖片上疊加其他圖片)
1.業(yè)務(wù)需求背景
業(yè)務(wù)提供一張底層圖片1以及需要在底層圖片上添加的圖片2,兩張圖片大小不一致,將小圖2添加到底圖1中,并在其他的空白部分添加個(gè)性化的文本信息
2.圖片處理邏輯
在底層圖片上添加文本信息,圖片另存到一個(gè)新的路徑,命名為圖3
將圖3和圖2合并,處理位置信息,透明率等,將處理完成之后的圖片另存到新的路徑,命名為圖4
3.代碼處理部分
3.1 圖片上添加文本信息
from PIL import Image,ImageDraw,ImageFont
# 底圖添加字體文本
im = Image.open("./底圖.png").convert('RGBA')
# 查看原圖的大小
print(im.mode,im.size)
# 生成與原圖大小完全一致的新圖片,設(shè)定為完全透明
txt=Image.new('RGBA', im.size, (0,0,0,0))
# 設(shè)置字體,字號(hào)
fnt=ImageFont.truetype(r"C:\Windows\Fonts\STXINWEI.TTF", 50)
d=ImageDraw.Draw(txt)
# 拼接需要在圖片上填寫的文本
name = "李敏"
date_today = "2020-04-28"
a = """
親愛(ài)的{0}:
叮。
確認(rèn)收貨:專屬生日祝福!
快樂(lè)屬于您,幸福屬于您!
溫馨屬于您,好運(yùn)屬于您!
工作在忙碌,本能照顧您!
\r\r\r\rXX部門
\r\r\r\r{1}
""".format(name,date_today)
# 設(shè)置字體信息所在的位置,寫入的信息,顏色
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) #圖像融合,設(shè)置透明度,大小等
add_img = sky.copy() #對(duì)原圖像進(jìn)行拷貝
add_img[800:rows+800, 75:cols+75] = dst # 將融合后的區(qū)域放進(jìn)原圖,可通過(guò)改數(shù)值修改位置
# 讀取融合之后的圖片數(shù)據(jù)(數(shù)據(jù)類型為dateframe對(duì)象)
ret = cv2.cvtColor(add_img,cv2.COLOR_BGR2RGB)
im = Image.fromarray(ret)
im.save("./完整圖.png")
print("圖片保存完成")
到此這篇關(guān)于使用Python合成圖片的實(shí)現(xiàn)代碼(圖片添加個(gè)性化文本,圖片上疊加其他圖片)的文章就介紹到這了,更多相關(guān)Python合成圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python使用pil庫(kù)實(shí)現(xiàn)圖片合成實(shí)例代碼
- 使用ImageMagick進(jìn)行圖片縮放、合成與裁剪(js+python)
- 使用python-cv2實(shí)現(xiàn)視頻的分解與合成的示例代碼
- python3實(shí)現(xiàn)語(yǔ)音轉(zhuǎn)文字(語(yǔ)音識(shí)別)和文字轉(zhuǎn)語(yǔ)音(語(yǔ)音合成)
- Python 實(shí)現(xiàn)將大圖切片成小圖,將小圖組合成大圖的例子
- Python實(shí)現(xiàn)語(yǔ)音識(shí)別和語(yǔ)音合成功能
- Python中將兩個(gè)或多個(gè)list合成一個(gè)list的方法小結(jié)
- python圖片合成的示例
相關(guān)文章
Python開發(fā)WebService系列教程之REST,web.py,eurasia,Django
對(duì)于今天的WebService開發(fā),我們至少有兩種選擇:SOAP/WSDL/UDDI系列的; REST風(fēng)格架構(gòu)系列的 ?。?!2014-06-06
使用PowerShell實(shí)現(xiàn)批量修改或替換文件名
這篇文章主要為大家介紹了基于PowerShell語(yǔ)言,對(duì)文件夾中全部文件的名稱加以批量替換、修改的方法,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-04-04
Python selenium模塊實(shí)現(xiàn)定位過(guò)程解析
這篇文章主要介紹了python selenium模塊實(shí)現(xiàn)定位過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Pandas?計(jì)算相關(guān)性系數(shù)corr()方式
這篇文章主要介紹了Pandas?計(jì)算相關(guān)性系數(shù)corr()方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
Pytorch使用MNIST數(shù)據(jù)集實(shí)現(xiàn)CGAN和生成指定的數(shù)字方式
今天小編就為大家分享一篇Pytorch使用MNIST數(shù)據(jù)集實(shí)現(xiàn)CGAN和生成指定的數(shù)字方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
Python自動(dòng)化辦公之讀取Excel數(shù)據(jù)的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)Python實(shí)現(xiàn)Excel數(shù)據(jù)的讀取,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定幫助,需要的可以參考一下2022-05-05
Python深度學(xué)習(xí)之Unet?語(yǔ)義分割模型(Keras)
這篇文章主要介紹了語(yǔ)義分割任務(wù)中Unet一個(gè)有意思的模型-Keras。Keras是一個(gè)由Python編寫的開源人工神經(jīng)網(wǎng)絡(luò)庫(kù),可進(jìn)行深度學(xué)習(xí)模型的設(shè)計(jì)、調(diào)試、評(píng)估、應(yīng)用和可視化。感興趣的小伙伴快來(lái)跟隨小編一起學(xué)習(xí)一下吧2021-12-12
opencv將視頻逐幀保存為圖片的實(shí)現(xiàn)示例
本文使用python-opencv將本地視頻逐幀保存為圖片(.jpg)格式,將保存的圖片放在當(dāng)前目錄的一個(gè)文件夾內(nèi),具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09

