如何基于数组绘制2D RGB颜色图?
支持2D RGB颜色图绘制的常用Python库
- Matplotlib:Python生态最通用的科学绘图库,直接调用
plt.imshow()方法即可渲染形状为[高度, 宽度, 3]的RGB numpy数组,支持0-255整数值或0-1浮点数值两种输入格式,适配需求的示例代码如下:
import numpy as np import matplotlib.pyplot as plt # 构造示例RGB数组 grid = np.array([ [[35,74,3], [146,252,7]], [[215,84,14], [16,62,8]] ], dtype=np.uint8) plt.imshow(grid) plt.axis('off') # 可选:关闭坐标轴显示 plt.show()
- Pillow:轻量专业的Python图像处理库,可直接将RGB数组转换为图像对象实现渲染或保存,代码实现非常简洁:
import numpy as np from PIL import Image grid = np.array([ [[35,74,3], [146,252,7]], [[215,84,14], [16,62,8]] ], dtype=np.uint8) img = Image.fromarray(grid) img.show()
- OpenCV:广泛应用于计算机视觉场景的图像处理库,注意其默认使用BGR通道顺序,渲染RGB数组时需要手动转换通道,适合需要对生成的颜色图做后续图像操作的场景:
import numpy as np import cv2 grid = np.array([ [[35,74,3], [146,252,7]], [[215,84,14], [16,62,8]] ], dtype=np.uint8) # 转换为OpenCV适配的BGR通道后渲染 cv2.imshow('RGB颜色图', cv2.cvtColor(grid, cv2.COLOR_RGB2BGR)) cv2.waitKey(0) cv2.destroyAllWindows()
- Plotly:支持交互式操作的可视化库,渲染出的颜色图支持缩放、悬停查看像素坐标和数值,适合需要交互式查看细节的场景:
import numpy as np import plotly.express as px grid = np.array([ [[35,74,3], [146,252,7]], [[215,84,14], [16,62,8]] ], dtype=np.uint8) fig = px.imshow(grid) fig.show()
内容的提问来源于stack exchange,提问作者msba
相关产品推荐
相关产品推荐

