Вы находитесь на странице: 1из 14

Procesamiento Digital

de Imágenes
Proyecto 1
Objetivos

 Estimarel ángulo de rotación con


respecto al eje Y o al Z, utilizando
Matlab.
Diagra
ma de
Flujo
Estructura Generel

 Elprograma principal esta


constituido por 2 subprogramas.
Estos están denominado como:

 Programa 1 (rotación con respecto al
eje y)
 Programa 2 (rotación con respecto al
eje z)
Imagen Binaria

 Matlab reconoce el 0 como el color blanco y el


1 de color negro. En la siguiente imagen
muestra un ejemplo de esta conversión:
Imagen Binaria 2
Capturar una Imagen
 Web_Cam=videoinput('winvideo'); % esto crea el canal de
video a la camara web
 preview(Web_Cam); % abrimos una ventana de preview
para ver a donde
 apuntamos con la camara
 input('Presione enter cuando desse capturar la imagen');
 start(Web_Cam); % inicializamos el canal de Video
 patente=getsnapshot(Web_Cam); % tomamos una
instantanea con la camara
 que se guarda en imgAdq
 imshow(patente); % se muestra la imagen
 p=input('La foto esta correcta? Y/N:','s');
 closepreview(Web_Cam); % cerramos la ventana de
preview
 delete(Web_Cam); % borramos el canal de Video
 patente=imread('C:\Users\javier\Desktop\patente.jpg');
 imshow(patente);
 patentebn=im2bw(patente);
 imshow(patentebn);

¿Como trabaja el
programa?
 Serealizan 4 particiones en la matriz
quedando 4 segmentos idénticos,
para esto se usan los siguientes
códigos:

 n=fila, m=columna

 n1=(n/4)
 n2=(3*n/4)
 m2=(3*n/4)
 m1=(m/4)
Segmentación Matricial
Recorrer una Matriz

 for i=1 : n1
 for j=1:m1
 a=patentebn(i,j);
 if(a==0 && sw1==0)
 columna1=j;
 sw1=1;
 break;

 end
 end
 if(sw1==1)
 break
 end
 end
 for i=1 : n2
 for j=m:-1:m2
 b=patentebn(i,j);
 if(b==0 && sw2==0)
 columna2=j;
 sw2=1;
 break;
 end
 end
 if(sw2==1)
 break;
 end
 end

Programa 1
 En el primer programa se realizara la rotación con
respecto al eje z

 Formula a utilizar:
 catetoopuesto=fila2-fila1;
 catetoadyacente=columna2-columna1;
 Catetoopuesto=abs(catetoopuesto);
 Catetoadyacente=abs(catetoadyacente);

 hipotenusa=sqrt((Catetoopuesto)^2+
(Catetoadyacente)^2);
 angulo=arcos(Catetoadyacente/hipotenusa);
 angulofinal=(angulo*(180/pi));
 disp('El angulo es:');
 disp(angulofinal);


Patente

 Rotación eje z



Programa 2

 En el segundo programa se realizara la


rotación con respecto al eje x

 Formula a utilizar
 hipotenusa=columna2-columna1;
 Hipotenusa=abs(hipotenusa);

 catetoadyacente=columna2-columna1;
 Catetoadyacente=abs(catetoadyacente);
 angulo=arcos(Catetoadyacente/hipotenusa)
;
 angulofinal=(angulo*(180/pi));
 disp('El angulo es:');
 disp(angulofinal);

Patente

 Rotación eje y


Вам также может понравиться