Requisito previo: representación de imagen RGB
Una imagen en color se puede representar como una array de 3 órdenes. El primer orden es para las filas, el segundo orden es para las columnas y el tercer orden es para especificar el color del píxel correspondiente. Aquí usamos el formato de color RGB, por lo que el tercer orden tomará 3 valores de Rojo, Verde y Azul respectivamente. Los valores de las filas y columnas dependen del tamaño de la imagen.
Acercarse:
- Cargue la imagen en una variable J usando imread() .
- Almacene el número de filas y columnas de la imagen en las variables, r y c.
- Cree 3 arrays cero R, G y B (una para cada uno de los 3 colores) de tamaño rXc.
- Almacene el plano de color correspondiente de la imagen en la array cero correspondiente.
1: Red 2: Green 3: Blue
- Muestre las imágenes usando imshow() , pero primero cámbielas a uint8 .
Implementación:
% MATLAB code to display the red, green and blue % color planes of a color image % read the image I = imread('lenna.png'); % rows and columns in the image r = size(I, 1); c = size(I, 2); % creating zero matrices R = zeros(r, c, 3); G = zeros(r, c, 3); B = zeros(r, c, 3); % storing the corresponding color plane % red plane R(:, :, 1) = I(:, :, 1); % green plane G(:, :, 2) = I(:, :, 2); % blue plane B(:, :, 3) = I(:, :, 3); % displaying the images figure, imshow(uint8(R)); figure, imshow(uint8(G)); figure, imshow(uint8(B));
Entrada :
Salida :