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

"""
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.5image_brightened1 = enh_bri.enhance(brightness)image_brightened1.save(os.path.join(parent, '{}_bri1.jpg'.format(name)))#变暗enh_bri = ImageEnhance.Brightness(image)brightness = 0.8image_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.5image_colored1 = enh_col.enhance(color)image_colored1.save(os.path.join(parent, '{}_col1.jpg'.format(name)))# 色度减弱enh_col = ImageEnhance.Color(image)color = 0.8image_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.5image_contrasted1 = enh_con.enhance(contrast)image_contrasted1.save(os.path.join(parent, '{}_con1.jpg'.format(name)))# 对比度减弱enh_con = ImageEnhance.Contrast(image)contrast = 0.8image_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.0image_sharped1 = enh_sha.enhance(sharpness)image_sharped1.save(os.path.join(parent, '{}_sha1.jpg'.format(name)))# 锐度减弱enh_sha = ImageEnhance.Sharpness(image)sharpness = 0.8image_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

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

  1. 图片数据增强,包括模糊,亮度,裁剪,旋转,平移,镜像 ,python ,LabelImg,LabelMe工具

    图片数据增强,包括模糊,亮度,裁剪,旋转,平移,镜像 ,python ,LabelImg,LabelMe工具 1 对象检测图片数据增强(使用labelImg工具) 2 对象分割图片数据增强(使用lab ...

  2. 如何在pycharm中安装PIL模块

    如何在pycharm中安装PIL模块? 问题描述 解决方法 问题描述 在使用pycharm时,导入PIL模块保错,需安装PIL模块,于是,进行安装. 打开设置 安装模块 搜索 PIL,并进行安装 最后 ...

  3. linux系统python截图不显示中文_Linux运维知识之解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题...

    本文主要向大家介绍了Linux运维知识之解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题,通过具体的内容向大家展现,希望对大家学习Linux运维知 ...

  4. python3异步task_并发,异步编程_Python中的asyncio模块中的Future和Task的区别?,并发,异步编程,python,asyncio - phpStudy...

    Python中的asyncio模块中的Future和Task的区别? 问题一 按照官方文档的描述,Task是Futrue的一个subclass,标准库中也分别提供了create_task和create ...

  5. Dataset之图片数据增强:设计自动生成汽车车牌图片算法(cv2+PIL)根据随机指定七个字符生成逼真车牌图片数据集(自然场景下+各种噪声效果)可视化

    Dataset之图片数据增强:设计自动生成汽车车牌图片算法(cv2+PIL)根据随机指定七个字符生成逼真车牌图片数据集(自然场景下+各种噪声效果)可视化 导读 设计自动生成汽车车牌图片算法,基于cv2 ...

  6. Dataset之图片数据增强:设计自动生成(高级封装之命令行解析实现)汽车车牌图片算法(cv2+PIL+argparse)根据随机指定七个字符自动生成逼真车牌图片数据集(带各种噪声效果)

    Dataset之图片数据增强:设计自动生成(高级封装之命令行解析实现)汽车车牌图片算法(cv2+PIL+argparse)根据随机指定七个字符自动生成逼真车牌图片数据集(带各种噪声效果) 导读 设计自 ...

  7. 在Ubuntu 16.04.5 LTS上利用python 2.7中的PIL模块智能等比例压缩过大的图片集实操

    需求 有时候自媒体创作写稿时难免遇到大规模压缩某个文件夹内的图片的情况,通常我们可以使用一些批量压缩的工具来处理,但我觉得,这是小白的做法,对于我们这些经验丰富的老司机来说,使用代码来处理,将是一件高 ...

  8. 在Ubuntu 16.04.5 LTS上利用python中的PIL模块压缩一百多兆的单张图片实操

    在前面的博文中,我将300多张电影海报拼接为了一张103MB的巨幅图片,我想拿它做电脑桌面(1080P),但是这么多的图片,存储和加载是个麻烦事儿,需要将它压缩到几MB大小. 在Ubuntu 16.0 ...

  9. python中的pil模块_初学python的PIL模块

    这个星期事情比较多,所以学习的任务没有完成的很完美,不过也还是学了一点东西的.下面来介绍一下PIL模块. 对PIL的学习还是要从sae平台上没办法读写本地文件说起.因为我要一次性上传好多张图片,所以不 ...

最新文章

  1. 前台开发之HTML定义语义化
  2. java基础(七) 深入解析java四种访问权限
  3. sitecore系统教程之架构概述
  4. 后端开发:数据持久化框架为什么放弃Hibernate、JPA、Mybatis,最终选择JDBCTemplate!...
  5. Chapter1-1_Speech_Recognition(Overview)
  6. 我最开始学dancing link的HTML5的时候
  7. 一起学习C语言:C语言循环结构(一)
  8. 【端午送福】13000 人正在学习的数据分析实战课,抽奖送送送!
  9. c语言设置bufsiz大小,c语言缓冲区有关问题及c++中的this指针
  10. win10电脑ip地址怎么设置?几步就能学会
  11. 【VS开发】MFC修改Opencv namedWindow的风格
  12. golang,break跳出循环的例子以及随机数生成
  13. thinkphp 下载txt文档
  14. 使用Zoiper与freeSWITCH开视频会议
  15. Idea2017 破解版下载注册步骤(含注册码),亲测可用
  16. 信息安全工程师考试科目
  17. C语言超全学习路线(少走弯路)
  18. .NET Core 2.0生成图片验证码
  19. 移动通信第三章,组网技术基础
  20. 美团外卖API接入(二)

热门文章

  1. 热烈庆祝个人博客突破1万人!
  2. 卸载 Visual Studio 2005
  3. CookieHelper
  4. MSIL实用指南-生成break和continue
  5. 数组的几个重要方法以及如何清空数组
  6. ClippingNode实现新手引导高亮裁切
  7. 一些常用算法 练手的的代码
  8. mysql5.7非源码版msi安装教程
  9. 无法从计算机验证正在安装驱动,如何修复正在安装的驱动程序未在英特尔计算机上为此计算机验证 | MOS86...
  10. mysql 如何选择2行_MYSQL – 从大表中的第二行中选择数据