Этот пример создает простое изображение 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');