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