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

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

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

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

Разделите эти три цветовых канала.

[R,G,B] = imsplit(RGB);

Отобразите каждый цветовой канал отдельно, наряду с исходным изображением RGB. Заметьте, что каждая разделенная цветная плоскость в фигуре содержит область белого. Белый соответствует самым высоким значениям (самые чистые оттенки) каждого отдельного цвета. Например, в Красном изображении Канала, белый представляет самую высокую концентрацию чистых красных значений. Как красный становится смешанным с зелеными или синими, серыми пикселями, появляются. Черная область в изображении показывает пиксельные значения, которые не содержат красных значений, т.е. R == 0.

subplot(2,2,1)
imshow(R)
title('Red Channel')

subplot(2,2,2)
imshow(G)
title('Green Channel')

subplot(2,2,3)
imshow(B)
title('Blue Channel')

subplot(2,2,4)
imshow(RGB)
title('Original Image')

Создайте полностью черный канал.

allBlack = zeros(size(RGB, 1), size(RGB, 2), class(RGB));

Создайте цветные версии отдельных цветовых каналов.

justRed = cat(3, R, allBlack, allBlack);
justGreen = cat(3, allBlack, G, allBlack);
justBlue = cat(3, allBlack, allBlack, B);

Отобразите все каналы и оригинальное изображение в монтаже.

montage({justRed, justGreen, justBlue, RGB}, 'ThumbnailSize', []);

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

Похожие темы