Transformación de imágenes de color a diversos tipos

beruby - te devolvemos dinero por tus compras y reservas online
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

No hay comentarios:

Publicar un comentario