在 Python 中,matplotlib 库不直接支持显示 YCbCr 颜色空间的图像。要显示 YCbCr 通道的图像,可以使用 OpenCV 库进行转换和显示。以下是修改后的代码:

import matplotlib.pyplot as plt
import cv2

loopy = cv2.imread('C:\Users\RKP\Desktop\Loopy.jpg') # 读取原图

# 将图像转换为 YCbCr 颜色空间
ycbcr = cv2.cvtColor(loopy, cv2.COLOR_BGR2YCrCb)

# 提取 Y、Cb、Cr 三个通道的图像数据
y = ycbcr[:,:,0]
cb = ycbcr[:,:,1]
cr = ycbcr[:,:,2]

# 创建一个包含四个子图的图像
fig, axs = plt.subplots(2, 2, figsize=(10, 10))

# 在每个子图中显示图像和标题
axs[0, 0].imshow(cv2.cvtColor(loopy, cv2.COLOR_BGR2RGB))
axs[0, 0].axis('off')
axs[0, 0].set_title('Loopy')

axs[0, 1].imshow(y, cmap='gray')
axs[0, 1].axis('off')
axs[0, 1].set_title('Y')

axs[1, 0].imshow(cb, cmap='gray')
axs[1, 0].axis('off')
axs[1, 0].set_title('Cb')

axs[1, 1].imshow(cr, cmap='gray')
axs[1, 1].axis('off')
axs[1, 1].set_title('Cr')

plt.tight_layout()  # 调整子图的布局,使标题不重叠
plt.show()

请确保你已经正确安装了 matplotlibOpenCV 库。如果还有其他问题,请随时提问。

Python Matplotlib YCbCr 图像显示: 使用 OpenCV 转换和显示

原文地址: http://www.cveoy.top/t/topic/pgj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录