深度学习的数据增强,数据预处理
把一个文件夹下面的图片进行旋转等操作,按照自己的需求来
python对图片进行水平、垂直、按某一角度翻转(旋转)
- 单独处理一张图片
import sys
import cv2
import os
from PIL import Image
from PIL import ImageDraw
os.getcwd()
im_path = os.path.join(os.getcwd(), '000057.jpg')
print(im_path)
img1 = Image.open(im_path)
# ================
out1 = img1.transpose(Image.FLIP_LEFT_RIGHT) # 水平翻转
out2 = img1.transpose(Image.FLIP_TOP_BOTTOM) # 垂直翻转
out3 = img1.rotate(45) # 45°顺时针翻转
# out4 = img.rotate(30) # 30°顺时针翻转
out1.show()
out2.show()
out3.show()
# out4.show()
out_path1 = os.path.join(os.getcwd(), '000057_1.jpg')
out_path2 = os.path.join(os.getcwd(), '000057_2.jpg')
out_path3 = os.path.join(os.getcwd(), '000057_3.jpg')
out1.save(out_path1) # 水平翻转
out2.save(out_path2) # 垂直翻转
out3.save(out_path3) # 45°顺时针翻转
- 处理某文件夹中所有图片
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#!/usr/bin/env python
import sys
import cv2
import os
from PIL import Image
from PIL import ImageDraw
os.getcwd()
path = os.path.join(os.getcwd(),'image')
print(path)
im_file = os.listdir(path)
for im_file_index_i in im_file:
os.getcwd()
path = os.path.join(os.getcwd(), 'image')
# im_test = os.path.join(path, im_file_index_i)
im_test = os.path.join(path, im_file_index_i)
print(im_test)
img1 = Image.open(im_test)
# ====================================================
out = Image.open(im_test)
out1 = out.transpose(Image.FLIP_LEFT_RIGHT) # 水平翻转
out2 = out.transpose(Image.FLIP_TOP_BOTTOM) #垂直翻转
out3 = out.rotate(45) #45°顺时针翻转
# out4 = img.rotate(30) #30°顺时针翻转
#out1.show()
#out2.show()
#out3.show()
# out4.show()
name1 = '/home/.../image/' + im_file_index_i
out1.save(name1)
name2 = '/home/.../image/' + im_file_index_i
out2.save(name2)
参考代码:
#!/usr/bin/env python
from PIL import Image
import os
import os.path
rootdir = r'C:\Users\wy\Desktop\kd' #读取文件夹位置
for parent, dirnames, filenames in os.walk(rootdir):
for filename in filenames:
print('parentis :' + parent)
print('filenameis :' + filename)
currentPath = os.path.join(parent, filename)
print('thefulll name of the file is :' + currentPath)
im = Image.open(currentPath)
out1 = im.transpose(Image.FLIP_LEFT_RIGHT) #水平翻转
out2 = im.transpose(Image.FLIP_TOP_BOTTOM) #垂直翻转
out3 = im.rotate(45) #45°顺时针翻转
newname = r"C:\Users\wy\Desktop\kd_1" + '\\' + filename + "(1).jpg"
out.save(newname)