Python图像处理:使用Pillow库将灰度图像转换为冷色调
这个问题需要使用Python的Pillow库来操作图像。以下是实现代码:
from PIL import Image
# 导入灰度图像
im = Image.open('image.png').convert('L')
# 将灰度范围分为20层
gray_levels = [i*255//19 for i in range(20)]
# 创建一个新的RGB图像
im_cold = Image.new('RGB', im.size)
# 对每个像素进行处理
for x in range(im.width):
for y in range(im.height):
# 获取像素的灰度值
gray = im.getpixel((x, y))
# 根据灰度值找到对应的层
level = next(i for i, level in enumerate(gray_levels) if gray <= level)
# 根据层的位置计算RGB值
r = g = b = 255 - level*12
# 将RGB值赋给新图像的像素
im_cold.putpixel((x, y), (r, g, b))
# 保存成新的图像
im_cold.save('image_cold.png')
这个代码首先导入了Pillow库并打开了一幅灰度图像。然后将灰度范围分为20层,并创建了一个新的RGB图像。接着对每个像素进行处理,根据灰度值找到对应的层,然后根据层的位置计算RGB值,并将RGB值赋给新图像的像素。最后保存成新的图像。
原文地址: https://www.cveoy.top/t/topic/nx8D 著作权归作者所有。请勿转载和采集!