Este programa permite detectar movimientos a partir de una webcam utilizando MATLAB
Al darse un movimiento frente a la cámara, se muestra en pantalla la palabra "Movimiento"
Este código es de mucha utilidad y puede ser implementado en una GUI para la realización de proyectos más complejos.
clc
vid = videoinput('winvideo', 1);
set(vid,'TriggerRepeat',Inf);
vid.FrameGrabInterval = 5;
start(vid);
while(vid.FramesAcquired<=110) % para luego de 10 tramas
IM = getdata(vid,2);
IMGray = rgb2gray(IM(:,:,1:3));
IMbw=im2bw(IMGray,0.5);
IMneg=imadjust(IMGray,[0 1],[1 0]);
subplot(2,3,1);imshow(IM(:,:,:,1));title('Video')
subplot(2,3,2);imshow(IMbw);title('Blanco y Negro')
subplot(2,3,3);imshow(IMGray);title('Gris')
subplot(2,3,4);imshow(IMneg);title('Negativo')
i1=IM(:,:,:,1);
i2=IM(:,:,:,2);
i1=rgb2gray(i1(:,:,1:3));
i2=rgb2gray(i2(:,:,1:3));
m=abs(double(i1)-double(i2))/256;
subplot(2,3,5);imshow(m);title('Movimiento')
if sum(sum(m))>1200
disp('Movimiento');
beep
end
end
stop(vid);
No hay comentarios:
Publicar un comentario