Python PIL ImageEnhance 批量文件夹子文件夹遍历操作增加对比度

本文章的所有代码和相关文章, 仅用于经验技术交流分享,禁止将相关技术应用到不正当途径,滥用技术产生的风险与本人无关。
本文章是自己学习的一些记录。

开始

在有些图像数据我们拿到手的时候,这些数据就略显模糊,直观上就让我们感到一丝的不舒服,所以对数据先做一个对比的增强。

需求

对于大多数的人来说,在对数据进行处理都是希望批量进行处理,本本篇博客就编写了一个脚本,对一个文件夹下面的多个子文件夹进行批量的增加对比度的处理。例如这样的结构:
在这里插入图片描述

脚本

本篇博客写的批量处理的脚本:

#coding=utf-8
#@Time:2021/2/6 11:52
#@Author:csdn@hijacklei
#@File:Batch contrast.py
#@Software:PyCharm
import os
import sys
from PIL import Image
from PIL import ImageEnhance
#定义待增强的批量文件夹路径
PATH = r''#自己定义,定义到父文件夹的路径即可

def enhanceImage(file, Noenhance):
    # 读取文件夹
    image = Image.open(file)
    if image is None:
        Noenhance += [str(file)]
    else:
        # 增加对比度
        enh_con = ImageEnhance.Contrast(image)
        contrast = 9.0
        image_contrasted = enh_con.enhance(contrast)
        #增强保存位置,这里我就直接写在原先的文件夹位置,直接覆盖
        image_contrasted.save(file)

def enhanceAll(root):
    # 待修改文件夹
    fileList = os.listdir(root)
    currentpath = os.getcwd()
    os.chdir(root)
    # 未被增强的图片,建立一个空的列表进行存储
    Noenhance = []
    # 遍历文件夹中所有文件
    for file in fileList:
        file = str(file)
        enhanceImage(file, Noenhance)

    print("********************************************")
    # 改回程序运行前的工作目录
    os.chdir(currentpath)
    # 进行刷新
    sys.stdin.flush()
    print('没被增加对比度的图片: ', Noenhance)

if __name__ == "__main__":
    for childPATH in os.listdir(PATH):
        childPATH = PATH + '/' + str(childPATH)
        enhanceAll(childPATH)
    print('增加对比度全部完成!')

完成

根据脚本的测试,程序可用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值