开发者

What does the following colon (:) mean in MATLAB syntax?

a = imread('autumn.tif');
a = double(a); 
[row col dim] = size(a);
red = a(:, :, 1);
green = a(:, :, 2);
blue = a(:, :, 3);

What does the colon : in 开发者_StackOverflow中文版the last three lines mean? (The above snippet is from "Image Processing" by Dhananjay Theckedath.)


:, in this context means 'all'.

red = a(:,:,1)

is equivalent to

red = a(1:end,1:end,1)

where end is automatically replaced by the number of elements in the respective dimension by Matlab.

So if a is a 23-by-55-by-3 array,

a(:,:,1) 

is

a(1:23, 1:55, 1)

That means, this takes all rows, all columns from the first 'plane' of a. Since a RGB image is composed of a red, green, and a blue plane (in this order), a(:,:,1) is the red component of the image.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜