在MATLAB中将1x1x3 uint8打包成1x3 uint8的优雅方法?

时间:2015-03-28 03:27:09

标签: matlab

当我使用1x1x3检索图像中的RGB像素时,MATLAB给我一个c = im(1, 1, :) uint8似乎很奇怪。

我需要1x3 uint8。如何将1x1x3 uint8优雅地解压缩到1x3 uint8

1 个答案:

答案 0 :(得分:1)

您可以使用:将任何数组更改为列向量。从那里你可以使用转发器'获得行向量。

c = c(:)';

如果n数组中有nx1x3像素列表,则可以使用permute交换第二维和第三维。

pixel_list = permute(pixel_list,[1 3 2]);

MATLAB将RGB图像存储为3D数组,颜色值沿第3个“深度”维度存储。访问c = im(1, 1, :)将完全返回:沿第3维延伸的3元素向量。