Recentemente, gravei alguns vídeos das nuvens no céu, mas as nuvens se moviam muito devagar e não havia efeito visual chocante, então pensei em usar o matlab para processar o seguinte, e realmente percebi, haha. .
Antes de tudo, você deve ter um pequeno vídeo de sua autoria. Não vou enviar o vídeo que uso. Se você quiser testar, pode gravar um vídeo com seu celular. . . .
clc;clear;
close all;
obj = VideoReader('E:\Program\testpro\testfile.mp4'); % 获取句柄
% FrameVideo = obj.FrameRate; % 获取帧率及权重,可以不读
% Hight_video = obj.Height;
Framedata = read(obj); % 读取视频
Datasize = size(Framedata); % 获得视频矩阵尺寸
Framedata1 = Framedata(:,:,:,1); % 获取第一帧图像
imshow(Framedata1); % 查看第一帧图像
myv = VideoWriter('myvideo'); % 创建句柄
myv.FrameRate = 30; % 设置视频帧率
open(myv); % 打开句柄
writeVideo(myv,Framedata(:,:,:,1:2:end)); % 写入视频,每两张抽取一张实现快进效果
close(myv); % 关闭句柄,然后用视频软件就可以查看视频了
Os vídeos geralmente são reproduzidos rapidamente de duas maneiras. Uma é a amostragem, ou seja, os 400 quadros originais das imagens agora são extraídos do meio para 100 quadros, o que atinge 4 vezes a velocidade de reprodução; o outro é aumentar a taxa de quadros, originalmente reproduzindo 30 quadros por segundo, agora reproduzo 60 quadros, o que atinge uma velocidade de reprodução 2x.
Obviamente, a premissa é que sua placa de vídeo suporta essa taxa de quadros. . .