使用枕头降低图像的亮度

时间:2015-07-11 18:39:39

标签: python pillow

我正在使用Pillow进行项目,我真的想创建一个类似下图中的效果,看看:

To Throw a chicken at oneself

在这张图片中,您看到背景图像不透明,我不知道这是否是我需要使用的单词。我想要做的是文本比背景图像更亮,这是一个很好的效果。

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

PS。我在http://qz.com/402739/the-best-idioms-from-around-the-world-ranked/

找到了这张照片

2 个答案:

答案 0 :(得分:2)

基于@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)

答案 1 :(得分:0)

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")

所以为了让图片的文字比背景图片亮,先对图片应用效果,然后再添加文字。