引言在数字时代,黑白照片因其独特的艺术风格而备受喜爱。然而,有时我们可能希望给这些黑白照片添加色彩,以恢复其历史原貌或创造新的视觉效果。Python作为一种功能强大的编程语言,提供了多种方法来实现批量...
在数字时代,黑白照片因其独特的艺术风格而备受喜爱。然而,有时我们可能希望给这些黑白照片添加色彩,以恢复其历史原貌或创造新的视觉效果。Python作为一种功能强大的编程语言,提供了多种方法来实现批量图片上色。本文将详细介绍几种Python批量图片上色的技巧,帮助您轻松赋予黑白照片色彩魅力。
在开始之前,请确保您已安装以下Python库:
您可以使用以下命令安装这些库:
pip install Pillow opencv-pythonPillow库是一个功能丰富的图像处理库,可以轻松地对图像进行上色。
from PIL import Imageblack_and_white_image = Image.open('black_and_white_image.jpg')gray_image = black_and_white_image.convert('L')color_layer = Image.new('RGB', gray_image.size)color = (255, 0, 0) # 红色red_image = Image.blend(gray_image, color_layer, alpha=0.5)red_image.save('red_colored_image.jpg')要批量处理多个图片,可以使用循环。
import os
for file in os.listdir('.'): if file.endswith('.jpg') or file.endswith('.png'): black_and_white_image = Image.open(file) gray_image = black_and_white_image.convert('L') color_layer = Image.new('RGB', gray_image.size) color = (255, 0, 0) # 红色 red_image = Image.blend(gray_image, color_layer, alpha=0.5) red_image.save(file.replace('.jpg', '_red.jpg').replace('.png', '_red.png'))OpenCV是一个专注于计算机视觉的库,也可以用于图像处理。
import cv2black_and_white_image = cv2.imread('black_and_white_image.jpg', cv2.IMREAD_GRAYSCALE)color_layer = np.zeros_like(black_and_white_image)color = (255, 0, 0) # 红色red_image = cv2.addWeighted(black_and_white_image, 1, color_layer, 1, 0)cv2.imwrite('red_colored_image.jpg', red_image)要批量处理多个图片,可以使用循环。
import os
for file in os.listdir('.'): if file.endswith('.jpg') or file.endswith('.png'): black_and_white_image = cv2.imread(file, cv2.IMREAD_GRAYSCALE) color_layer = np.zeros_like(black_and_white_image) color = (255, 0, 0) # 红色 red_image = cv2.addWeighted(black_and_white_image, 1, color_layer, 1, 0) cv2.imwrite(file.replace('.jpg', '_red.jpg').replace('.png', '_red.png'), red_image)通过以上两种方法,您可以轻松地使用Python批量给黑白照片上色。Pillow库和OpenCV库都提供了丰富的功能,可以根据您的具体需求选择合适的方法。希望本文能帮助您在图像处理领域取得更多成就。