python增加图像对比度的方法


Posted in Python onJuly 12, 2019

本代码实现的是,在旋转10度的基础上,再进行增加对比度的操作。

1 代码:

代码注释中的代码都是可以运行的.  但是不怎么靠谱,因为文件名被逐个编辑,有可能与原标签不对应,,更好的做法参考代码2

# -*- coding: UTF-8 -*-
from PIL import Image
from PIL import ImageEnhance
import PIL.Image as img
from PIL import ImageEnhance
import os
 
def rotationImage(filepath,destpath):
 count = 0
 filelist=os.listdir(filepath) #所有文件的文件名
 total_num=len(filelist) #所有文件的个数
 print(total_num) #输出文件个数
 for i in range(total_num): #对每张图像进行操作
  print(count)
  im=img.open(filepath+str(i+21)+str("_training")+".gif")
  for j in range(72):
   im_rotate=im.rotate(j*10) #每张图像都10°旋转一次
   #然后对其增加亮度对比度等操作
 
   enh_con=ImageEnhance.Contrast(im_rotate) #增加对比度 得到1440张
   image_contrasted=enh_con.enhance(1.5)
   image_contrasted.save(destpath + str("cont_") + str((j + 1) * 10) + str("_") + str(i + 21) + str("_") + str("manual1") + '.gif')
   count=count+1
   # enh_sha=ImageEnhance.Sharpness(im_rotate) #增加锐度
   # image_sharped=enh_sha.enhance(3.0)
   # image_sharped.save(destpath + str("sharp_") + str((j + 1) * 10) + str("_") + str(i + 21) + str("_") + str("training") + '.tif')
 
   # enh_bri=ImageEnhance.Brightness(im_rotate) #增加亮度 但是有问题
   # image_bright=enh_bri.enhance(1.5)
   # image_bright.save(destpath + str("bri_") + str((j + 1) * 10) + str("_") + str(i + 21) + str("_") + str("training") + '.tif')
 
   # enh_col=ImageEnhance.Color(im_rotate) #增加色度 但是有问题,
   # image_colored=enh_col.enhance(1.5)
   # image_colored.save(destpath + str("col_") + str((j + 1) * 10) + str("_") + str(i + 21) + str("_") + str("training") + '.tif')
 
  j=0
 
if __name__== '__main__':
 filepath='/home/qxq/Desktop/eyedata_final/train/label/gif/orginal/'
 destpath='/home/qxq/Desktop/eyedata_final/train/label/gif/brighten/'
 rotationImage(filepath,destpath)

2 代码:

更加靠谱的做法如下:

# -*- coding: UTF-8 -*-
from PIL import Image
from PIL import ImageEnhance
import os
 
rootdir = r'/home/qxq/Desktop/eyedata_final/mask/original/' # 指明被遍历的文件夹
for parent, dirnames, filenames in os.walk(rootdir):
 for filename in filenames:
  currentPath = os.path.join(parent, filename)
  im = Image.open(currentPath)
  for j in range(72):
   im_rotate = im.rotate(j * 10) # 每张图像都10°旋转一次
 
   enh_con = ImageEnhance.Contrast(im_rotate) # 增加对比度 得到1440张(20*72=1440)
   image_contrasted = enh_con.enhance(1.5)
   newname1 = r"/home/qxq/Desktop/eyedata_final/mask/brighten/" + 'Cont_' + filename
   image_contrasted.save(newname1)
 
   enh_sha = ImageEnhance.Sharpness(im_rotate) # 增加锐度
   image_sharped = enh_sha.enhance(3.0)
   newname2 = r"/home/qxq/Desktop/eyedata_final/mask/brighten/" + 'sharp_' + filename
   image_contrasted.save(newname2)
 
   #
   enh_bri = ImageEnhance.Brightness(im_rotate) # 增加亮度 但是有问题
   image_bright = enh_bri.enhance(1.5)
   newname3 = r"/home/qxq/Desktop/eyedata_final/mask/brighten/" + 'Bri_' + filename
   image_contrasted.save(newname3)
 
   #
   enh_col = ImageEnhance.Color(im_rotate) # 增加色度 但是有问题,
   image_colored = enh_col.enhance(1.5)
   newname4 = r"/home/qxq/Desktop/eyedata_final/mask/brighten/" + 'Col_' + filename
   image_contrasted.save(newname4)
 
 
  j = 0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之有容乃大的list(2)
Sep 15 Python
Python之多线程爬虫抓取网页图片的示例代码
Jan 10 Python
django加载本地html的方法
May 27 Python
Python实现的生产者、消费者问题完整实例
May 30 Python
Python Numpy:找到list中的np.nan值方法
Oct 30 Python
python-itchat 获取微信群用户信息的实例
Feb 21 Python
如何使用Python实现自动化水军评论
Jun 26 Python
关于Python中定制类的比较运算实例
Dec 19 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
Nov 10 Python
Python基础之数据类型知识汇总
May 18 Python
python 爬取哔哩哔哩up主信息和投稿视频
Jun 07 Python
Python中递归以及递归遍历目录详解
Oct 24 Python
Python 控制终端输出文字的实例
Jul 12 #Python
在Django的View中使用asyncio的方法
Jul 12 #Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 #Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
Jul 11 #Python
基于sklearn实现Bagging算法(python)
Jul 11 #Python
Python的log日志功能及设置方法
Jul 11 #Python
python使用装饰器作日志处理的方法
Jul 11 #Python
You might like
使用PHP备份MYSQL数据的多种方法
2014/01/15 PHP
php数组查找函数总结
2014/11/18 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
PHP学习记录之数组函数
2018/06/01 PHP
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
JavaScript定时器和优化的取消定时器方法
2015/07/03 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
Vue.js实现tab切换效果
2019/07/24 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
浅谈Python中的闭包
2015/07/08 Python
浅谈python中截取字符函数strip,lstrip,rstrip
2015/07/17 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
python得到电脑的开机时间方法
2018/10/15 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
关于python 跨域处理方式详解
2020/03/28 Python
Python __slots__的使用方法
2020/11/15 Python
python 下载文件的几种方法汇总
2021/01/06 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
关于十八大的演讲稿
2014/09/15 职场文书
2016高考感言
2015/08/01 职场文书
【海涛教你打dota】体验一超神发条:咱是抢盾专业户
2022/04/01 DOTA