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比较两个图片相似度的方法
Mar 13 Python
python删除列表内容
Aug 04 Python
恢复百度云盘本地误删的文件脚本(简单方法)
Oct 21 Python
Python并发编程协程(Coroutine)之Gevent详解
Dec 27 Python
详解Python3的TFTP文件传输
Jun 26 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
python爬虫简单的添加代理进行访问的实现代码
Apr 04 Python
使用python实现数组、链表、队列、栈的方法
Dec 20 Python
Python的in,is和id函数代码实例
Apr 18 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 Python
python 开心网和豆瓣日记爬取的小爬虫
May 29 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快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
php redis实现文章发布系统(用户投票系统)
2017/03/04 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
永不消失的title提示代码
2007/02/15 Javascript
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
JS 强制设为首页的代码
2009/01/31 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
2016/12/01 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
[05:39]2014DOTA2国际邀请赛 DK晋级胜者组专访战队国士无双
2014/07/14 DOTA
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
python学生管理系统代码实现
2020/04/05 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
Django封装交互接口代码
2020/07/12 Python
HTML5 video 事件应用示例
2014/09/11 HTML / CSS
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
我们的节日清明节活动总结
2014/04/30 职场文书
旅游专业毕业生自荐书
2014/06/30 职场文书
2014年路政工作总结
2014/12/10 职场文书
社区五一劳动节活动总结
2015/02/09 职场文书
公司的力量观后感
2015/06/05 职场文书
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android
基于Redission的分布式锁实战
2022/08/14 Redis