脚本如何批量调整图片亮度

wen 实用脚本 24

本文目录导读:

脚本如何批量调整图片亮度

  1. 方法一:使用 ImageMagick(命令行)
  2. 方法二:Python + PIL/Pillow 脚本
  3. 方法三:使用 FFmpeg(视频帧+图片)
  4. 方法四:使用 IrfanView(Windows GUI+批量)
  5. 实用建议:
  6. 一键脚本示例(Linux/macOS):

使用 ImageMagick(命令行)

ImageMagick 是强大的图片处理工具,支持批量操作。

Windows/macOS/Linux 通用:

# 将当前目录下所有jpg图片亮度+20(范围:0-100)
mogrify -brightness-contrast 20x0 *.jpg
# 调整并输出到新目录(保留原图)
mkdir bright_images
for file in *.jpg; do
    convert "$file" -brightness-contrast 30x0 "bright_images/$file"
done

参数说明:

  • -brightness-contrast 30x-10:亮度+30,对比度-10
  • 支持 *.png, *.jpeg 等格式
  • 可用 -modulate 120(调整亮度比例,100为原始)

Python + PIL/Pillow 脚本

需要安装 Pillow 库:pip install pillow

from PIL import Image, ImageEnhance
import os
import glob
def batch_adjust_brightness(input_folder, output_folder, factor=1.2):
    """批量调整图片亮度
    factor: 亮度系数,>1变亮,<1变暗(1.0为原始)
    """
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    # 支持多种格式
    extensions = ['*.jpg', '*.jpeg', '*.png', '*.bmp', '*.tiff']
    for ext in extensions:
        for filepath in glob.glob(os.path.join(input_folder, ext)):
            # 打开图片
            image = Image.open(filepath)
            # 创建亮度增强器
            enhancer = ImageEnhance.Brightness(image)
            # 调整亮度
            bright_image = enhancer.enhance(factor)
            # 保存到输出文件夹
            filename = os.path.basename(filepath)
            output_path = os.path.join(output_folder, filename)
            bright_image.save(output_path)
            print(f"已处理: {filename}")
# 使用示例
batch_adjust_brightness("原始图片文件夹", "输出文件夹", factor=1.3)

使用 FFmpeg(视频帧+图片)

如果涉及视频截图批量调整:

# 调整所有PNG图片亮度(gamma 1.2)
for f in *.png; do 
    ffmpeg -i "$f" -vf eq=brightness=0.2 -q:v 1 "bright_$f"
done

使用 IrfanView(Windows GUI+批量)

  1. 打开 IrfanView → 文件 → 批量转换/重命名
  2. 添加图片 → 勾选"使用高级选项"
  3. 点击"高级" → 在"图像调整"中设置亮度值
  4. 选择输出格式和文件夹 → 开始批处理

实用建议:

  • 测试单张:先用单张图片调整找到合适的参数
  • 备份原图:批量操作前备份重要图片
  • 色彩失真:过强调整可能产生色斑,建议亮度调整范围 ±30%
  • JPEG质量:ImageMagick默认保持原质量,Python中可指定 save(..., quality=95)

一键脚本示例(Linux/macOS):

创建 adjust_brightness.sh

#!/bin/bash
# 用法: ./adjust_brightness.sh 输入文件夹 输出文件夹 亮度值(0-100)
input_dir="$1"
output_dir="$2"
brightness="$3"
mkdir -p "$output_dir"
for file in "$input_dir"/*.{jpg,png,jpeg}; do
    [ -f "$file" ] || continue
    filename=$(basename "$file")
    convert "$file" -brightness-contrast "${brightness}x0" "$output_dir/$filename"
    echo "已处理: $filename"
done

选择最适合您需求的方法,命令行适合程序员,Python适合需要复杂处理的场景,图形界面工具适合非技术人员。

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