png、jpeg、JPEG、JPG转jpg不改变前缀,只改变文件格式!(为yolo训练做准备)

png、jpeg、JPEG、JPG转jpg不改变前缀,只改变文件格式!
yolo无法直接训练不是jpg格式的图片,会出现下图警示,因此需要格式转变。
png、jpeg、JPEG、JPG转jpg不改变前缀,只改变文件格式!(为yolo训练做准备)_第1张图片

from PIL import Image
import os
 
# 设置需要转换的图片目录
img_dir = r"datasets/ExDark/images/val"#改1
 
# 遍历目录下所有文件
for filename in os.listdir(img_dir):
    # 判断文件是否为png格式
    if filename.endswith(".png"):#改2
        # 构造新的文件名,将后缀改为jpg
        new_filename = os.path.splitext(filename)[0] + ".jpg"
        # 打开图片
        img = Image.open(os.path.join(img_dir, filename))
        # 如果图片是RGBA模式,转换为RGB模式
        if img.mode == "RGBA":
            img = img.convert("RGB")
        # 如果图片是P模式,转换为RGB模式
        if img.mode == "P":
            img = img.convert("RGB")
        # 保存为新的jpg格式图片
        img.save(os.path.join(img_dir, new_filename))
        # 关闭图片
        img.close()
        # 删除原来的png格式图片
        os.remove(os.path.join(img_dir, filename))

你可能感兴趣的:(YOLO,深度学习,人工智能)