要将 RGB 图像拆分为单独的 R、G、B 通道并分别展示,可以通过 PIL
中的 split()
方法将图像的三个通道分开,并使用 matplotlib
来显示每个通道的图像。效果如下图所示:
代码部分:
from PIL import Image
import matplotlib.pyplot as plt
# 打开 RGB 图像
rgb_image = Image.open("../people_fish.jpg")
# 将图像转换为 RGB 模式(确保图像是 RGB 格式)
rgb_image = rgb_image.convert("RGB")
# 拆分图像成 R, G, B 通道
r, g, b = rgb_image.split()
# 显示每个通道
plt.figure(figsize=(12, 12))
# 显示原图
plt.subplot(2, 2, 1)
plt.title("original image")
plt.imshow(rgb_image)
plt.axis('off')
# 显示红色通道
plt.subplot(2, 2, 2)
plt.title("Red Channel")
plt.imshow(r, cmap='Reds') # 使用 Reds 配色显示红色通道
plt.axis('off')
# 显示绿色通道
plt.subplot(2, 2, 3)
plt.title("Green Channel")
plt.imshow(g, cmap='Greens') # 使用 Greens 配色显示绿色通道
plt.axis('off')
# 显示蓝色通道
plt.subplot(2, 2, 4)
plt.title("Blue Channel")
plt.imshow(b, cmap='Blues') # 使用 Blues 配色显示蓝色通道
plt.axis('off')
# 显示图像
plt.show()