批量旋转图片

在标注图像时,有批量旋转图片的需求

# 批量旋转图片
from PIL import Image
import os


def get_filelist(path):
    Filelist = []
    for home, dirs, files in os.walk(path):
        for filename in files:
            # 文件名列表,包含完整路径
            Filelist.append(os.path.join(home, filename))
            # # 文件名列表,只包含文件名
            # Filelist.append( filename)

    return Filelist


if __name__ == "__main__":
    # 获取文件夹得目录
    filePath = 'F:\\14'

    # 指定保存的文件夹
    outputPath = 'F:\\14_new'

    # 获得文件夹下所有文件
    Filelist = get_filelist(filePath)
    print(len(Filelist))
    # 迭代所有图片
    for filename in Filelist:
        try:
            print(filename)
        # 读取图像
            im = Image.open(filename)
        # 指定逆时针旋转的角度
        # im_rotate = im.transpose(Image.ROTATE_90)
            im_rotate = im.transpose(Image.ROTATE_180)
        # im_rotate = im.transpose(Image.ROTATE_270)
        # 保存图像
            output_path = filename.replace(filePath, outputPath)
            outputdir = output_path.rsplit('\\', 1)[0]
            if not os.path.exists(outputdir):
                os.mkdir(outputdir)
            im_rotate.save(output_path)
        except:
            print("error",filename)

你可能感兴趣的:(python)