对一张图片进行翻转和旋转,最终能得到连原图在内的8张不同的照片
import random
import os
import os.path as osp
from PIL import Image
dataset_dir='/home/walden/pytorch/uiuc/data/VOC/demo'
def file_name(file_dir):
L=[]
for root, dirs, files in os.walk(file_dir):
for file in files:
if os.path.splitext(file)[1] == '.png':
#L.append(os.path.join(root, file))
L.append(file)
return L
my_filename=file_name(dataset_dir)
random.shuffle(my_filename)
f=open('all.txt','w')
for i in my_filename:
#k=' '.join([str(j) for j in i])
f.write(i+"\n")
f.close()
for i in my_filename:
path=osp.join(dataset_dir, '%s' % i)
img=Image.open(path)
img.save(path[0:len(path)-4]+'.bmp')
img1=img.transpose(Image.ROTATE_90)
img1.save(path[0:len(path)-4]+'_90.bmp')
img6=img1.transpose(Image.FLIP_TOP_BOTTOM)
img6.save(path[0:len(path)-4]+'_90_TOP_BOTTOM.bmp')
img7=img1.transpose(Image.FLIP_LEFT_RIGHT)
img7.save(path[0:len(path)-4]+'_90_LEFT_RIGHT.bmp')
img2=img.transpose(Image.ROTATE_180)
img2.save(path[0:len(path)-4]+'_180.bmp')
img3=img.transpose(Image.ROTATE_270)
img3.save(path[0:len(path)-4]+'_270.bmp')
img4=img.transpose(Image.FLIP_LEFT_RIGHT)
img4.save(path[0:len(path)-4]+'_LEFT_RIGHT.bmp')
img5=img.transpose(Image.FLIP_TOP_BOTTOM)
img5.save(path[0:len(path)-4]+'_TOP_BOTTOM.bmp')
参考网址:
https://www.cnblogs.com/way_testlife/archive/2011/04/17/2019013.html【Python 之 使用 PIL 库做图像处理】