首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Matlab中将一维RGB图像重塑为二维RGB图像?

如何在Matlab中将一维RGB图像重塑为二维RGB图像?
EN

Stack Overflow用户
提问于 2014-07-11 17:13:15
回答 1查看 1.1K关注 0票数 0

假设我有以下结构的1DRGB数组:

代码语言:javascript
复制
I = [r1 r2 ... rN; g1 g2 ... gN; b1 b2 ... bN];

哪里

代码语言:javascript
复制
N = H*W;

ans H和W分别是图像的高度和宽度。

如何将其重构为彩色图像格式HxW,用三维矩阵表示,使之

代码语言:javascript
复制
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整形按列工作)

更新

这种重塑可以通过以下方式完成

代码语言:javascript
复制
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调用?

EN

Stack Overflow用户

回答已采纳

发布于 2014-07-11 17:45:25

我想你要找的是:reshape(I', H, W, 3)

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24703088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档