'''
亮度增强、对比度增强、水平翻转和随机方向旋转
'''
from PIL import ImageEnhance
import os
import numpy as np
from PIL import Image
def brightnessEnhancement(root_path,img_name):
image = Image.open(os.path.join(root_path, img_name))
enh_bri = ImageEnhance.Brightness(image)
brightness = 1.5
image_brightened = enh_bri.enhance(brightness)
return image_brightened
def contrastEnhancement(root_path, img_name):
image = Image.open(os.path.join(root_path, img_name))
enh_con = ImageEnhance.Contrast(image)
contrast = 1.5
image_contrasted = enh_con.enhance(contrast)
return image_contrasted
def rotation(root_path, img_name):
img = Image.open(os.path.join(root_path, img_name))
random_angle = np.random.randint(-2, 2)*90
if random_angle==0:
rotation_img = img.rotate(-90)
else:
rotation_img = img.rotate( random_angle)
return rotation_img
def flip(root_path,img_name):
img = Image.open(os.path.join(root_path, img_name))
filp_img = img.transpose(Image.FLIP_LEFT_RIGHT)
return filp_img
def createImage(imageDir,saveDir):
i=0
for name in os.listdir(imageDir):
i=i+1
saveName="cesun"+str(i)+".jpg"
saveImage=contrastEnhancement(imageDir,name)
saveImage.save(os.path.join(saveDir,saveName))
saveName1 = "flip" + str(i) + ".jpg"
saveImage1 = flip(imageDir,name)
saveImage1.save(os.path.join(saveDir, saveName1))
saveName2 = "brightnessE" + str(i) + ".jpg"
saveImage2 = brightnessEnhancement(imageDir, name)
saveImage2.save(os.path.join(saveDir, saveName2))
saveName3 = "rotate" + str(i) + ".jpg"
saveImage = rotation(imageDir, name)
saveImage.save(os.path.join(saveDir, saveName3))
if __name__ == '__main__':
imageDir="E:\Year1\计算机视觉\数据集\第二次实验"
print('正在干活中.....等一会')
saveDir="E:\Year1\计算机视觉\图像增强\增强后"
createImage(imageDir, saveDir)
print('不辱使命....搞完了')```