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实现Tab自动补全和历史命令管理的方法
Mar 12 Python
介绍Python的Urllib库的一些高级用法
Apr 30 Python
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
Python实现分段线性插值
Dec 17 Python
python 处理telnet返回的More,以及get想要的那个参数方法
Feb 14 Python
Python元组知识点总结
Feb 18 Python
Django 实现前端图片压缩功能的方法
Aug 07 Python
python求平均数、方差、中位数的例子
Aug 22 Python
Django实现分页显示效果
Oct 31 Python
浅析Python迭代器的高级用法
Jul 16 Python
如何用Anaconda搭建虚拟环境并创建Django项目
Aug 02 Python
python实现socket简单通信的示例代码
Apr 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
在wamp集成环境下升级php版本(实现方法)
2013/07/01 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
php array_chunk()函数用法与注意事项
2019/07/12 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
js获取单选按钮的数据
2006/11/27 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
javascript alert乱码的解决方法
2013/11/05 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
浅谈JS闭包中的循环绑定处理程序
2014/11/09 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
Vue内容分发slot(全面解析)
2017/08/19 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
如何在Django项目中引入静态文件
2019/07/26 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
创建Shapefile文件并写入数据的例子
2019/11/26 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
2013/01/30 HTML / CSS
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
中软Java笔试题
2012/11/11 面试题
自动化专业职业生涯规划书范文
2014/01/16 职场文书
python urllib库的使用详解
2021/04/13 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android