如何使用PIL将仅包含文本的图像添加到另一个图像

时间:2017-06-01 20:37:26

标签: python image image-processing

我有两张照片:一张包含黑色字母,背景为白色,另一张是常见的图像处理图片。我想添加它们,所以最终的图片有第二个图像作为背景和前面的字母。我正在使用Python的PIL库。

我的第一张图片只包含字母

My first picture containing only letters

我想要的第二张照片作为背景

The second picture I want to have as background

我该怎么做?

由于

2 个答案:

答案 0 :(得分:0)

假设您可以使“仅文字”图层的背景透明,则可以使用以下解决方案:How to merge a transparent png image with another image using PIL

答案 1 :(得分:0)

您可以通过使用蒙版将文本图像粘贴到背景图像上来实现。在这种情况下,您可以使用文本从图像构造蒙版,首先将其转换为灰度,然后将其反转。

在掩模图像为0的情况下,图像将保持不变,并且在其中,从被粘贴的图像中复制像素。由于在这种情况下文本的字母是黑色的(即0),因此需要反转文本以创建蒙版。

这就是我的意思:

from PIL import Image, ImageOps

text = Image.open('riders.jpg')
mask = ImageOps.invert(text.convert('L'))
face = Image.open('face.jpg')
face.paste(text, mask=mask)
face.show()

显示的结果图像:

results