Отобразите разделенные цветовые каналы изображения 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.

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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте