from PIL import Image, ImageEnhance # 确保导入 ImageEnhance 模块
import osdef adjust_image_tone(image_path, output_path, r_weight=1.0, g_weight=1.0, b_weight=1.0, brightness=1.0):"""调整图片的色调、明暗,并进行去图处理。参数:image_path (str): 输入图片的路径。output_path (str): 输出图片的路径。r_weight (float): 红色通道的权重。g_weight (float): 绿色通道的权重。b_weight (float): 蓝色通道的权重。brightness (float): 亮度调整值(1.0 表示原始亮度,小于 1.0 变暗,大于 1.0 变亮)。"""# 打开图片并转换为灰度图像(去图处理)img = Image.open(image_path).convert('L').convert('RGB')# 分离RGB通道r, g, b = img.split()# 调整每个通道的权重new_r = r.point(lambda i: i * r_weight)new_g = g.point(lambda i: i * g_weight)new_b = b.point(lambda i: i * b_weight)# 合并调整后的通道adjusted_img = Image.merge('RGB', (new_r, new_g, new_b))# 调整亮度adjusted_img = ImageEnhance.Brightness(adjusted_img).enhance(brightness)# 保存调整后的图片adjusted_img.save(output_path)print(f"已处理图片: {output_path}")def batch_process_images(input_folder, output_folder, r_weight=1.0, g_weight=1.0, b_weight=1.0, brightness=1.0):"""批量处理文件夹中的图片,调整色调、明暗,并进行去图处理。参数:input_folder (str): 输入图片文件夹路径。output_folder (str): 输出图片文件夹路径。r_weight (float): 红色通道的权重。g_weight (float): 绿色通道的权重。b_weight (float): 蓝色通道的权重。brightness (float): 亮度调整值。"""# 确保输出文件夹存在os.makedirs(output_folder, exist_ok=True)# 遍历输入文件夹中的所有图片for filename in os.listdir(input_folder):if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):input_path = os.path.join(input_folder, filename)output_path = os.path.join(output_folder, filename)# 调整图片色调和明暗adjust_image_tone(input_path, output_path, r_weight, g_weight, b_weight, brightness)# 示例用法
if __name__ == "__main__":input_folder = "input_images" # 输入文件夹output_folder = "output_images" # 输出文件夹# 自定义RGB权重和亮度r_weight = 1.0 # 红色通道权重g_weight = 0.5 # 绿色通道权重b_weight = 0.5 # 蓝色通道权重brightness = 0.3 # 亮度调整值(1.0 表示原始亮度)batch_process_images(input_folder, output_folder, r_weight, g_weight, b_weight, brightness)
批量将图片统一色调
2025/5/16 15:53:57
来源:https://blog.csdn.net/m0_58149406/article/details/147027162
浏览:
次
关键词:批量将图片统一色调
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com