在标注图像时,有批量旋转图片的需求
# 批量旋转图片
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)