繁体   English   中英

在Python中将所有RGB像素的亮度降低20%?

[英]Lower the brightness of all RGB pixels by 20% in Python?

我一直在尝试用Python教自己一些更高级的方法,但是似乎找不到与该问题类似的东西作为我的代码的基础。

第一个问题:这是在终端中显示图像以安装Pillow的唯一方法吗? 我宁愿不这样做,因为我正尝试向初学者学习所学内容。 我的image.show()函数什么都不做。

第二个问题:将图像中所有RGB像素的亮度降低20%的最佳方法是什么? 我下面的内容对更改亮度没有任何作用,但也可以完全编译。 就导入最少的库而言,我更喜欢采用最简单的方法。

第三个问题:如何制作新图片而不是更改原始图片? (即从“ image.jpg”创建较低的亮度20%,即“ image-decreasedBrightness.jpg”)

这是我的代码-很抱歉,格式不正确。 每次我尝试缩进时,都将跳至标签栏。

import Image
import ImageEnhance

fileToBeOpened = raw_input("What is the file name? Include file type.")
image = Image.open(fileToBeOpened)

def decreaseBrightness(image):
    image.show()
    image = image.convert('L')
    brightness = ImageEnhance.Brightness(image) 
    image = brightness.enhance(20) 
    image.show() 
    return image

decreaseBrightness(image)

要将图像另存为文件,文档中有一个示例:

from PIL import ImageFile

fp = open("lena.pgm", "rb")

p = ImageFile.Parser()

while 1:
    s = fp.read(1024)
    if not s:
        break
    p.feed(s)

im = p.close()

im.save("copy.jpg")

关键功能是im.save

要获得更深入的解决方案,请获取优质的饮料,找到一个舒适的地方坐下来享受阅读的乐趣: 枕头3.4.x文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM