使用Python批量转换彩色图片到灰度图片

当涉及到图像处理和计算机视觉时,有时需要将彩色图片转换为灰度图片,一张一张使用PS等工具转换十分复杂且没有必要。今天介绍的这种方法用到了Pillow库。使用Pillow库来打开,加载并转换彩色图像,并将图像储存在另一个文件夹里。具体步骤如下所示。


目录

 〇、准备工作,PIL库安装

一、转换一张彩色图片到灰度图片

二、批量转换彩色图片到灰度图片


 〇、准备工作,PIL库安装

可以通过以下命令在Python中安装Pillow库(它是Python Imaging Library的分支版本):

pip install Pillow

此外,还可以通过Anaconda或Miniconda等科学计算发行版进行安装。如果你使用Anaconda,可以使用以下命令来安装Pillow库:

conda install pillow

一、转换一张彩色图片到灰度图片

目前,我们的程序使用了Pillow库中的convert()方法将彩色图片转换为灰度图片。该方法接受一个字符串参数,指定要将图像转换为的模式。对于灰度图像,模式为'L'。以下是我们的代码示例:

from PIL import Image

# 打开彩色图片
color_image = Image.open("color_image.jpg")

# 将彩色图片转换为灰度图片
gray_image = color_image.convert('L')

# 保存灰度图片
gray_image.save("gray_image.jpg")

在这个例子中,我们打开了名为color_image.jpg的彩色图片,然后使用convert()方法将其转换为灰度图像。最后,我们使用save()方法保存了灰度图像。如果你想转换的图片是别的类型的图片,只需要将.jpg 换成你所需的格式类型即可,例如.png。

二、批量转换彩色图片到灰度图片

有了一张图片的转换,多张图片的转换就变得简单起来了。接下来的批量处理我们将以png后缀图片为例。

import os
from PIL import Image

# 设置输入和输出文件夹的路径
input_dir = "/path/to/input/directory"  # 输入文件夹路径
output_dir = "/path/to/output/directory"  # 输出文件夹路径

# 如果输出文件夹不存在,则创建输出文件夹
if not os.path.exists(output_dir):
    os.makedirs(output_dir)

# 循环遍历输入文件夹中的所有PNG文件
for filename in os.listdir(input_dir):
    if filename.endswith(".png"):
        # 打开彩色图像
        color_image = Image.open(os.path.join(input_dir, filename))

        # 将彩色图像转换为灰度图像
        gray_image = color_image.convert('L')

        # 将灰度图像保存到输出文件夹中
        gray_image.save(os.path.join(output_dir, filename))

在此程序中,我们需要将输入和输出文件夹的路径设置为自己的文件路径。接下来,程序循环将输入文件夹中的所有PNG文件,并检查文件是否以.png结尾。对于每个PNG文件,它打开彩色图像,将其转换为灰度图像,并将灰度图像以相同的文件名保存到输出文件夹中。

注意

请确保将/path/to/input/directory/path/to/output/directory替换为自己的路径。

猜你喜欢

转载自blog.csdn.net/weixin_49030835/article/details/129538975