接下来我会详细讲解Python PIL库的 getpixel()
方法,包括该方法的作用、语法、返回值,以及使用示例等相关内容。
方法作用
getpixel()
方法用于获取指定位置的像素值。
方法语法
getpixel(x, y)
x
:x 轴坐标值。y
:y 轴坐标值。
返回值
返回指定位置的像素值。
在 RGB 模式下,该方法返回一个元组,元组包含三个项,分别对应红、绿、蓝三个通道的像素值。在 L 模式下,该方法仅返回亮度值。
方法示例
下面我们来看两个示例来使用 getpixel()
方法。
示例1:获取指定位置的像素值
from PIL import Image
img = Image.open("test.jpg")
# 获取位置为(0,0)的像素值
pixel = img.getpixel((0, 0))
print(pixel)
输出结果为:
(74, 57, 28)
代码中的 img
对象是通过 Image
类构造函数读取一张名为 “test.jpg” 的图片文件。接着我们调用 getpixel()
方法来获取图片左上角(坐标为 (0,0))像素的像素值,并将返回值存储到 pixel
中。最后我们将该像素值打印出来。
示例2:遍历图片像素并修改像素值
from PIL import Image
img = Image.open("test.jpg")
# 获取图片的宽和高
width, height = img.size
# 遍历图片像素
for x in range(width):
for y in range(height):
pixel = img.getpixel((x, y))
# 将红色通道的值乘以0.5
r = int(pixel[0] * 0.5)
# 将修改后的像素值写回到图片中
img.putpixel((x, y), (r, pixel[1], pixel[2]))
img.show()
代码中的 img
对象是通过 Image
类构造函数读取一张名为 “test.jpg” 的图片文件。我们首先获取图片的宽和高,然后遍历所有的像素点,并使用 getpixel()
方法获取每一个像素的值。接着我们将获取到的像素值中的红色通道乘以0.5,将修改后的三个像素值重新组合成一个元组,然后使用 putpixel()
方法将新的像素值写回到图片中。
最后,我们使用 show()
方法展示处理后的图片。