Professional Documents
Culture Documents
TRATAMIENTO DE IMAGENES
24 DE SEPTIEMBRE DE 2016
ANGELES MUOZ GARCIA
Contenido
LEER UNA IMAGEN ................................................................................................................................................................................................................................... 2
OBTENER PLANOS RGB ............................................................................................................................................................................................................................ 3
TAMAO DE IMAGEN .............................................................................................................................................................................................................................. 4
LECTURA DEL VALOR DE PIXELES ............................................................................................................................................................................................................. 5
CAMBIAR A IMAGEN A ESCALA DE GRISES .............................................................................................................................................................................................. 6
HISTOGRAMA ........................................................................................................................................................................................................................................... 7
ALTERACIONES DE HISTOGRAMA ............................................................................................................................................................................................................ 8
RECORTAR UNA IMAGEN ......................................................................................................................................................................................................................... 9
ROTAR UNA IMAGEN ............................................................................................................................................................................................................................. 10
NEGATIVO DE UNA IMAGEN .................................................................................................................................................................................................................. 13
REDUCIR LAS DIMENSIONES .................................................................................................................................................................................................................. 14
AUMENTAR LAS DIMENSIONES ............................................................................................................................................................................................................. 15
SUMA Y RESTA DE IMGENES ................................................................................................................................................................................................................ 16
CONVERTIR A SOLO CEROS Y UNOS ....................................................................................................................................................................................................... 18
DESCOMPOSICION BINARIA ................................................................................................................................................................................................................... 19
COMBINAR CAPAS DE BINARIO ............................................................................................................................................................................................................. 20
AUMENTAR IMAGEN.............................................................................................................................................................................................................................. 22
EXTENDER UNA IMAGEN ....................................................................................................................................................................................................................... 23
FILTRADO LINEAL ................................................................................................................................................................................................................................... 24
FILTRADO NO LINEAL ............................................................................................................................................................................................................................. 27
RUIDO..................................................................................................................................................................................................................................................... 28
DEGRADADO .......................................................................................................................................................................................................................................... 29
LEER UNA IMAGEN
Mediante el siguiente comando
a = imread(nombre_imagen);
y mostramos con a=imshow(a);
OBTENER PLANOS RGB
Se utiliza los siguientes comandos
Im_r= a(:,:,1);
Im_g= a(:,:,2);
Im_b= a(:,:,3);
TAMAO DE IMAGEN
rot90(imagen,numerodeasignaciongrados);
rot90: Assign K=1 for 90 degree, 2 for 180, 3 for 270 and 4 for 360.
flipud(imagen); y fliplr(imagen);
Imrotate(imagen,angulo)
NEGATIVO DE UNA IMAGEN
C=255-imagen;
REDUCIR LAS DIMENSIONES
PROGRAMA reduce.m
%programa que permite reducir renglones de una matriz
%selecciona solo los pares
function salida=reduce(entrada)
[r,c]=size(entrada);
aux=1;
for y=1:2:r %para controlar el barrido sobre renglones
salida(aux,:)=entrada(y,:);
aux=aux+1; end
AUMENTAR LAS DIMENSIONES
PROGRAMA aumenta.m >> a=imread('lobo2.jpg');
>> b=rgb2gray(a);
%programa que duplica imagen
>> c=aumenta(b);
function salida=aumenta(imagen) >> size(b);
[r,c]=size(imagen); >> size(b)
for i=1:r ans =
for j=1:c 290 290
salida(2*i-1,2*j-1)=imagen(i,j); >> size(c)
salida(2*i-1+1,2*j-1+1)=imagen(i,j); ans =
salida(2*i-1+1,2*j-1)=imagen(i,j); 580 580
salida(2*i-1,2*j-1+1)=imagen(i,j); >> imshow(b)
end >> title('imagen 1 290 x 290');
>> figure
end >> imshow(c)
>> title('imagen 1 580 x 580');
SUMA Y RESTA DE IMGENES
PROGRAMA SUMAYRESTA
%Programa en la cual suma y resta dos imagenes
function salida=sumayresta(a,b,d)
r=300;
c=300;
a=imresize(a,[r c]);
b=imresize(b,[r c]);
figure
subplot(2,1,1);
imshow(a);
title('imagen a');
subplot(2,1,2);
imshow(b);
title('imagen b');
switch(d)
case 1
for i=1:r
for j=1:c
salida(i,j)=a(i,j)+b(i,j);%suma de matrices
end
end
figure
imshow(salida);
title('suma de las imagenes');
case 2
for i=1:r
for j=1:c
salida(i,j)=a(i,j)-b(i,j);%resta de
matrices
end
end
figure
imshow(salida);
title('resta de las imagenes');
endswitch
CONVERTIR A SOLO CEROS Y UNOS
%PROGRAMA PARA CONVERTIR UNA IMAGEN A BINARIA 0 o 1
function imagenb = convertir(imagen)
[r,c,tipo]=size(imagen);
if tipo~=1 imagen=rgb2gray(imagen)end
for i=1:r
for j=1:c
if imagen(i,j)>127
imagenb(i,j)=255;
else
imagenb(i,j)=0;
end
end
end
DESCOMPOSICION BINARIA
%PROGRAMA PARA CONVERTIR UNA IMAGEN A BINARIA PROGRAMA convertirbinario.m
function covertirbinario(imagen)
temp=imagen;
subplot(3,3,1);
imshow(imagen);
title('imagen original');
for i=1:8
a(:,:,i)=mod (temp,2);
subplot(3,3,i+1);
imshow(a(:,:,i)*255);
temp=floor(temp/2);
end
COMBINAR CAPAS DE BINARIO
%PROGRAMA PARA COMBINAR CAPAS PROGRAMA combcapas.m
function salida=combcapas(imagen)
temp=imagen;
%parte 1. binarizado de la imagen
for i=1:8 %divisiones sucesivas
matrices(:,:,i)=mod (temp,2);%bit respectivo
temp=floor(temp/2);%resultado division
end
salida=matrices
Combinacin de la capa 8 y 7
ENFONCAR DESENFOQUE
REALZAR BORDES REALZANDO BORDES
DESFILADO DE BORDES
FILTRADO NO LINEAL
Minimo
>> a=imread('luka.jpg');
>> b=rgb2gray(a);
>> f=inline('min(x(:))');
>> c1=nlfilter(b,[3,3],f);
>> imshow(c1);
Maximo
>> f=inline('max(x(:))'); % Define funcin mxima
>> c1=nlfilter(b,[3, 3],f);
PROGRAMA filtrar.m
function salida=filtrar(imagen,filtro)
temp=crecer(imagen);
[r,c]=size(temp);
for i=2:r-1
for j=2:c-1
submatriz=temp(i-1:i+1,j-1:j+1);
aux=submatriz.*filtro;
salida(i-1,j-1)=max(max(aux));
end
end
salida=uint8(salida);
RUIDO
IMRuido= imnoise(I,type,parameters)
I es la imagen a contaminar
Type es el tipo de ruido
'gaussian', adicionalmente se debe incluir la media y la varianza, por
default son 0,1
'salt & pepper', adicionalmente el porcentaje de ruido
'speckle' y un parmetro de porcentaje
DEGRADADO
PROGRAMA degrada.m
function salida= degrada (r,c)
cr= ceil(r/2);
cc= ceil(c/2);
for i=1:r
for j=1:c
salida(i,j)=(sqrt(power((i-cr),2)+ power((j-cc),2)))+50;
end
end
salida=uint8(salida);