Transformación de imágenes de color a diversos tipos
En este apartado vamos a aprender como cambiar la imagen que leemos en color a diversos tipos como son en escala de grises o en blanco y negro. También representaremos las componentes R,G Y B de la imagen en color:
Código:
clear all
image=imread('pinguinos.jpg');% obtenemos la imagen
% imagen tal y como la obtenemos
figure(1)
subplot(2,3,1)
imshow(image),title(sprintf('Imagen original'));
% Componente roja de la imagen
image_R(:,:,1)=image(:,:,1);
image_R(:,:,2)=0;
image_R(:,:,3)=0;
subplot(2,3,2)
imshow(image_R),title(sprintf('Imagen componente roja'));
% Componente verde de la imagen
image_G(:,:,2)=image(:,:,2);
image_G(:,:,1)=0;
image_G(:,:,3)=0;
subplot(2,3,3)
imshow(image_G),title(sprintf('Imagen componente verde'));
% Componente azul de la imagen
image_B(:,:,3)=image(:,:,3);
image_B(:,:,1)=0;
image_B(:,:,2)=0;
subplot(2,3,4)
imshow(image_B),title(sprintf('Imagen componente azul'));
% Imagen en blanco y negro
image_BW=im2bw(image,0.5);
subplot(2,3,5)
imshow(image_BW),title(sprintf('Imagen blanco y negro'));
% Imagen en escala de grises
image_Gray=rgb2gray(image);
subplot(2,3,6)
imshow(image_Gray),title(sprintf('Imagen escala grises'));
Resultados:
-Como vemos las componentes de la señal en color se obtienen simplemente obteniendo cada una de las matrices que representan cada una de las componentes del color y haciendo las demás matrices nulas, es decir, si por ejemplo queremos representar la componente roja de la imagen de color, lo que hacemos es introducir en una nueva matriz de 3 dimensiones (m,n,3) ( al igual que la señal de color), las filas y columnas de la primera componente de la señal de color (m,n,1) en la componente 1 de nuestra nueva matriz e introducir todo ceros en las otras 2 componentes de la nueva matriz (m,n,2 y m,n,3).
-Para pasar la imagen en color a una imagen en blanco y negro, usamos el comando im2bw.
-Para pasar la imagen en color a una imagen en escala de grises, usamos el comando rgb2gray que lo que hace es simplemente la operación en una nueva matriz de dos dimensiones: image_Gray=image(:,:,1) *0.3 + image(:,:,2) * 0.59 + image(:,:,3)* 0.1.
Entrada principal
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario