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之编写类之一创建实例
Oct 11 Python
python实现bucket排序算法实例分析
May 04 Python
requests和lxml实现爬虫的方法
Jun 11 Python
Python模块结构与布局操作方法实例分析
Jul 24 Python
python实现kNN算法
Dec 20 Python
详解Python中的动态属性和特性
Apr 07 Python
基于python OpenCV实现动态人脸检测
May 25 Python
python 中文件输入输出及os模块对文件系统的操作方法
Aug 27 Python
很酷的python表白工具 你喜欢我吗
Apr 11 Python
python机器学习库xgboost的使用
Jan 20 Python
python算的上脚本语言吗
Jun 22 Python
浅谈Python中的正则表达式
Jun 28 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
hadoop常见错误以及处理方法详解
2013/06/19 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
2010/03/18 Javascript
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
2013/06/04 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
Angular2 自定义validators的实现方法
2017/07/05 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
2018/02/08 Javascript
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
Vue实现一个图片懒加载插件
2019/03/11 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
vuex 中插件的编写案例解析
2019/06/10 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
Vue 设置axios请求格式为form-data的操作步骤
2019/10/29 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
python 下载m3u8视频的示例代码
2020/11/11 Python
python 实现汉诺塔游戏
2020/11/28 Python
python3中确保枚举值代码分析
2020/12/02 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
2015/09/17 面试题
编程输出如下图形
2013/11/24 面试题
大学生通用个人自我评价
2014/04/27 职场文书
降价通知函
2015/04/23 职场文书
社区党支部承诺书
2015/04/29 职场文书
2016年五一促销广告语
2016/01/28 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
python实现简单的聊天小程序
2021/07/07 Python
Redis RDB技术底层原理详解
2021/09/04 Redis