本文目录导读:

我需要更多信息才能给出具体的脚本方案,图片色彩滤镜的调整方式有很多种,不同的需求对应不同的实现方法。
请告诉我以下几个关键点:
- 你想调整什么? (色相、饱和度、亮度、对比度、色温、或者直接应用一个预设滤镜如“怀旧”、“黑白”、“冷色”等)
- 图片格式是什么? (.jpg, .png, .webp)
- 你熟悉哪种脚本语言或工具?
- Python (+ Pillow, OpenCV, numpy): 功能强大,适合批量处理复杂效果。
- ImageMagick (命令行工具,
convert/magick): 非常高效,适合批量处理,语法简洁。 - Photoshop 动作 (Action) + 批处理: 如果你习惯用PS,这是最直接的方式。
- Shell 脚本 (Linux/Mac): 结合
sips(Mac) 或 ImageMagick。 - 其他工具: 如
ffmpeg(主要用于视频,但也支持图片序列处理)。
以下提供一个最通用的 Python 脚本示例,使用 Pillow 库,它可以实现常见的色彩调整。
准备工作:安装 Python 和 Pillow
如果你选择 Python 方案,需要先安装 Pillow 库:
pip install Pillow
通用 Python 脚本 (adjust_image_colors.py)
这个脚本会读取一个文件夹中的所有图片,应用你指定的色彩调整,然后保存到另一个文件夹。
import os
from PIL import Image, ImageEnhance, ImageFilter, ImageOps
import argparse
def adjust_color_filter(image_path, output_path,
brightness=1.0, contrast=1.0, saturation=1.0,
sharpness=1.0, hue_shift=0,
to_grayscale=False, invert=False,
sepia=False):
"""
调整图片色彩滤镜。
参数:
image_path: 输入图片路径
output_path: 输出图片路径
brightness: 亮度 (0.0 ~ 无穷大, 1.0 表示不变)
contrast: 对比度 (0.0 ~ 无穷大, 1.0 表示不变)
saturation: 饱和度 (0.0 ~ 无穷大, 1.0 表示不变)
sharpness: 锐度 (0.0 ~ 无穷大, 1.0 表示不变)
hue_shift: 色相偏移 (0-360, 0 表示不变)
to_grayscale: 是否转为灰度图 (bool)
invert: 是否反转颜色 (bool)
sepia: 是否应用怀旧/复古色调 (bool)
"""
try:
img = Image.open(image_path).convert("RGB") # 确保是RGB模式
# 1. 色相偏移 (使用 HSV 色彩空间)
if hue_shift != 0:
hsv_img = img.convert("HSV")
h, s, v = hsv_img.split()
# 色相值范围是 0-255,对应 0-360 度,需要转换
h = h.point(lambda i: (i + int(hue_shift * 255 / 360)) % 255)
hsv_img = Image.merge("HSV", (h, s, v))
img = hsv_img.convert("RGB")
# 2. 饱和度调整
if saturation != 1.0:
enhancer = ImageEnhance.Color(img)
img = enhancer.enhance(saturation)
# 3. 对比度调整
if contrast != 1.0:
enhancer = ImageEnhance.Contrast(img)
img = enhancer.enhance(contrast)
# 4. 亮度调整
if brightness != 1.0:
enhancer = ImageEnhance.Brightness(img)
img = enhancer.enhance(brightness)
# 5. 锐度调整
if sharpness != 1.0:
enhancer = ImageEnhance.Sharpness(img)
img = enhancer.enhance(sharpness)
# 6. 转为灰度图
if to_grayscale:
img = img.convert("L").convert("RGB") # 转灰再转回RGB保持尺寸
# 7. 反色
if invert:
img = ImageOps.invert(img)
# 8. 怀旧风格 (Sepia)
if sepia:
# 简单的Sepia效果:将图片转为灰度,然后应用棕色调色板
gray = img.convert("L")
# 创建一个新的 RGB 图像
sepia_img = Image.new("RGB", img.size)
width, height = img.size
for x in range(width):
for y in range(height):
gray_val = gray.getpixel((x, y))
# 应用 Sepia 色调公式
r = min(int(gray_val * 1.0), 255)
g = min(int(gray_val * 0.8), 255)
b = min(int(gray_val * 0.6), 255)
sepia_img.putpixel((x, y), (r, g, b))
img = sepia_img
# 保存结果
img.save(output_path)
print(f"处理完成: {os.path.basename(image_path)} -> {os.path.basename(output_path)}")
return True
except Exception as e:
print(f"处理失败 {image_path}: {e}")
return False
def batch_process(input_dir, output_dir,
brightness=1.0, contrast=1.0, saturation=1.0,
sharpness=1.0, hue_shift=0,
to_grayscale=False, invert=False, sepia=False):
"""
批量处理文件夹中的所有图片。
"""
if not os.path.exists(output_dir):
os.makedirs(output_dir)
supported_extensions = ('.jpg', '.jpeg', '.png', '.bmp', '.tiff', '.webp')
processed_count = 0
for filename in os.listdir(input_dir):
if filename.lower().endswith(supported_extensions):
input_path = os.path.join(input_dir, filename)
output_path = os.path.join(output_dir, filename)
success = adjust_color_filter(
input_path, output_path,
brightness=brightness,
contrast=contrast,
saturation=saturation,
sharpness=sharpness,
hue_shift=hue_shift,
to_grayscale=to_grayscale,
invert=invert,
sepia=sepia
)
if success:
processed_count += 1
print(f"\n批量处理完成!共处理 {processed_count} 张图片。")
# ==================== 使用方法示例 ====================
if __name__ == "__main__":
# 方式一:直接修改脚本中的参数运行
# 请修改为你的文件夹路径
input_folder = "./input_images" # 原始图片文件夹
output_folder = "./output_images" # 处理后图片文件夹
# 调用批量处理函数,自定义参数
batch_process(
input_dir=input_folder,
output_dir=output_folder,
brightness=1.2, # 亮度增加 20%
contrast=1.1, # 对比度增加 10%
saturation=1.3, # 饱和度增加 30%
sharpness=1.0, # 不调整锐度
hue_shift=30, # 色相偏移 30 度 (使其偏暖)
to_grayscale=False, # 不转灰度
invert=False, # 不反色
sepia=False # 不应用怀旧风格
)
# 方式二:如果想让图片变成"冷色调",可以使用:
# batch_process(
# input_dir=input_folder,
# output_dir=output_folder,
# brightness=0.9,
# saturation=0.8,
# hue_shift=210, # 蓝色区域
# )
# 方式三:一键变成灰度图:
# batch_process(
# input_dir=input_folder,
# output_dir=output_folder,
# to_grayscale=True,
# )
如何使用这个脚本
- 保存脚本:将上面的代码保存为一个
.py文件,adjust_colors.py。 - 准备文件夹:
- 创建一个文件夹
input_images,把你的图片放进去。 - 脚本会自动创建
output_images文件夹保存结果。
- 创建一个文件夹
- 修改参数:在
batch_process(...)调用中设置你想要的参数。- 数值
0表示不变。 - 大于
0表示增强。 - 小于
0表示减弱。 hue_shift范围0-360。- 开关参数 (
to_grayscale,invert,sepia) 设为True或False。
- 数值
- 运行:
python adjust_colors.py
其他工具方案 (如果你不想写代码)
使用 ImageMagick (命令行)
这是一个非常强大的命令行工具,适合快速批量处理。
# 安装 ImageMagick (Mac: brew install imagemagick, Linux: apt install imagemagick) # 然后在一个文件夹中运行: # 例1:所有jpg图片饱和度和对比度增加20% magick mogrify -path ./output -saturation 120 -contrast 120 *.jpg # 例2:转为灰度图 magick mogrify -path ./output -colorspace Gray *.png # 例3:调整色相 (需要转换到HCL或HSL再转回来,稍复杂) # 或者使用更简单的 -modulate (亮度,饱和度,色相): # -modulate 亮度%,饱和度%,色相度 magick mogrify -path ./output -modulate 100,150,90 *.jpg # (饱和度增加50%,色相偏移 -10 度) # 例4:应用怀旧滤镜 magick mogrify -path ./output -sepia-tone 80% *.jpg
在 ImageMagick 所在的目录(或系统PATH中),可以写一个简单的 Shell 循环来实现更复杂的批量处理。
Photoshop 批处理
- 打开一张图片,录制一个“动作”(Window > Actions)。
- 调整你想要的色彩(图像 > 调整 > 色相/饱和度、色彩平衡等)。
- 停止录制。
- File > Automate > Batch...
- 选择源文件夹、目标文件夹,选择你录制的动作。
- 点击 OK 即可批量处理。
请告诉我你的具体需求(想改成什么效果?用什么工具?),我可以提供更精准的脚本。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播