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


 

    原文作者:qxq_sunshine
    原文地址: https://blog.csdn.net/qxqsunshine/article/details/88315825
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞