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 相关文章推荐
Python3基础之list列表实例解析
Aug 13 Python
python实现感知器算法详解
Dec 19 Python
浅谈Python中的私有变量
Feb 28 Python
pymongo中group by的操作方法教程
Mar 22 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
python列表每个元素同增同减和列表元素去空格的实例
Jul 20 Python
python、PyTorch图像读取与numpy转换实例
Jan 13 Python
Django关于admin的使用技巧和知识点
Feb 10 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
Mar 04 Python
基于Python组装jmx并调用JMeter实现压力测试
Nov 03 Python
python实现学生信息管理系统(精简版)
Nov 27 Python
Python OpenGL基本配置方式
May 20 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
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
JavaScript的Cookies
2008/01/16 Javascript
js tab 选项卡
2009/04/26 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
js 幻灯片的实现
2011/12/06 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
使用命令对象代替switch语句的写法示例
2015/02/28 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
vue-cli2.9.3 详细教程
2018/04/23 Javascript
vue项目实现github在线预览功能
2018/06/20 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
js键盘事件实现人物的行走
2020/01/17 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
在Windows8上的搭建Python和Django环境
2014/07/03 Python
深入浅析Python字符编码
2015/11/12 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
django框架实现模板中获取request 的各种信息示例
2019/07/01 Python
python绘制直方图和密度图的实例
2019/07/08 Python
毕业生动漫设计求职信
2013/10/11 职场文书
酒店应聘自荐信
2013/11/09 职场文书
期中考试后的反思
2014/02/08 职场文书
挂科检讨书范文
2014/02/20 职场文书
巡警年度自我鉴定
2014/02/21 职场文书
先进教师个人总结
2015/02/11 职场文书
通知书大全
2015/04/27 职场文书
如何写观后感
2015/06/19 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技