使用 Pillow 降低图像的亮度

Low the brightness of an Image using Pillow

我正在为一个项目使用 Pillow,我真的想创建如下图所示的效果,请看:

在这张照片中,你看到背景图像是不透明的,我不知道我是否需要使用这个词。我想做的是文字比背景图片更亮,这个效果不错

我可以在 Pillow 中复制这个效果吗?如果是这样,功能是什么?十分感谢。我知道这是一个广泛的问题,但由于我什至不知道如何以正确的方式提出问题,所以我会接受任何能引导我走上正确道路的建议。

PS。我在以下位置找到了这张照片:http://qz.com/402739/the-best-idioms-from-around-the-world-ranked/

根据@martineau 的评论

from PIL import Image

im = Image.open('image-to-modify.jpg')

source = im.split()

R, G, B = 0, 1, 2
constant = 1.5 # constant by which each pixel is divided

Red = source[R].point(lambda i: i/constant)
Green = source[G].point(lambda i: i/constant)
Blue = source[B].point(lambda i: i/constant)

im = Image.merge(im.mode, (Red, Green, Blue))

im.save('modified-image.jpeg', 'JPEG', quality=100)

如所述in the docs,您可以使用 Pillow 的 ImageEnhance 模块来降低或增加图像的亮度。

最小工作示例 (MWE):

from PIL import Image, ImageEnhance

img = Image.open("image.jpg")
enhancer = ImageEnhance.Brightness(img)
# to reduce brightness by 50%, use factor 0.5
img = enhancer.enhance(0.5)

img.show()
img.save("image_darker.jpg")

因此,要使图像的文本比背景图像更亮,请先将效果应用到图像,然后再添加文本。