详解Python PIL putpixel()方法

  • Post category:Python

Python PIL(Python Imaging Library)是一个用于图像处理的 Python 库,它可以帮助我们实现许多图像处理功能,如打开、保存、修改图像等。在 PIL 中使用 putpixel() 方法可以修改像素点的颜色值,下面我将对 putpixel() 方法进行详细讲解。

putpixel() 方法简介

putpixel() 方法可以用于修改指定像素点的颜色值,其声明如下:

Image.Image.putpixel(self, xy, value)

其中,参数解释如下:

  • self:代表当前的 Image 对象。
  • xy:代表像素点的坐标,坐标的值为 (x, y),其中 x 为横向坐标,y 为纵向坐标。
  • value:代表需要填充到该像素点上的颜色值,颜色值为一个 tuple,格式为 (R, G, B)(R, G, B, A)(A 代表 alpha 通道值)。

注:putpixel() 方法只能用于 L、RGB 和 RGBA 类型的图像,如果操作其他类型的图像将会报错。

putpixel() 方法示例

以下是使用 putpixel() 方法修改图像像素的示例:

示例 1:将图像中指定位置的像素改为红色(R,G,B),图像为 RGB 类型

from PIL import Image

# 打开一张 RGB 类型图片
im = Image.open('example.jpg')

# 获取图像的像素矩阵
pixels = im.load()

# 将坐标 (10, 10) 的像素值修改为红色(255, 0, 0)
pixels[10, 10] = (255, 0, 0)

# 保存修改后的图像
im.save('example_modify.jpg')

示例 2:将图像中指定位置的像素改为红色(R,G,B,A),图像为 RGBA 类型

from PIL import Image

# 打开一张 RGBA 类型图片
im = Image.open('example.png')

# 获取图像的像素矩阵
pixels = im.load()

# 将坐标 (10, 10) 的像素值修改为红色(255, 0, 0, 255)
pixels[10, 10] = (255, 0, 0, 255)

# 保存修改后的图像
im.save('example_modify.png')

以上就是 putpixel() 方法的详细讲解,通过这个方法,我们可以方便地修改图像中的像素点颜色值,进而实现各种图像处理的功能。