exponenta event banner

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

См. также

Связанные темы