jueves, 13 de mayo de 2010

Captura y manejo de imagenes

%% adquirir imagen1
I1 = imread('imagen1.jpg');
imshow(I1)
%% adquirir imagen2
I2 = imread('imagen2.jpg');
figure
imshow(I2)
%% capturar las matrices de coleres
I1r = I1(:,:,1);
I2r = I2(:,:,1);
I1g = I1(:,:,2);
I2g = I2(:,:,2);
I1b = I1(:,:,3);
I2b = I2(:,:,3);

Inewr = I1r-I2r;
figure
imshow(Inewr)

Inewg = I1g-I2g;
figure
imshow(Inewg)

Inewb = I1b-I2b;
figure
imshow(Inewb)

Inew(:,:,1) = Inewr;
Inew(:,:,2) = Inewg;
Inew(:,:,3) = Inewb;
figure
imshow(Inew)
%% Filtro mediana
[n,m]=size(I2r);
imshow('imagen2.jpg')
for k =1:3
for i = 2:n-1
for j = 2:m-1
v=uint8((I2(i-1,j-1,k)+ I2(i-1,j,k)+ I2(i-1,j+1,k)+ I2(i,j-1,k)+ I2(i,j,k)+ I2(i,j+1,k)+...
I2(i+1,j-1,k)+ I2(i+1,j,k)+ I2(i+1,j+1,k))/9);

I2(i,j,k) = (v);
end
end
end
figure
imshow(I2)
%% omparar imagen
for k = 1:3
Inew(:,:,k) = I1(:,:,k)-I2(:,:,k);
end
figure
imshow(Inew)
imshow(Inew)

3 comentarios:

  1. Una forma útil es la de crear los elementos del arreglo con una sucesión de números.es

    >> t = 1:6
    t =1 2 3 4 5 6

    También es posible dar la diferencia en el salto de los números de la sucesión:
    > > t = 0:0.2:1
    t = 0 0,2 0,4 0.6 0,8 1

    ResponderEliminar
  2. La imagen se llama ‘imagen2.jpg’ con cual se trabajo en clases y esta se almacena en una variable.

    >> I1 = imread(‘imagen2.jpg’);

    Ahora para desplegarla en pantalla se puede usar el comando imshow:
    >>imshow(I1)

    Pero si la ‘imagen2.jpg’ hubiera sido una imagen indexada.

    Entonces la sintaxis correcta para leer esa imagen hubiera sido:

    >> [I1, map] = imread(‘imagen2.jpg’);

    Lo que indica que los valores de pixeles de la imagen quedarán en el arreglo I1 y la paleta quedará en el arreglo map.

    ResponderEliminar
  3. En el caso de imágenes a escala de grises estas solo tienen un plano constituido por la matriz mxn que contiene los valores de intensidad para cada índice. Sin embargo las imágenes de color cuentan con mas de un plano. En el caso de imágenes RGB estas cuentan con 3 planos uno para cada color que representa.

    planeR=image2( :, :,1) ;
    planeG=image2( :, :,2) ;
    planeB=image2( :, :,3) ;

    ResponderEliminar