Video con MATLAB Dr. Alejandro Aceves Seminario del Proyecto de Investigación en robótica Humanoide Objetivo • Al finalizar el taller, el participante podrá analizar video desde MATLAB para hacer procesos simpes de detección de colores y búsqueda de propiedades del área de pixeles. Analizar video Analizar video Analizar video Analizar video Analizar video DriverVideo='winvideo'; ResolucionVideo='I420_160x120'; vid=videoinput(DriverVideo,1,ResolucionVideo); set(vid,'ReturnedColorSpace','rgb'); set(vid,'TriggerRepeat',Inf); set(vid,'FramesPerTrigger',1); vid.FrameGrabInterval = 1; triggerconfig(vid,'manual'); % Estas lineas se usan para la webcam IBM % dip=getselectedsource(vid); % set(dip,'BrightnessMode','manual'); % set(dip,'WhiteBalanceMode','manual'); Analizar video start(vid); tic trigger(vid); while islogging(vid)==1, end; while(vid.FramesAcquired<TotalFrames) fotoRGB=getdata(vid,1); trigger(vid); imshow(fotoRGB); tiempo=toc; tic title(['Imagen segmentada. \Deltat = ',num2str(tiempo),'seg']); drawnow; end; stop(vid); regionprops Analizar video while (vid.FramesAcquired < TotalFrames) foto=getdata(vid,1); trigger(vid); fotoBW=im2bw(foto); for x=1:480 for y=1:640 p=[foto(x,y,1),foto(x,y,2),foto(x,y,3)]; if (p(1)>=claseR(1) && p(1)<=claseR(4) && p(2)>=claseR(2) && p(2)<=claseR(5) &&... p(3)>=claseR(3) && p(3)<=claseR(6)) fotoBW(x,y)=1; else fotoBW(x,y)=0; end end end [L,indice]=bwlabel(fotoBW); propied=regionprops(L); [elmax,indice]=max([propied.Area]); dim=propied(indice).BoundingBox; rectangle('Position',dim); axis([1 640 1 480]) end Referencias [1] Image Processing Toolbox For Use with MATLAB User’s guide v2.0