Matlab Video 1

Páginas: 6 (1435 palabras) Publicado: 27 de mayo de 2015
Desarrollo de practica:

Esta práctica consiste en el desarrollo de una aplicación con el uso de MatLab. La aplicación a desarrollar es una alarma con detector de movimiento, que al momento de detectar algún movimiento o sonido grava un log, para lograr este objetivo de utilizo el siguiente código:


%% Configuraciones.
if nargin < 3
silentAlarm = false;
end
if nargin < 2
secondsToRecord= 10;
end
if nargin < 1
logName = ['LogdeMovimiento-' datestr(now,30)];
end

EL código que se muestra arriba solamente es para indicar el tiempo de grabación en caso de detectar movimiento en este caso se asigno un tiempo de grabación por 10 segundos para que se guarde posteriormente un log llamado LogdeMovimiento.
El siguiente paso se configurara la sensibilidad de detección:
%% Sensibilidadde deteccion...

% Maximo rango de framas para guardar.
maxDiskFrameRate = 5;
% Codec de video usado.
videoCompression = 'Cinepak';
% Maximo rango para mostrar video y audio.
maxDisplayRate = 10;
% Sensibilidad de Movimiento.
motionThreshold = 90; % Entre 0 y 255
% Sensibilidad de Audio.
soundThreshold = 1.0; % Entre 0.0 y 1.0

Se declaro el máximo de tramas a guardar 5,posteriormente se asigna un formato al video a guardar y por ultimo la sensibilidad del sensor de movimiento en un rango de 90 y la sensibilidad un poca alta con 1.0 para la detección de audio.

Configuración de las tramas y frecuencia de las imágenes.
%% Crear un Objeto de video y determinar la frecuencia de imagen.
vid = videoinput('winvideo');
disp(sprintf('Medición de velocidad de fotografias...'));triggerconfig(vid,'manual');
set( vid, 'FramesPerTrigger', 50 );
start(vid);
pause(1.0);
trigger(vid);
% Acquire 50 frames or 20 seconds of data, whichever comes first.
try
wait(vid,20,'running');
catch
% Supress any error and just use the frames we were able to get.
stop(vid);
end
[frames,relTimes] = getdata(vid, vid.FramesAvailable);
actualFrameRate = 1/mean(diff(relTimes));disp(sprintf('Velocidad de tramas:%f Porcentaje %d Tramas',...
actualFrameRate, size(frames,ndims(frames))));

El siguiente código se declara una variable para poder adquirir el video de entrada, después se asigna el número de tramas que se capturan adquieran en un tiempo de 20 segundos. Después se hace un comparación para determinar si son los 20 segundos de tiempo, si el tiempo cumpleentonces se para de grabar.
Configurar la entrada de vídeo, detectar el movimiento y
%% grabación de vídeo cuando...
%% Disparador.

% Mantenga la velocidad de grabación en maxDiskFrameRate.
set(vid, 'FrameGrabInterval', ceil(actualFrameRate / maxDiskFrameRate) );
framesPerSecond = actualFrameRate / get(vid, 'FrameGrabInterval');
frameLogFile = avifile(logName,...'Compression', videoCompression,...
'Fps', framesPerSecond );
set(vid, 'TriggerRepeat', Inf);
framesToRecord = ceil(framesPerSecond * secondsToRecord);
set(vid, 'FramesPerTrigger', framesToRecord);
set(vid, 'LoggingMode', 'disk');
set(vid, 'DiskLogger', frameLogFile);
set(vid, 'StartFcn', @videoStartFcn);
% Muestra la velocdad de tramas pero no mas que maxUpdateRate.
displayPeriod =max(1.1*(1/actualFrameRate), 1/maxDisplayRate);
set(vid, 'TimerPeriod', displayPeriod);
set(vid, 'TimerFcn', @videoTimerFcn);

% Ajustar el número de segundos que esta grabando para que coincida con el
% número de fotografías.
secondsToRecord = framesToRecord / framesPerSecond;

En estas líneas de código son para controlar la velocidad de la grabación, mantener la velocidad de grabación esfundamental para poder ajustar las tramas y poder montar el video al momento de que se dispare el sistema de alarma.
%% Configurar la entrada de vídeo, detectar el ruido y
%% grabación de Audio cuando...
%% Disparador.

ai = analoginput('winsound');
addchannel(ai,[1 2]);
set(ai, 'LoggingMode', 'disk');
set(ai, 'LogFileName', logName);
set(ai, 'LogToDiskMode', 'overwrite');
set(ai, 'TriggerType',...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • VIDEO 1
  • Práctica 1 de Matlab
  • 1 Bases Herramientas Matlab 1
  • Practica 1 matlab cinematica
  • Examen Parcial 1 Matlab
  • Tarea 1 Videos
  • Charla 1 Sin Videos
  • video barcos 1

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS