【发布时间】:2016-08-04 00:52:03
【问题描述】:
假设我有一个由 (M, N, 3) numpy 数组表示的 RGB(或 HSV)图像,其中每个维度([x, y, 0] 或 [x, y, 1])表示特定像素处的颜色通道值。我想将数组重塑为 (M*N, 3) ,其中颜色通道 ([R1, G1, B1], [R2, G2, B2]...) 组合成一个平面列表(在这种情况下这是正确的术语吗?)。我知道必须使用 reshape 功能,但我很难理解 如何 使用该功能。任何帮助表示赞赏。
编辑:这是我想要发生的一个例子。
输入:(640 x 640 x 3) 代表图像的数组,其中[40, 40, 1] 将是特定像素的 G 值。我想获取所有 3 个颜色通道并将它们组合到以下输出中。
输出:([R, G, B], [R, G, B], [R, G, B]...)
【问题讨论】:
-
你能展示一些输入和输出的例子吗?
-
您确定要 (M, 3) 而不是 (M, N)?
-
你需要一个 (MxN, 3) 矩阵吗?假设 M 和 N 是您的尺寸大小,则每个坐标都需要一个值。仅当矩阵之前和之后的元素数量相同时,重塑才应该起作用。
-
大概是
arr.reshape(-1,3)。 -
“我想将数组重塑为 (M, 3) ...” 我假设您的意思实际上是
(M*N, 3)。