Отобразите разделенные цветовые каналы изображения RGB

Этот пример создает простое изображение RGB и затем разделяет цветовые каналы. Пример отображает каждый цветовой канал как полутоновое изображение интенсивности и как цветное изображение.

Создайте изображение RGB с непрерывными областями красного, зеленого цвета, и синий. Отобразите изображение.

imSize = 200;
RGB = reshape(ones(imSize,1)*reshape(jet(imSize),1,imSize*3),[imSize,imSize,3]);
imshow(RGB)
title('Original RGB Image')

Figure contains an axes. The axes with title Original RGB Image contains an object of type 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')

Figure contains 3 axes. Axes 1 with title Red Channel contains an object of type image. Axes 2 with title Green Channel contains an object of type image. Axes 3 with title Blue Channel contains an object of type image.

Отобразите цветное представление каждого цветового канала. В этих изображениях канал требуемого цвета обеспечивает свои исходные значения интенсивности, и пиксельные значения в других двух цветовых каналах установлены в 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');

Figure contains an axes. The axes with title Color Representation of the Red, Green, and Blue Color Channels contains an object of type image.

Смотрите также

Похожие темы