python中使用PIL模組中的ImageEnhance進行圖片資料增強
阿新 • • 發佈:2018-11-11
使用此方法將圖片進行資料增強,具體增強圖片的形式是如下幾種:
"""
1、對比度:白色畫面(最亮時)下的亮度除以黑色畫面(最暗時)下的亮度;
2、色彩飽和度::彩度除以明度,指色彩的鮮豔程度,也稱色彩的純度;
3、色調:向負方向調節會顯現紅色,正方向調節則增加黃色。適合對膚色物件進行微調;
4、銳度:是反映影象平面清晰度和影象邊緣銳利程度的一個指標。
"""
程式碼如下:
import os from PIL import Image from PIL import ImageEnhance """ 1、對比度:白色畫面(最亮時)下的亮度除以黑色畫面(最暗時)下的亮度; 2、色彩飽和度::彩度除以明度,指色彩的鮮豔程度,也稱色彩的純度; 3、色調:向負方向調節會顯現紅色,正方向調節則增加黃色。適合對膚色物件進行微調; 4、銳度:是反映影象平面清晰度和影象邊緣銳利程度的一個指標。 """ def augument(image_path, parent): #讀取圖片 image = Image.open(image_path) image_name = os.path.split(image_path)[1] name = os.path.splitext(image_name)[0] #變亮 #亮度增強,增強因子為0.0將產生黑色影象;為1.0將保持原始影象。 enh_bri = ImageEnhance.Brightness(image) brightness = 1.5 image_brightened1 = enh_bri.enhance(brightness) image_brightened1.save(os.path.join(parent, '{}_bri1.jpg'.format(name))) #變暗 enh_bri = ImageEnhance.Brightness(image) brightness = 0.8 image_brightened2 = enh_bri.enhance(brightness) image_brightened2.save(os.path.join(parent, '{}_bri2.jpg'.format(name))) #色度,增強因子為1.0是原始影象 # 色度增強 enh_col = ImageEnhance.Color(image) color = 1.5 image_colored1 = enh_col.enhance(color) image_colored1.save(os.path.join(parent, '{}_col1.jpg'.format(name))) # 色度減弱 enh_col = ImageEnhance.Color(image) color = 0.8 image_colored1 = enh_col.enhance(color) image_colored1.save(os.path.join(parent, '{}_col2.jpg'.format(name))) #對比度,增強因子為1.0是原始圖片 # 對比度增強 enh_con = ImageEnhance.Contrast(image) contrast = 1.5 image_contrasted1 = enh_con.enhance(contrast) image_contrasted1.save(os.path.join(parent, '{}_con1.jpg'.format(name))) # 對比度減弱 enh_con = ImageEnhance.Contrast(image) contrast = 0.8 image_contrasted2 = enh_con.enhance(contrast) image_contrasted2.save(os.path.join(parent, '{}_con2.jpg'.format(name))) # 銳度,增強因子為1.0是原始圖片 # 銳度增強 enh_sha = ImageEnhance.Sharpness(image) sharpness = 3.0 image_sharped1 = enh_sha.enhance(sharpness) image_sharped1.save(os.path.join(parent, '{}_sha1.jpg'.format(name))) # 銳度減弱 enh_sha = ImageEnhance.Sharpness(image) sharpness = 0.8 image_sharped2 = enh_sha.enhance(sharpness) image_sharped2.save(os.path.join(parent, '{}_sha2.jpg'.format(name))) dir = 'E:/4/' for parent, dirnames, filenames in os.walk(dir): for filename in filenames: fullpath = os.path.join(parent + '/', filename) if 'jpg' in fullpath: print(fullpath, parent) augument(fullpath, parent)
效果如下:
原圖:
顯示一下變亮的圖片,其他的7個就不展示了吧
參考部落格:
https://blog.csdn.net/guduruyu/article/details/71124837