【发布时间】:2013-06-27 18:09:29
【问题描述】:
我正在 matplotlib 上制作曲面图。我的轴是 x、y 和深度。我有一个具有 RGB 值的二维数组,索引对应于 (x,y) 坐标。如何从这个二维数组制作颜色图?谢谢。
生成 numpy 数组的代码:
import Image
import numpy as np
def makeImageArray(filename):
img = Image.open(filename)
a = np.array(img).astype("float32")
return a
图像为灰度。
【问题讨论】:
-
当您说您的 RGB 数组是 2d 时,您是否包括沿 RGB 的维度?也就是说,颜色是 1d 的 2d 像素数组,还是颜色 1d 的 1d 像素数组?
-
我刚刚拍了一张照片,并将图像转换为二维 numpy 数组。我不确定你的问题在问什么,但如果我的问题写得不好,我很抱歉。
-
只是技术性问题;如果你有一个普通的彩色图像,它实际上是 3d,因为它的
shape类似于(600,800,3)对于三种颜色。灰度为(600,800)。听起来您的 RGB 阵列在技术上是 3d 的,因为它代表彩色的 2d 图像.. -
这是我将其转换为数组的代码示例: import Image import numpy as np def convertToArray(filename): img = Image.open(filename) a = np.array(img) .astype("float32") return a 它刚刚以二维数组的形式出现。最大值为 255,最小值为 0,所以它是 RGB。这是一张未经处理的图片
-
抱歉代码格式错误,但我在完成之前不小心发布了它,因为我是该网站的新手,所以我不知道新行是用 shift+enter 完成的,然后我没时间编辑它。但是,是的,它仍然是黑白颠倒的,如果这有助于显示它是多么未经处理的话。
标签: python numpy matplotlib