deevroman Asked:2020-11-08 05:23:48 +0800 CST2020-11-08 05:23:48 +0800 CST 2020-11-08 05:23:48 +0800 CST 获取图像的 YCbCr 通道 772 许多关于 JPEG 的文章说,对于编码,RGB 的图像被转换为 YCbCr。通常以风景图片为例,如果亮度通道一切都清楚,那么色差就不清楚如何获得它们的图像。我想获得一种简单的方法(最好是在 Python 中)从图片中获取所有三个 YCbCr 通道,以便以颜色显示颜色差异。 python 1 个回答 Voted Best Answer Avernial 2020-11-08T08:38:38+08:002020-11-08T08:38:38+08:00 正如您在评论中提示的那样,PIL 适合于此。这个库有一种从 RGB 转换为 YCbCr 的方法。对于显示,matplotlib 很好,但是对于每个通道,您需要设置适当的颜色图。 from PIL import Image import matplotlib.pyplot as plt im = Image.open("image.jpeg") ycbcr = im.convert('YCbCr') print(ycbcr.getbands()) (y, cb, cr) = ycbcr.split() plt.figure() plt.title("Original") plt.imshow(im) plt.figure() plt.subplot(131) plt.title("Y") plt.imshow(y, cmap="gray") plt.subplot(132) plt.title("Cb") plt.imshow(cb, cmap="Blues") plt.subplot(133) plt.title("Cr") plt.imshow(cr, cmap="Reds") plt.show()
正如您在评论中提示的那样,PIL 适合于此。这个库有一种从 RGB 转换为 YCbCr 的方法。对于显示,matplotlib 很好,但是对于每个通道,您需要设置适当的颜色图。