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使用urllib2模块获取gravatar头像实例
Dec 18 Python
python模拟Django框架实例
May 17 Python
python实现简单购物商城
May 21 Python
Python 爬虫学习笔记之单线程爬虫
Sep 21 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
May 29 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
Python Numpy数组扩展repeat和tile使用实例解析
Dec 09 Python
Django多进程滚动日志问题解决方案
Dec 17 Python
Python中有几个关键字
Jun 04 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
Django中ORM的基本使用教程
Dec 22 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随机生成信用卡卡号的方法
2015/03/23 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
php集成开发环境详解
2019/09/24 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
判断用户是否在线的代码
2011/03/05 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
js获取域名的方法
2015/01/27 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
2017/03/20 Javascript
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
给排水工程师岗位职责
2013/11/21 职场文书
经典导游欢迎词大全
2014/01/16 职场文书
文明礼仪演讲稿
2014/05/12 职场文书
护校行动方案
2014/05/31 职场文书
委托书怎么写
2014/07/31 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
浅谈python中的多态
2021/06/15 Python
Python函数对象与闭包函数
2022/04/13 Python