You are on page 1of 31

MANUAL DE OCTAVE

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

size(a) automaticamente te sale el tamao de imagen


LECTURA DEL VALOR DE PIXELES
CAMBIAR A IMAGEN A ESCALA DE GRISES
b= rgb2gray(a); vemos que solo tiene dos dimensiones 964x1064
HISTOGRAMA
imhist(a); imagen de color
imhist(b); imagen a blanco y negro
ALTERACIONES DE HISTOGRAMA
RECORTAR UNA IMAGEN
Para recortar una imagen debemos tener en cuenta los pixeles en este caso la imagen que tenemos es de 964 x 1064

Entonces nosotros debemos calcular el rea a recortar como si fueran coordenadas


ROTAR UNA IMAGEN
Para invertir una imagen usamos lo que es rot

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

Combinacin de todas las capas


AUMENTAR IMAGEN
function extendida=crecer (matriz) PROGRAMA crecer.m
[r,c]=size (matriz);
extendida=zeros(r+2,c+2);
extendida(2:r+1,2:c+1)=matriz;
extendida(1,2:c+1)=matriz(r,:);
extendida(r+2,2:c+1)=matriz(1,:);
extendids (2:r+1,1)=matriz (:,c);
extendida (2:r+1,c+1)=matriz(:,1);
extendida (1,1)=matriz (r,c);
extendida(1,c+2)=matriz (r,1);
extendida(r+2,1)=matriz (1,c);
extendida(r+2,c+2)=matriz(1,1);
EXTENDER UNA IMAGEN
PROGRAMA extender.m
%funcion para extender una matriz en 2 dimensiones.
function salida=extender(matriz)
[r,c]=size(matriz);
salida=zeros(r+2,c+2);
salida(2:r+1,2:c+1)=matriz;
salida(1,2:c+1)=matriz(r,:);
salida(r+2,2:c+1)=matriz(1,:);
salida(2:r+1,1)=matriz(:,c);
salida(2:r+1,c+2)=matriz(:,1);
salida(1,1)=matriz(r,c);
salida(r+2,c+2)=matriz(1,1);
salida(1,c+2)=matriz(r,1);
salida(r+2,1)=matriz(1,c);
FILTRADO LINEAL
SE UTILIZA EL COMANDO imfilter(imagen,filtro)

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);

You might also like