В этом примере показано, как создать видео с задержкой во времени путем удаления ненужных систем координат во время постобработки.
Image Acquisition Toolbox™ облегчает производство временных фотографий. В этом примере мы будем использовать постобработку, чтобы удалить системы координат из полученной последовательности изображений. Это идеально подходит для ситуаций, когда вы не уверены, какие системы координат релевантны во время захвата или где ваша обработка займет слишком много времени, чтобы произойти во время приобретения. Возможным приложением было бы удаление систем координат, которые не имеют никакого движения относительно предыдущей системы координат. Основной недостаток этого метода временного десятикратного уменьшения заключается в том, что для хранения всех систем координат требуется большой объем памяти. Этот пример приобретается в память, но вы, вероятно, приобретете в файл AVI, а затем используете VideoReader
команда для постпроцессной обработки систем координат.
Следите за последовательностью в течение дня. (21 секунд)
Перед получением изображений с помощью Image Acquisition Toolbox, создайте объект входа видео.
% When executing the following code, you may need to % modify it to match your acquisition hardware. vid = videoinput('winvideo',1,'RGB24_352x288');
То строение, которое мы будем использовать,
Получите 100 системы координат
vid.FramesPerTrigger = 100; vid
Summary of Video Input Object Using 'Logitech QuickCam Fusion'. Acquisition Source(s): input1 is available. Acquisition Parameters: 'input1' is the current selected source. 100 frames per trigger using the selected source. 'RGB24_352x288' video data to be logged upon START. Grabbing first of every 1 frame(s). Log data to 'memory' on trigger. Trigger Parameters: 1 'immediate' trigger(s) on START. Status: Waiting for START. 0 frames acquired since starting. 0 frames available for GETDATA.
start(vid); wait(vid); framesavailable = vid.FramesAvailable;
framesavailable = 100
frames = getdata(vid,framesavailable);
Здесь просто удалите каждую другую систему координат. Тем не менее, вы можете сделать обработку, которая намного сложнее.
toberemoved_index = [2:2:framesavailable]; frames(:,:,:,toberemoved_index) = []; numframes = size(frames,4)
numframes = 50
Визуализируйте системы координат в файл AVI. Для этого создайте объект |VideoWriter|, вызовите функцию |writeVideo|, чтобы добавить все системы координат в файл AVI, а затем используйте функцию |close|, чтобы освободить ресурсы, связанные с файлом AVI.
vwObj = VideoWriter('timelapsevideo', 'Uncompressed AVI'); vwObj.FrameRate = 15; open(vwObj); writeVideo(vwObj, frames); close(vwObj);
Чтобы воспроизвести просроченную последовательность AVI, щелкните правой кнопкой мыши имя файла в браузере текущей папки MATLAB ® и выберите в контекстном меню команду Открыть вне MATLAB .
Когда вы сделаны с объектом входа видео, вы должны использовать delete
функция, чтобы освободить связанные с ней аппаратные ресурсы и удалить их из рабочей области с помощью clear
функция. Также удалите и очистите объект VideoWriter.
delete(vid); delete(vwObj); clear vid vwObj;