在Python中,调整图像颜色可以通过多种库实现,例如Pillow、OpenCV、NumPy和matplotlib。以下是一些基本的方法:
使用Pillow库调整图像颜色
调整亮度
from PIL import Image
image = Image.open("image.jpg")
image = image.adjust(brightness=1.5) 增加亮度
image.save("brightness_adjusted_image.jpg")
调整对比度
from PIL import Image
image = Image.open("image.jpg")
image = image.convert("L") 转换为灰度图像
image = image.point(lambda x: min(255, x*1.5)) 每像素乘以1.5
image.save("contrast_adjusted_image.jpg")
调整饱和度
from PIL import Image, ImageEnhance
image = Image.open("image.jpg")
enhancer = ImageEnhance.Color(image)
image_saturated = enhancer.enhance(2) 增加饱和度
image_saturated.save("saturated_image.jpg")
颜色空间转换
from PIL import Image
import numpy as np
image = Image.open("image.jpg")
image_array = np.array(image)
image_hsv = cv2.cvtColor(image_array, cv2.COLOR_RGB2HSV)
使用OpenCV库调整图像颜色
颜色空间转换
import cv2
image = cv2.imread("image.jpg")
image_hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
颜色掩蔽
import cv2
image = cv2.imread("image.jpg")
lower_bound = np.array([0, 100, 100])
upper_bound = np.array([10, 255, 255])
mask = cv2.inRange(image, lower_bound, upper_bound)
使用matplotlib调整颜色和样式
设置颜色
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6], color='blue') 使用颜色缩写
plt.plot([1, 2, 3], [4, 5, 6], color=(0, 0, 1)) 使用RGB元组
点线样式
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6], marker='o', linestyle='--') 使用标记和线型
使用seaborn调色板
分类色板
import seaborn as sns
current_palette = sns.color_palette()
sns.palplot(current_palette)
选择Color Brewer调色板
import seaborn as sns
from seaborn.utils import choose_colorbrewer_palette
palette = choose_colorbrewer_palette("qualitative", n_colors=6)
以上是使用Python调整图像颜色的一些基本方法。您可以根据需要选择合适的库和函数进行更复杂的颜色调整。