📅  最后修改于: 2023-12-03 14:49:51.080000             🧑  作者: Mango
在本文中,我们将介绍如何使用 Python 在图像上添加字幕。我们将使用 OpenCV 和 Pillow 这两个流行的 Python 库来实现这一目标。
首先,我们需要在 Python 中安装 OpenCV 和 Pillow 库。这可以通过以下命令完成:
pip install opencv-python
pip install pillow
我们从加载一张图像开始。我们可以使用 OpenCV 库来读取图像,然后使用 Pillow 库将其转换为 Python 中的图像对象。
import cv2
from PIL import Image
# 加载图像
image = cv2.imread('image.jpg')
# 转换为 Python 中的图像对象
image = Image.fromarray(image)
接下来,我们将在图像上添加文字。我们可以使用 Pillow 库中的 ImageDraw 模块来完成这一任务。以下代码将在图像的底部居中添加一条文本。
from PIL import ImageDraw, ImageFont
# 将图像转换为可编辑的副本
draw = ImageDraw.Draw(image)
# 添加文字
text = 'Hello, World!'
font = ImageFont.truetype("arial.ttf", 36)
textwidth, textheight = draw.textsize(text, font)
x = (image.width - textwidth) / 2
y = image.height - textheight - 10
draw.text((x, y), text, font=font)
最后一步是将修改后的图像保存到磁盘上。我们可以使用 Pillow 库的 save 方法将图像保存为指定格式的文件。以下代码将保存为 JPEG 格式。
# 保存图像
image.save('output.jpg', 'JPEG')
下面是完整的 Python 代码,将图像加载到内存中,添加文本,然后将其保存到磁盘上。
import cv2
from PIL import Image, ImageDraw, ImageFont
# 加载图像
image = cv2.imread('image.jpg')
# 转换为 Python 中的图像对象
image = Image.fromarray(image)
# 将图像转换为可编辑的副本
draw = ImageDraw.Draw(image)
# 添加文字
text = 'Hello, World!'
font = ImageFont.truetype("arial.ttf", 36)
textwidth, textheight = draw.textsize(text, font)
x = (image.width - textwidth) / 2
y = image.height - textheight - 10
draw.text((x, y), text, font=font)
# 保存图像
image.save('output.jpg', 'JPEG')
以上代码将在当前工作目录中保存名为 output.jpg 的文件,该文件为带有文本的原始图像的副本。