Python 获得像素和颜色

  • Post category:Python

要获得像素和颜色,我们需要使用Python中的图像处理库。下面我将介绍如何使用Pillow库来实现获取像素和颜色的操作。

准备工作

在开始之前,请确保已安装Pillow库。如果没有安装,可以使用以下命令安装:

pip install Pillow

获取像素值

获取像素值,需要使用Pillow库中的Image模块。具体代码如下:

from PIL import Image

# 打开图片
img = Image.open("test.png")

# 获取像素值
pixels = img.load()

# 输出像素值
print(pixels[0,0])

上述代码中,我们打开一张图片,并使用load()方法获取了图片中所有像素的信息。对于一张1024×1024的图片,我们可以通过pixels[x,y]这样的方式获取任意像素的信息。例如pixels[0,0]表示获取图片左上角的像素颜色(R,G,B,A)。

获取颜色值

获取颜色值,我们需要使用Pillow库中的Image模块和Color模块。具体代码如下:

from PIL import Image, ImageColor

# 打开图片
img = Image.open("test.png")

# 获取颜色值
color = ImageColor.getrgb("#0000ff")

# 输出颜色值
print(color)

上述代码中,我们使用getrgb()方法获取了RGB颜色值。这个方法接收一个颜色值的参数,可以是颜色名称(如“red”)或16进制表示法(如“#ff0000”)。最终返回一个元组(R,G,B)表示颜色值,例如(0,0,255)表示蓝色。

示例

以下是一个获取图片像素并修改颜色的例子:

from PIL import Image, ImageColor

# 打开图片
img = Image.open("test.png")

# 获取像素值
pixels = img.load()

# 循环修改颜色
for x in range(img.width):
  for y in range(img.height):
    # 获取当前像素颜色值
    color = pixels[x,y]
    # 修改为红色
    pixels[x,y] = (255,0,0,255)

# 保存修改后的图片
img.save("test_modified.png")

上述代码将图片所有像素的颜色值修改为红色,并保存成一张新的图片。