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将人民币转换大写的脚本代码
Feb 10 Python
简单文件操作python 修改文件指定行的方法
May 15 Python
老生常谈python函数参数的区别(必看篇)
May 29 Python
TensorFlow实现创建分类器
Feb 06 Python
numpy数组之存取文件的实现示例
May 24 Python
Python使用pyserial进行串口通信的实例
Jul 02 Python
Django中的用户身份验证示例详解
Aug 07 Python
Python threading.local代码实例及原理解析
Mar 16 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
May 03 Python
python实现数据结构中双向循环链表操作的示例
Oct 09 Python
python 将Excel转Word的示例
Mar 02 Python
python 实现定时任务的四种方式
Apr 01 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 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
浅谈php serialize()与unserialize()的用法
2013/06/05 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
jQuery实现基本动画效果的方法详解
2018/09/06 jQuery
Vue核心概念Getter的使用方法
2019/01/18 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python内置模块turtle绘图详解
2017/12/09 Python
python的Tqdm模块的使用
2018/01/10 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
Python使用scrapy爬取阳光热线问政平台过程解析
2019/08/14 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
肯尼迪就职演说稿
2013/12/31 职场文书
房地产开发项目建议书
2014/05/16 职场文书
2015年教师工作总结范文
2015/03/31 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
Python采集爬取京东商品信息和评论并存入MySQL
2022/04/12 Python