a = imread('autumn.tif');
a = double(a);
[row col dim] = size(a);
red = a(:, :, 1);
green = a(:, :, 2);
blue = a(:, :, 3);
最后三行中的冒号:
是什么意思? (上面的片段来自Dhananjay Theckedath的“图像处理”。)
答案 0 :(得分:19)
:
,在此上下文中意为“全部”。
red = a(:,:,1)
相当于
red = a(1:end,1:end,1)
其中end
由Matlab自动替换为相应维度中的元素数量。
所以,如果a
是一个23乘55乘3的数组,
a(:,:,1)
是
a(1:23, 1:55, 1)
这意味着,这将从a
的第一个“平面”获取所有行,所有列。由于RGB图像由红色,绿色和蓝色plane
(按此顺序)组成,因此a(:,:,1)
是图像的红色成分。