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中%是什么意思?python中百分号如何使用?
Mar 20 Python
python框架中flask知识点总结
Aug 17 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
python2与python3共存问题的解决方法
Sep 18 Python
python中for循环输出列表索引与对应的值方法
Nov 07 Python
python GUI实现小球满屏乱跑效果
May 09 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
Aug 28 Python
python树的同构学习笔记
Sep 14 Python
python2与python3爬虫中get与post对比解析
Sep 18 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
Oct 24 Python
matplotlib基础绘图命令之errorbar的使用
Aug 13 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语句将数据库*.sql文件导入数据库
2014/05/05 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
tbody元素支持嵌套的注意方法
2007/03/24 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
2013/01/16 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
2016/09/22 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
2018/07/23 jQuery
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
electron实现静默打印的示例代码
2019/08/12 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
为什么黑客都用python(123个黑客必备的Python工具)
2020/01/31 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
证婚人经典证婚词
2014/01/09 职场文书
安全事故检讨书
2014/01/18 职场文书
师范学院教师自荐书
2014/01/31 职场文书
祖国在我心中演讲稿600字
2014/05/04 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
2014年国庆节演讲稿精选范文1500字
2014/09/25 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python
MySQL多表查询机制
2022/03/17 MySQL