Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Mostrar canales de color separados de una imagen RGB

En este ejemplo se crea una imagen truecolor simple y, a continuación, separa los canales de color (planos). El ejemplo muestra cada canal de color y la imagen original.

Cree una imagen RGB con áreas ininterrumpidas de rojo, verde y azul. Las dimensiones de esta imagen son de 200 por 200 píxeles. Muestre la imagen.

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

Separe los tres canales de color.

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

Muestre cada canal de color por separado, junto con la imagen RGB original. Observe que cada plano de color separado de la figura contiene un área de blanco. El blanco corresponde a los valores más altos (tonos más puros) de cada color separado. Por ejemplo, en la imagen Canal rojo, el blanco representa la concentración más alta de valores rojos puros. A medida que el rojo se mezcla con verde o azul, aparecen píxeles grises. La región negra de la imagen muestra valores de píxel que no contienen valores rojos, es decir, .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')

Crea un canal totalmente negro.

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

Cree versiones de color de los canales de color individuales.

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

Mostrar todos los canales y la imagen original en un montaje.

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

Consulte también

Temas relacionados