首页 > 解决方案 > 如何在python中显示RGB图像

问题描述

我有一个这样的 RGB 数据集:

   [[ 255 165 0]
    [255 255 0]
    [0  255 0]]

我想显示每一行的颜色,分开 3 个 PNG 图像,每个 64x64 像素 matplotlib 或 opencv 中是否存在一些方法?

标签: pythonpython-3.xopencvmatplotlib

解决方案


OpenCV(和大多数其他 Python 成像库)中,图像由 Numpy 数组表示。所以,如果你想制作一个充满 [255, 165, 0] 的 3 通道(即彩色)图像,你只需要:

import cv2
import numpy as np

# Make 64x64 pixel colour image
im = np.full((64,64,3), [255,165,0], dtype=np.uint8)

# Save to disk
cv2.imwrite('result.png', im)

请注意,OpenCV使用 BGR 排序,因此如果您的 3 个值实际上是 RGB,您需要:

im = np.full((64,64,3), [0,165,255], dtype=np.uint8)

推荐阅读