假设我有以下结构的1DRGB数组:
I = [r1 r2 ... rN; g1 g2 ... gN; b1 b2 ... bN];哪里
N = H*W;ans H和W分别是图像的高度和宽度。
如何将其重构为彩色图像格式HxW,用三维矩阵表示,使之
I2(1,1,1) = r1
I2(1,1,2) = g1
I2(1,1,3) = b1
I2(2,1,1) = r2
I2(2,1,2) = g2
I2(2,1,3) = b2
...
I2(H,W,1) = rN
I2(H,W,2) = gN
I2(H,W,3) = bN(如果我正确地认为正常的一维-> 2D整形按列工作)
更新
这种重塑可以通过以下方式完成
R = I(1,:);
R = reshape(R,H,W);
G = I(2,:);
G = reshape(G,H,W);
B = I(3,:);
B = reshape(B,H,W);
I2 = cat(3, R, G, B);它是否可以做得更短,例如,使用一个reshape调用?
发布于 2014-07-11 17:45:25
我想你要找的是:reshape(I', H, W, 3)
https://stackoverflow.com/questions/24703088
复制相似问题