Está en la página 1de 10

ESCUELA POLITCNICA DEL EJRCITO

DEPARTAMENTO DE ELCTRICA Y ELECTRNICA MATERIA: PROCESAMIENTO DIGITAL DE IMAGENES TEMA: DETECCION Y MOVIMIENTO DE OBJETOS EN UN PROGRAMA MEDIANT EL USO DE LA CAMARA WEB DE UNA LAPTOP INTEGRANTES: SR. JORGE BRITO SR. BYRON LLERENA FECHA: 17-JUN-2010
NOTA

Contenido
Contenido............................................................................................................ 2 TEMA................................................................................................................... 3 OBJETIVOS........................................................................................................... 3 GENERALES......................................................................................................3 ESPECFICOS.................................................................................................... 3 PROCEDIMIENTO................................................................................................. 4 PROGRAMACIN..................................................................................................5 RESULTADOS................................................................................................... 7 CONCLUSIONES Y RECOMENDACIONES............................................................10 BIBLIOGRAFIA....................................................................................................10

TEMA.
DETECCIN Y MOVIMIENTO DE OBJETOS EN UN PROGRAMA MEDIANTE EL USO DE LA CAMARA WEB

OBJETIVOS.
GENERALES.
Graficar un circulo en un sistema de coordenadas Mediante el uso de la cmara web de la laptop mover a dicho crculo hacia la izquierda o la derecha conforme desciende con el uso de las manos derecha e izquierda respectivamente.

ESPECFICOS.

Capturar imgenes a travs de la cmara web. Encontrar los histogramas de ciertas reas de las imgenes tomadas por la cmara web. Realizar una comparacin entre histogramas de cada imagen tomada y una imagen estndar Mover el crculo en la grfica dependiendo de la comparacin de los histogramas.

PROCEDIMIENTO.
1. Escribimos el comando imaqhwinfo en la lnea de comandos e Matlab, y nos regresar el nombre del adaptador que utiliza matlab para la cmara web

2. Ahora obtenemos detalles de la cmara web escribiendo la siguiente lnea de cdigo:

3. Ahora con la informacin de la cmara web procedemos a realizar

una funcin en Matlab que realice lo descrito en los objetivos.

PROGRAMACIN.
clc; clear(); %% Declaramos la cmara web vid = videoinput('winvideo', 1,'YUY2_1024x768'); preview(vid);%%Encendemos la cmara web pause(3);%%Damos una pausa al programa hasta que se encienda correctamente la cmara A=getsnapshot(vid);%%Tomamos una imgen inicial antes de mover la manos RGB = ycbcr2rgb(A);%% La convertimos a a formato RGB para debido a que el formato de la cmara web es otro i=1; j=1; k=1; x=0; y=100;%%Nmero de veces que se repetir el programa aux=0;%%Auxiliar que cambiar de valor cuando el programa termine %% %%%%%%%%%%%%%%%%%%%%IMAGEN INICIAL%%%%%%%%%%%%%%%%%%%% %%Tomamos una imagen inicial , la cual utilizaremos com estandar para comparar con las %%imagenes posteriores mientras se mueve las manos %%Imagen inicial lado izquierda Rai=RGB(1:400,700:1024,1); Rbi=RGB(1:400,700:1024,2); Rci=RGB(1:400,700:1024,3); imag_gi=(0.30.*Rai+0.59.*Rbi+0.11.*Rci);%% Convertimos a escala de grises %Imagen inicial lado derecha Rad=RGB(1:400,1:300,1); Rbd=RGB(1:400,1:300,2); Rcd=RGB(1:400,1:300,3); imag_gd=(0.30.*Rad+0.59.*Rbd+0.11.*Rcd);%% Convertimos a escala de grises % Encontramos el histograma tanto de la imgen inicial derecha as como de la % izquierda for k=1:256; d1=find(imag_gd==k); histderecho1(k)=length(d1); i1=find(imag_gi==k); histizquierdo1(k)=length(i1); end % Sumatoria de los valores de grises de ambos histogramas histogramaderecho1=(sum(histderecho1)); histogramaizquierdo1=(sum(histizquierdo1)); %%

%%%%%%% IMGENES EN MOVIMIENTO%%%%%%%%%%%%% while aux <1 %Captura de imgen en movimiento A=getsnapshot(vid); RGB = ycbcr2rgb(A); %Imagen en movimiento izquierda Rai=RGB(1:400,700:1024,1); Rbi=RGB(1:400,700:1024,2); Rci=RGB(1:400,700:1024,3); imag_gi=(0.30.*Rai+0.59.*Rbi+0.11.*Rci); %Imagen en movimiento derecha Rad=RGB(1:400,1:300,1); Rbd=RGB(1:400,1:300,2); Rcd=RGB(1:400,1:300,3); imag_gd=(0.30.*Rad+0.59.*Rbd+0.11.*Rcd); %Histograma derecho e izquierdo for j=1:256; d2=find(imag_gd==j); histderecho2(j)=length(d2); i2=find(imag_gi==j); histizquierdo2(j)=length(i2); end %Sumatoria de los valores de grises en ambos histogramas histogramaderecho2=(sum(histderecho2)); histogramaizquierdo2=(sum(histizquierdo2)); i=i+1; %%COMPARACION Y GRAFICOS % Graficamos el sistema de coordendas plot(-100,0) hold on plot(100,100) % disminuimos la coordenada en Y para que descienda y=y-1; % COmparamos los histogramas tomados en este instante con los histogramas % tomados al comienzo, y depende su variaci[on disminuiremos o aumentaremos % el valor de la corrdenada en X if histogramaderecho2<(histogramaderecho1-700) x=x+1; end if histogramaizquierdo2<(histogramaizquierdo1-700) x=x-1;

end %Lneas de cdigo si el fondo es oscuro % % % % % % % % % % % if end if histogramaizquierdo2>(histogramaizquierdo1+700) x=x-1; end histogramaderecho2>(histogramaderecho1+700) x=x+1;

%Graficamos las nuevas coordenadas en X y Y plot(x,y,'o') hold off %Cuando Y=0 el prgrama finaliza if y==0 aux=2; end %Velocidad del programa en segundos pause(.05); end

RESULTADOS.
Con ambos brazos sin mover

Moviendo el brazo izquierdo

Moviendo el brazo derecho

Moviendo ambos brazos

Como se puede observar en las grficas, el eje de referencia es el eje y; la circunferencia sufrir una desviacin cada vez que se mueva uno de los dos brazos hacia la izquierda o la derecha respectifamente. Mas no sufrir una desviacin el momento que se muevan los dos brazos. Nota: la primera imagen a tomar debe ser con los brazos abajo , en una superficie clara y permanecer sin moverse.

CONCLUSIONES Y RECOMENDACIONES.

Cada vez que se mueva uno de los brazos, el nmero de la sumatoria de grises del histograma cambiar seguramente, y de esto nos podremos servir para realizar comparaciones. Se debe convertir a la imagen a escala de grises para poder trabajar con las misma a maneras de histogramas. La luz y opacidad de los objetos en la figura original son elementos muy importantes a ser tomados en cuenta para una efectiva de la comparacin de histogramas. Si se cuenta con una maquina con un bus de datos de 64 bits, se debe trabajar con Matlab 10.

BIBLIOGRAFIA.
http://www.youtube.com/watch?v=JOxbgsKDtcg Visin por computador", Gonzalo Pajares, Jesus M. de la Cruz.

También podría gustarte