📜  Python PIL |图像.getdata()(1)

📅  最后修改于: 2023-12-03 15:18:58.196000             🧑  作者: Mango

Python PIL | 图像.getdata()

Python PIL(Python Imaging Library)是Python语言的扩展库,它支持图片处理、图像格式转换等多种功能。其中图像.getdata()方法可以获取图像的像素数据。本文将介绍Python PIL中的图像.getdata()方法的使用。

使用方法

使用方法如下:

from PIL import Image

# 打开一张图片
img = Image.open("image.jpg")

# 获取像素数据
pixels = img.getdata()

# 打印像素数据
print(pixels)
解释说明

上述代码中,首先从PIL中导入Image类,然后使用Image.open()方法打开一张图片,接着使用img.getdata()方法获取图像的像素数据。最后将获取到的像素数据打印出来。

需要注意的是,在使用img.getdata()方法获取像素数据时,返回的是一个可迭代对象,每个像素数据包含(R,G,B)三个通道,例如:

(255, 255, 255), (255, 255, 255), (255, 255, 255), ..., (0, 0, 0), (0, 0, 0), (0, 0, 0)
示例代码

下面给出一个获取图像像素并进行像素点操作的示例代码:

from PIL import Image

# 打开一张图片
img = Image.open("image.jpg")

# 获取像素数据
pixels = img.getdata()

# 转换成列表格式
pixels_list = list(pixels)

# 遍历所有像素点,并进行处理
for i in range(len(pixels_list)):
    r, g, b = pixels_list[i]
    pixels_list[i] = (r//2, g//2, b//2)

# 创建新的图像
new_img = Image.new(img.mode, img.size)
new_img.putdata(pixels_list)

# 显示新的图像
new_img.show()
结论

本文介绍了Python PIL中的图像.getdata()方法的使用,可以轻松获取到图像的像素数据。在获取像素数据后,可以对像素数据进行处理,例如修改像素点颜色或者进行滤镜效果处理等。