本文目录导读:

- 方案一:使用 Python + Pillow(最通用、跨平台)
- 方案二:使用 ImageMagick(命令行 + 脚本)
- 方案三:使用 Adobe Photoshop 动作(GUI 操作)
- 伽马值参考表
- 建议
使用 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
- 打开“动作”面板(窗口 -> 动作)
录制动作
- 新建动作组和动作
- 点击“录制”
- 打开一张示例图片
- 调整伽马:
图像 -> 调整 -> 伽马校正 - 设置数值,点击确定
- 保存图片(
文件 -> 存储为) - 关闭图片
- 停止录制
批量处理
文件 -> 自动 -> 批处理- 源:选择含图片的文件夹
- 目标:选择输出文件夹
- 勾选“覆盖动作中的‘存储为’命令”
- 点击“确定”运行
伽马值参考表
| 效果 | 伽马值 | 说明 |
|---|---|---|
| 变暗(对比度增加) | 5 | 暗部细节更暗 |
| 轻微变暗 | 7 | 整体稍暗 |
| 原图 | 0 | 不变 |
| 轻微变亮 | 5 | 整体稍亮 |
| 变亮(对比度降低) | 0 | 暗部细节可见 |
| 亮化强烈 | 5 | 亮部细节保留较多 |
建议
- 最佳实践: 初次使用时,先用一张图片测试不同伽马值效果
- 批量处理: Python 方案支持更多图片格式和错误处理
- 速度优先: ImageMagick 处理大量图片速度最快
- 保留原图: 始终使用输出文件夹,避免覆盖原图
选择最适合您技术背景和需求的方案即可。