脚本如何批量调整图片对比度

wen 实用脚本 1

本文目录导读:

脚本如何批量调整图片对比度

  1. 方法一:使用Python + PIL (Pillow) 脚本(推荐,灵活性高)
  2. 方法二:使用ImageMagick命令行(效率高,适合大量图片)
  3. 方法三:使用Photoshop脚本(Actions + Batch)
  4. 方法四:使用IrfanView(Windows轻量工具)
  5. 方法五:Python + OpenCV(高级控制)
  6. 建议选择:

使用Python + PIL (Pillow) 脚本(推荐,灵活性高)

这是最灵活的方式,可以精确控制对比度并批量处理。

import os
from PIL import Image, ImageEnhance
# ===== 配置参数 =====
input_folder = "./input_images"   # 输入图片文件夹
output_folder = "./output_images" # 输出图片文件夹
contrast_factor = 1.5             # 对比度倍数:1.0=原图, >1增强, <1减弱
file_extensions = ('.jpg', '.jpeg', '.png', '.bmp', '.tiff') # 处理的文件格式
# ===================
# 创建输出文件夹
os.makedirs(output_folder, exist_ok=True)
# 遍历输入文件夹
for filename in os.listdir(input_folder):
    if filename.lower().endswith(file_extensions):
        # 读取图片
        img_path = os.path.join(input_folder, filename)
        try:
            img = Image.open(img_path)
            # 调整对比度
            enhancer = ImageEnhance.Contrast(img)
            img_adjusted = enhancer.enhance(contrast_factor)
            # 保存图片(保持原格式)
            output_path = os.path.join(output_folder, filename)
            img_adjusted.save(output_path)
            print(f"处理完成: {filename}")
        except Exception as e:
            print(f"处理失败 {filename}: {e}")
print("全部处理完成!")

安装依赖:

pip install Pillow

关键参数说明

  • contrast_factor = 1.5:数值越大对比度越强(建议范围0.5~2.0)
  • file_extensions:根据需要修改支持的图片格式

使用ImageMagick命令行(效率高,适合大量图片)

ImageMagick是强大的命令行图像处理工具,适合批量操作。

Windows:

:: 将当前文件夹所有jpg图片对比度增强50%
magick mogrify -contrast-stretch 15% *.jpg

Linux/macOS:

# 增强对比度(黑色扩展15%,白色扩展15%)
mogrify -contrast-stretch 15% *.jpg
# 或者使用更精确的对比度调整(0~100%)
mogrify -modulate 100,150,100 *.jpg  # 亮度100%,对比度150%,色相100%

安装ImageMagick

  • Windows:下载安装包 https://imagemagick.org/
  • macOS:brew install imagemagick
  • Linux:sudo apt install imagemagick

使用Photoshop脚本(Actions + Batch)

  1. 录制动作

    • 打开一张图片 → 窗口 → 动作
    • 新建动作 → 开始录制
    • 图像 → 调整 → 亮度/对比度(或色阶/曲线)
    • 调整参数 → 停止录制
  2. 批量处理

    • 文件 → 自动 → 批处理
    • 选择动作和源文件夹
    • 目标选择“文件夹”并设置输出路径

使用IrfanView(Windows轻量工具)

  1. 打开IrfanView → 文件 → 批处理/转换
  2. 添加所有需要处理的图片
  3. 勾选“使用高级选项”
  4. 点击“高级” → 图像 → 对比度
  5. 设置对比度值(-100~100)
  6. 选择输出文件夹,点击“执行”

Python + OpenCV(高级控制)

如果需要更复杂的对比度调整(如直方图均衡化):

import cv2
import os
import numpy as np
input_folder = "./input"
output_folder = "./output"
os.makedirs(output_folder, exist_ok=True)
for filename in os.listdir(input_folder):
    if filename.lower().endswith(('.jpg', '.png')):
        img = cv2.imread(os.path.join(input_folder, filename))
        # 方法1:简单调整对比度(alpha=对比度, beta=亮度)
        img_adjusted = cv2.convertScaleAbs(img, alpha=1.5, beta=0)
        # 方法2:自动对比度增强(直方图均衡化)
        # img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        # img_eq = cv2.equalizeHist(img_gray)
        # img_adjusted = cv2.cvtColor(img_eq, cv2.COLOR_GRAY2BGR)
        cv2.imwrite(os.path.join(output_folder, filename), img_adjusted)
        print(f"处理: {filename}")

建议选择:

需求场景 推荐方法
简单快速批量处理 ImageMagick (方法二)
需要精确控制参数 Python PIL (方法一)
需要图形界面 IrfanView (方法四)
已有Photoshop 动作+批处理 (方法三)
需要高级图像处理 OpenCV (方法五)

注意事项

  • 操作前最好备份原始图片
  • 先处理几张测试效果,再全量执行
  • 不同图片格式(JPEG/PNG)对比度调整效果可能略有差异

抱歉,评论功能暂时关闭!