Что означает следующий двоеточие (:) в синтаксисе MATLAB?

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

что делает двоеточие : в последних трех строках означает? (Приведенный выше фрагмент из "обработки изображений" Дхананджая Текедата.)

1 ответов


: в этом контексте означает "все".

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) красный компонент изображения.