Что означает следующий двоеточие (:) в синтаксисе 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)
красный компонент изображения.