python增加图像对比度的方法

yipeiwu_com6年前Python基础

本代码实现的是,在旋转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学习开发mock接口

本文实例为大家分享了python学习开发mock接口的具体步骤,供大家参考,具体内容如下 #1.测试为什么要开发接口? 1)在别的接口没有开发好的时候, mock接口(模拟接口) 2)...

python实现AES和RSA加解密的方法

本文实例为大家分享了python实现AES和RSA加解密的具体代码,供大家参考,具体内容如下 AES AES 是一种对称加密算法,用key对一段text加密,则用同一个key对密文解密,...

浅谈配置OpenCV3 + Python3的简易方法(macOS)

我的电脑本来是有手动CMake+make安装的OpenCV3的,以及系统自带的python2.x,但是现在想用python3+OpenCV3。 安装Python3 brew ins...

Python中Iterator迭代器的使用杂谈

迭代器是一种支持next()操作的对象。它包含一组元素,当执行next()操作时,返回其中一个元素;当所有元素都被返回后,生成一个StopIteration异常。 >>&...

python flask框架实现传数据到js的方法分析

本文实例讲述了python flask框架实现传数据到js的方法。分享给大家供大家参考,具体如下: 首先要清楚后台和前端交互所采用的数据格式。 一般选JSON,因为和js完美贴合。 后台...