В этом примере создается простое изображение RGB, а затем цветовые каналы разделяются. В примере каждый цветовой канал отображается как изображение интенсивности в градациях серого и как цветное изображение.
Создание изображения RGB с непрерывными красными, зелеными и синими областями. Отображение изображения.
imSize = 200;
RGB = reshape(ones(imSize,1)*reshape(jet(imSize),1,imSize*3),[imSize,imSize,3]);
imshow(RGB)
title('Original RGB Image')
Разделите три цветовых канала.
[R,G,B] = imsplit(RGB);
Отображение оттенков серого для каждого цветового канала. Обратите внимание, что каждая разделенная цветовая плоскость на рисунке содержит область белого цвета. Белое соответствует самым высоким значениям (чистейшим оттенкам) каждого отдельного цвета. Например, в изображении красного канала белый цвет представляет наибольшую концентрацию чистых красных значений. Когда красный цвет смешивается с зеленым или синим цветом, появляются серые пикселы. Черная область в изображении показывает значения пикселей, которые не содержат красных значений, другими словами, когда R == 0.
figure subplot(1,3,1) imshow(R) title('Red Channel') subplot(1,3,2) imshow(G) title('Green Channel') subplot(1,3,3) imshow(B) title('Blue Channel')

Отображение цветового представления каждого цветового канала. В этих изображениях желаемый цветовой канал сохраняет свои исходные значения интенсивности, и значения пикселей в двух других цветовых каналах устанавливаются равными 0.
Создайте полностью черный канал.
allBlack = zeros(size(RGB,1,2),class(RGB)); justR = cat(3,R,allBlack,allBlack); justG = cat(3,allBlack,G,allBlack); justB = cat(3,allBlack,allBlack,B);
Отображение всех каналов в монтаже.
figure
montage({justR,justG,justB},'Size',[1 3], ...
"BackgroundColor",'w',"BorderSize",10);
title('Color Representation of the Red, Green, and Blue Color Channels');