1 说明
本文实例讲述了Python图像的增强处理操作。分享出来供大家参考,python中PIL模块中有一个叫做ImageEnhance的类,该类专门用于图像的增强处理,不仅可以增强(或减弱)图像的亮度、对比度、色度,还可以用于增强图像的锐度。
2 代码
from PIL import Image
from PIL import ImageEnhance
import cv2
import matplotlib.pylab as plt
import os
import numpy as np
# #原始图像
# image = Image.open('lena.jpg')
# image.show()
#亮度增强
def brightness_ImageEnhance(img):
enh_bri = ImageEnhance.Brightness(img)
brightness = 2
image_brightened = enh_bri.enhance(brightness)
# image_brightened.show()
return image_brightened
#色度增强
def color_ImageEnhance(img):
enh_col = ImageEnhance.Color(img)
color = 1.5
image_colored = enh_col.enhance(color)
# image_colored.show()
return image_colored
#对比度增强
def contrast_ImageEnhance(img):
enh_con = ImageEnhance.Contrast(img)
contrast = 5
image_contrasted = enh_con.enhance(contrast)
# image_contrasted.show()
return image_contrasted
#锐度增强
def sharpness_ImageEnhance(img):
enh_sha = ImageEnhance.Sharpness(img)
sharpness = 3.0
image_sharped = enh_sha.enhance(sharpness)
# image_sharped.show()
return image_sharped
def image_enhance(source_path,save_path):
if not os.path.exists(source_path):
return
if not os.path.exists(save_path):
os.makedirs(save_path)
for file in os.listdir(source_path):
print(file)
image = Image.open(os.path.join(source_path,file))
image_enh = brightness_ImageEnhance(image)
cv2.imwrite(os.path.join(save_path,file),np.array(image_enh))
if __name__ == '__main__':
image_enhance('F:\\LPT_Gan_data(1)\\LPT_Gan_data\\data','F:\\LPT_Gan_data(1)\\LPT_Gan_data\\data(enhance)')