首页 > 编程 > Python > 正文

python增加图像对比度的方法

2019-11-25 12:25:05
字体:
来源:转载
供稿:网友

本代码实现的是,在旋转10度的基础上,再进行增加对比度的操作。

1 代码:

代码注释中的代码都是可以运行的.  但是不怎么靠谱,因为文件名被逐个编辑,有可能与原标签不对应,,更好的做法参考代码2

# -*- coding: UTF-8 -*-from PIL import Imagefrom PIL import ImageEnhanceimport PIL.Image as imgfrom PIL import ImageEnhanceimport 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 Imagefrom PIL import ImageEnhanceimport 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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表