脚本如何批量调整图片伽马值

wen 实用脚本 4

本文目录导读:

脚本如何批量调整图片伽马值

  1. 方案一:使用 Python + Pillow(最通用、跨平台)
  2. 方案二:使用 ImageMagick(命令行 + 脚本)
  3. 方案三:使用 Adobe Photoshop 动作(GUI 操作)
  4. 伽马值参考表
  5. 建议

使用 Python + Pillow(最通用、跨平台)

这是最推荐的方法,适合所有平台(Windows/macOS/Linux),且无需安装 Photoshop。

安装依赖

首先确保安装了 Python 和 Pillow 库:

pip install Pillow

批量处理脚本

将该脚本保存为 batch_gamma.py

import os
from PIL import Image
import numpy as np
def adjust_gamma(image_path, gamma, output_path):
    """
    调整单张图片的伽马值
    gamma > 1 变亮,gamma < 1 变暗
    """
    img = Image.open(image_path)
    # 使用Pillow内置的方法
    from PIL import ImageEnhance
    # 更精确的方法:使用公式手动计算
    img_array = np.array(img)
    # 归一化到0-1范围
    img_float = img_array / 255.0
    # 应用伽马校正
    corrected = np.power(img_float, gamma)
    # 转换回0-255范围
    corrected = np.clip(corrected * 255, 0, 255).astype(np.uint8)
    # 保存结果
    result_img = Image.fromarray(corrected)
    result_img.save(output_path)
def batch_adjust_gamma(input_folder, output_folder, gamma):
    """
    批量调整文件夹中所有图片的伽马值
    """
    # 创建输出文件夹
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    # 支持的图片格式
    valid_extensions = ('.jpg', '.jpeg', '.png', '.bmp', '.tiff', '.webp')
    success_count = 0
    for filename in os.listdir(input_folder):
        if filename.lower().endswith(valid_extensions):
            input_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, filename)
            try:
                adjust_gamma(input_path, gamma, output_path)
                print(f"✅ 已处理: {filename}")
                success_count += 1
            except Exception as e:
                print(f"❌ 处理 {filename} 失败: {e}")
    print(f"\n总图片数: {len([f for f in os.listdir(input_folder) if f.lower().endswith(valid_extensions)])}")
    print(f"成功处理: {success_count} 张")
if __name__ == "__main__":
    # 使用说明
    input_dir = "./input_images"   # 输入文件夹
    output_dir = "./output_images" # 输出文件夹
    gamma_value = 1.5              # 伽马值(大于1变亮,小于1变暗)
    # 执行批量处理
    batch_adjust_gamma(input_dir, output_dir, gamma_value)

使用方式

  • 将脚本放在与图片文件夹同级目录
  • 创建 input_images 文件夹,放入待处理图片
  • 修改 gamma_value 参数(推荐范围:0.5~2.5)
  • 运行:python batch_gamma.py

使用 ImageMagick(命令行 + 脚本)

适合熟悉命令行的用户,处理速度更快。

安装 ImageMagick

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

批量处理脚本(Windows)

创建 batch_gamma.bat

@echo off
setlocal enabledelayedexpansion
set input_dir=./input_images
set output_dir=./output_images
set gamma=1.5
if not exist "%output_dir%" mkdir "%output_dir%"
for %%f in ("%input_dir%\*.jpg" "%input_dir%\*.png") do (
    magick "%%f" -gamma %gamma% "%output_dir%\%%~nxf"
    echo 已处理: %%~nxf
)
echo 完成!
pause

批量处理脚本(macOS/Linux)

创建 batch_gamma.sh

#!/bin/bash
input_dir="./input_images"
output_dir="./output_images"
gamma=1.5
mkdir -p "$output_dir"
for file in "$input_dir"/*.{jpg,png,bmp,tiff}; do
    if [ -f "$file" ]; then
        filename=$(basename "$file")
        magick "$file" -gamma "$gamma" "$output_dir/$filename"
        echo "已处理: $filename"
    fi
done
echo "完成!"

使用 Adobe Photoshop 动作(GUI 操作)

适合习惯使用图形界面的用户。

准备

  • 打开 Photoshop
  • 打开“动作”面板(窗口 -> 动作)

录制动作

  1. 新建动作组和动作
  2. 点击“录制”
  3. 打开一张示例图片
  4. 调整伽马:图像 -> 调整 -> 伽马校正
  5. 设置数值,点击确定
  6. 保存图片(文件 -> 存储为
  7. 关闭图片
  8. 停止录制

批量处理

  1. 文件 -> 自动 -> 批处理
  2. 源:选择含图片的文件夹
  3. 目标:选择输出文件夹
  4. 勾选“覆盖动作中的‘存储为’命令”
  5. 点击“确定”运行

伽马值参考表

效果 伽马值 说明
变暗(对比度增加) 5 暗部细节更暗
轻微变暗 7 整体稍暗
原图 0 不变
轻微变亮 5 整体稍亮
变亮(对比度降低) 0 暗部细节可见
亮化强烈 5 亮部细节保留较多

建议

  • 最佳实践: 初次使用时,先用一张图片测试不同伽马值效果
  • 批量处理: Python 方案支持更多图片格式和错误处理
  • 速度优先: ImageMagick 处理大量图片速度最快
  • 保留原图: 始终使用输出文件夹,避免覆盖原图

选择最适合您技术背景和需求的方案即可。

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