本文目录导读:

- Python + Pillow (PIL) - 最灵活的方式
- Python + OpenCV - 更专业的色彩处理
- ImageMagick - 命令行高效批量处理
- 批量调整预设风格(完整脚本)
- 使用 GPU 加速(处理大量图片)
- 安装依赖
- 推荐使用场景
Python + Pillow (PIL) - 最灵活的方式
from PIL import Image, ImageEnhance
import os
def batch_adjust_color(input_folder, output_folder, **kwargs):
"""批量调整图片色彩
kwargs 参数:
brightness: 亮度 (0.0-2.0)
contrast: 对比度 (0.0-2.0)
sharpness: 锐度 (0.0-2.0)
color: 色彩饱和度 (0.0-2.0)
"""
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp')):
img_path = os.path.join(input_folder, filename)
img = Image.open(img_path)
# 应用色彩调整
if 'brightness' in kwargs:
enhancer = ImageEnhance.Brightness(img)
img = enhancer.enhance(kwargs['brightness'])
if 'contrast' in kwargs:
enhancer = ImageEnhance.Contrast(img)
img = enhancer.enhance(kwargs['contrast'])
if 'sharpness' in kwargs:
enhancer = ImageEnhance.Sharpness(img)
img = enhancer.enhance(kwargs['sharpness'])
if 'color' in kwargs:
enhancer = ImageEnhance.Color(img)
img = enhancer.enhance(kwargs['color'])
# 保存结果
output_path = os.path.join(output_folder, filename)
img.save(output_path)
print(f"已处理: {filename}")
# 使用示例
batch_adjust_color(
input_folder='source_images/',
output_folder='adjusted_images/',
brightness=1.2, # 增加亮度
contrast=1.1, # 增加对比度
sharpness=1.3, # 增加锐度
color=1.5 # 增加色彩饱和度
)
Python + OpenCV - 更专业的色彩处理
import cv2
import numpy as np
import os
def batch_color_mix(input_folder, output_folder, alpha=1.0, beta=0):
"""批量调整图片色彩混合
alpha: 对比度 (1.0 = 原始)
beta: 亮度 (0 = 原始)
"""
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp')):
img_path = os.path.join(input_folder, filename)
img = cv2.imread(img_path)
# 调整亮度和对比度
adjusted = cv2.convertScaleAbs(img, alpha=alpha, beta=beta)
# 保存结果
output_path = os.path.join(output_folder, filename)
cv2.imwrite(output_path, adjusted)
print(f"已处理: {filename}")
# 更复杂的色彩混合
def batch_color_balance(input_folder, output_folder, r_gain=1.0, g_gain=1.0, b_gain=1.0):
"""批量调整色彩平衡"""
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp')):
img_path = os.path.join(input_folder, filename)
img = cv2.imread(img_path)
# 分离色彩通道
b, g, r = cv2.split(img)
# 调整各通道
r = cv2.multiply(r, r_gain)
g = cv2.multiply(g, g_gain)
b = cv2.multiply(b, b_gain)
# 合并通道
adjusted = cv2.merge([b, g, r])
# 确保数值范围
adjusted = np.clip(adjusted, 0, 255).astype(np.uint8)
output_path = os.path.join(output_folder, filename)
cv2.imwrite(output_path, adjusted)
print(f"已处理: {filename}")
# 使用示例
batch_color_mix('input/', 'output/', alpha=1.5, beta=30)
batch_color_balance('input/', 'output/', r_gain=0.9, g_gain=1.1, b_gain=1.2)
ImageMagick - 命令行高效批量处理
# 批量调整亮度/对比度/饱和度
for img in *.jpg; do
convert "$img" \
-brightness-contrast 10x5 \
-modulate 120,150,100 \
"adjusted_$img"
done
# 或使用更简洁的 mogrify(直接修改原文件)
mogrify -path output/ \
-brightness-contrast 10x5 \
-modulate 120,150,100 \
*.jpg
# 高级色彩混合
mogrify -path output/ \
-colorize 30,20,10 \
-color-matrix "1.5 0 0 0 0 0 1.2 0 0 0 0 0 1.1 0 0" \
*.jpg
批量调整预设风格(完整脚本)
import os
from PIL import Image, ImageEnhance, ImageFilter
import json
class BatchColorAdjuster:
def __init__(self, config_file=None):
self.presets = {}
if config_file and os.path.exists(config_file):
with open(config_file, 'r') as f:
self.presets = json.load(f)
def add_preset(self, name, settings):
"""添加预设"""
self.presets[name] = settings
def apply_preset(self, img, preset_name):
"""应用预设"""
if preset_name not in self.presets:
return img
settings = self.presets[preset_name]
# 色彩调整
if 'color' in settings:
enhancer = ImageEnhance.Color(img)
img = enhancer.enhance(settings['color'])
if 'brightness' in settings:
enhancer = ImageEnhance.Brightness(img)
img = enhancer.enhance(settings['brightness'])
if 'contrast' in settings:
enhancer = ImageEnhance.Contrast(img)
img = enhancer.enhance(settings['contrast'])
if 'sharpness' in settings:
enhancer = ImageEnhance.Sharpness(img)
img = enhancer.enhance(settings['sharpness'])
# 色温调整 (使用颜色矩阵)
if 'temperature' in settings:
temp = settings['temperature']
if temp > 0: # 暖色
img = img.point(lambda x: x * (1 + temp * 0.1))
else: # 冷色
img = img.point(lambda x: x * (1 - abs(temp) * 0.1))
return img
def process_folder(self, input_folder, output_folder, preset_name):
"""处理文件夹"""
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp')):
img_path = os.path.join(input_folder, filename)
img = Image.open(img_path)
# 应用预设
img = self.apply_preset(img, preset_name)
# 保存
output_path = os.path.join(output_folder, filename)
img.save(output_path, quality=95)
print(f"已处理: {filename}")
# 使用示例
adjuster = BatchColorAdjuster()
# 添加预设
adjuster.add_preset('vintage', {
'color': 0.7,
'brightness': 0.9,
'contrast': 1.2,
'sharpness': 1.1,
'temperature': 0.3 # 轻微暖色
})
adjuster.add_preset('vivid', {
'color': 1.5,
'brightness': 1.1,
'contrast': 1.2,
'sharpness': 1.2
})
# 批量处理
adjuster.process_folder('input/', 'output/', 'vintage')
使用 GPU 加速(处理大量图片)
import torch
import torchvision.transforms as transforms
from PIL import Image
import os
def batch_gpu_color_adjust(input_folder, output_folder, brightness=1.0, contrast=1.0, saturation=1.0, hue=0):
"""使用 GPU 加速批量色彩调整"""
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
# 定义色彩调整转换
transform = transforms.Compose([
transforms.ColorJitter(
brightness=brightness-1,
contrast=contrast-1,
saturation=saturation-1,
hue=hue
),
])
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
img_path = os.path.join(input_folder, filename)
img = Image.open(img_path).convert('RGB')
# 应用转换
adjusted = transform(img)
# 保存
output_path = os.path.join(output_folder, filename)
adjusted.save(output_path)
print(f"已处理: {filename}")
安装依赖
# Pillow pip install Pillow # OpenCV pip install opencv-python # ImageMagick (需要安装) # Windows: 下载安装包 # Mac: brew install imagemagick # Linux: sudo apt-get install imagemagick # PyTorch (GPU加速) pip install torch torchvision
推荐使用场景
- 简单快速:使用 ImageMagick 命令行
- 灵活定制:使用 Python + Pillow
- 专业处理:使用 Python + OpenCV
- 批量预设:使用完整的 Python 脚本框架
- 超大量图片:使用 GPU 加速方案
选择最适合你需求的方案,可以根据需要进行组合修改!
版权声明: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直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播