python中使用PIL模块中的ImageEnhance进行图片数据增强

使用此方法将图片进行数据增强,具体增强图片的形式是如下几种:

"""
1、对比度:白色画面(最亮时)下的亮度除以黑色画面(最暗时)下的亮度;
2、色彩饱和度::彩度除以明度,指色彩的鲜艳程度,也称色彩的纯度;
3、色调:向负方向调节会显现红色,正方向调节则增加黄色。适合对肤色对象进行微调;
4、锐度:是反映图像平面清晰度和图像边缘锐利程度的一个指标。
"""

代码如下:


 
 
  1. import os
  2. from PIL import Image
  3. from PIL import ImageEnhance
  4. """
  5. 1、对比度:白色画面(最亮时)下的亮度除以黑色画面(最暗时)下的亮度;
  6. 2、色彩饱和度::彩度除以明度,指色彩的鲜艳程度,也称色彩的纯度;
  7. 3、色调:向负方向调节会显现红色,正方向调节则增加黄色。适合对肤色对象进行微调;
  8. 4、锐度:是反映图像平面清晰度和图像边缘锐利程度的一个指标。
  9. """
  10. def augument(image_path, parent):
  11. #读取图片
  12. image = Image.open(image_path)
  13. image_name = os.path.split(image_path)[ 1]
  14. name = os.path.splitext(image_name)[ 0]
  15. #变亮
  16. #亮度增强,增强因子为0.0将产生黑色图像;为1.0将保持原始图像。
  17. enh_bri = ImageEnhance.Brightness(image)
  18. brightness = 1.5
  19. image_brightened1 = enh_bri.enhance(brightness)
  20. image_brightened1.save(os.path.join(parent, '{}_bri1.jpg'.format(name)))
  21. #变暗
  22. enh_bri = ImageEnhance.Brightness(image)
  23. brightness = 0.8
  24. image_brightened2 = enh_bri.enhance(brightness)
  25. image_brightened2.save(os.path.join(parent, '{}_bri2.jpg'.format(name)))
  26. #色度,增强因子为1.0是原始图像
  27. # 色度增强
  28. enh_col = ImageEnhance.Color(image)
  29. color = 1.5
  30. image_colored1 = enh_col.enhance(color)
  31. image_colored1.save(os.path.join(parent, '{}_col1.jpg'.format(name)))
  32. # 色度减弱
  33. enh_col = ImageEnhance.Color(image)
  34. color = 0.8
  35. image_colored1 = enh_col.enhance(color)
  36. image_colored1.save(os.path.join(parent, '{}_col2.jpg'.format(name)))
  37. #对比度,增强因子为1.0是原始图片
  38. # 对比度增强
  39. enh_con = ImageEnhance.Contrast(image)
  40. contrast = 1.5
  41. image_contrasted1 = enh_con.enhance(contrast)
  42. image_contrasted1.save(os.path.join(parent, '{}_con1.jpg'.format(name)))
  43. # 对比度减弱
  44. enh_con = ImageEnhance.Contrast(image)
  45. contrast = 0.8
  46. image_contrasted2 = enh_con.enhance(contrast)
  47. image_contrasted2.save(os.path.join(parent, '{}_con2.jpg'.format(name)))
  48. # 锐度,增强因子为1.0是原始图片
  49. # 锐度增强
  50. enh_sha = ImageEnhance.Sharpness(image)
  51. sharpness = 3.0
  52. image_sharped1 = enh_sha.enhance(sharpness)
  53. image_sharped1.save(os.path.join(parent, '{}_sha1.jpg'.format(name)))
  54. # 锐度减弱
  55. enh_sha = ImageEnhance.Sharpness(image)
  56. sharpness = 0.8
  57. image_sharped2 = enh_sha.enhance(sharpness)
  58. image_sharped2.save(os.path.join(parent, '{}_sha2.jpg'.format(name)))
  59. dir = 'E:/4/'
  60. for parent, dirnames, filenames in os.walk(dir):
  61. for filename in filenames:
  62. fullpath = os.path.join(parent + '/', filename)
  63. if 'jpg' in fullpath:
  64. print(fullpath, parent)
  65. augument(fullpath, parent)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值