如何批量从RGB模式转为L模式

如何批量将jpg格式图片从RGB模式转为L模式
如下代码未报错,但也未创建成功

from PIL import Image
import os
def get_path(path):
    '''返回目录中所有PNG图像的文件名列表'''
    return [os.path.join(path,f) for f in os.listdir(path) if f.endswith('.png')]
pth = get_path('C:/Users/ASUS/Desktop/train')   # get_path(path)中path参数是自己的文件夹目录,例如('../mask_dir_Class)
for img in pth:
    im = Image.open(img).convert('L')
    im.save('C:/

在将图像从RGB转换为L模式时,可以使用Pillow库中的convert()方法。示例代码如下,它将指定目录中所有的jpg格式的图片都转换为L模式并保存到新的文件夹中:

from PIL import Image
import os

# 获取目录中所有JPG图像的文件名列表
def get_path(path):
    return [os.path.join(path, f) for f in os.listdir(path) if f.endswith('.jpg')]

# 创建新文件夹用于存储转换后的图像
if not os.path.exists('C:/Users/ASUS/Desktop/train_L'):
    os.mkdir('C:/Users/ASUS/Desktop/train_L')

# 获取图像列表并进行转换
img_list = get_path('C:/Users/ASUS/Desktop/train')
for img_path in img_list:
    im = Image.open(img_path).convert('L')
    # 获取文件名并拼接新的路径
    img_name = os.path.basename(img_path)
    new_path = os.path.join('C:/Users/ASUS/Desktop/train_L', img_name)
    # 保存转换后的图像
    im.save(new_path)


首先定义一个get_path()函数,用于获取目录中所有jpg格式的图片的文件名列表。然后创建了一个新的文件夹train_L,用于存储转换后的图像。在获取图像列表之后,使用Pillow库中的Image.open()方法打开每个图像,并将其转换为L模式。然后将转换后的图像保存到新的文件夹中,以与原始图像相同的文件名。

im.save('C:/
这代码后面都不完整

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇文章:图片RGB 修改 也许能够解决你的问题,你可以看下

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^