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, se separan 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 200-por-200 píxeles. Visualice 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);

Visualice cada canal de color por separado, junto con la imagen RGB original. Observe que cada plano de color separado en 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 de 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 los 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 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);

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

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

Consulte también

Temas relacionados