下面是关于Python调整图片亮度的完整攻略,包含两个示例。
1. 背景介绍
在数字图像处理中,亮度是一个非常重要的概念,在不同的领域中有不同的定义和应用。在数字图像中,亮度一般指的是像素的亮度值,它代表了该像素的亮度强度。因此,对于某些需要调整图像亮度的场景,我们可以使用Python等编程语言进行操作。
2. Python调整图像亮度的代码示例
在Python中,我们可以使用第三方库Pillow
进行图像处理。接下来,我将以两个示例来讲解如何使用Python调整图像亮度。
2.1 示例一
下面是一段代码示例,演示了如何使用Pillow调整图像亮度。
from PIL import Image, ImageEnhance
# 打开一张图片
im = Image.open("example.jpg")
# 调整亮度
enhancer = ImageEnhance.Brightness(im)
im = enhancer.enhance(1.2)
# 显示图片
im.show()
在这个示例中,我们首先使用Image
类打开一张图片,并使用ImageEnhance
类创建一个亮度增强器对象。调用enhance()
方法,可以通过传入一个增益参数来调整亮度。在这个示例中,我们将初始的亮度增益设置为1.2,表示增加20%的亮度。最后,我们调用show()
方法显示调整后的图片。
2.2 示例二
除了使用ImageEnhance
来进行亮度调整外,我们还可以使用更底层的操作来实现。下面是另一个示例:
from PIL import Image
# 打开一张图片
im = Image.open("example.jpg")
# 获取图片宽度和高度
width, height = im.size
# 创建一个新的空白图片,尺寸与原图相同
im2 = Image.new("RGB", (width, height), (0, 0, 0))
# 循环遍历每个像素,调整亮度
for x in range(width):
for y in range(height):
# 获取像素值
r, g, b = im.getpixel((x, y))
# 调整像素值
r = r * 1.2
g = g * 1.2
b = b * 1.2
# 避免像素值超过255
r = min(255, r)
g = min(255, g)
b = min(255, b)
# 设置像素值
im2.putpixel((x, y), (int(r), int(g), int(b)))
# 显示图片
im2.show()
在这个示例中,我们首先和之前一样,使用Image
类打开一张图片。然后,我们获取图片的宽度和高度,并创建一个新的空白图片,尺寸与原图相同。接下来,我们使用两个循环遍历每个像素,获取像素值,调整像素的RGB值,并将调整后的像素值保存到新的图片中。最后,我们调用show()
方法显示调整后的图片。
需要注意的是,在第二个示例中,如果我们要降低亮度,则需要将亮度增益参数设置为小于1的值,例如0.8。
3. 总结
本文介绍了Python调整图像亮度的两个示例,第一个示例是通过使用ImageEnhance
来进行亮度调整,而第二个示例则是使用更底层的方法来实现。当然,在实际应用中,我们可以根据具体的需求来选择不同的方法进行处理。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 调整图片亮度的示例 - Python技术站