今天研究了下视频的处理
然后做了视频的三帧间差分法的仿真
希望多给建议!
clc
clear
videoObj = VideoReader('3.avi');%读视频文件
nframes = get(videoObj, 'NumberOfFrames');%获取视频文件帧个数
for k = 30: 100
currentFrame = read(videoObj, k);%读取第i帧
Frame1=read(videoObj, k+1);
Frame2=read(videoObj, k+2);
% imshow(currentFrame);
grayFrame = rgb2gray(currentFrame);%灰度化
grayFrame_1 = rgb2gray(Frame1);%灰度化
grayFrame_2=rgb2gray(Frame2);
difgrayFrame= grayFrame - grayFrame_1;%邻帧差 像素值不出在负数
difgrayFrame2= grayFrame_1 - grayFrame_2;%邻帧差
fdiff1=im2bw(uint8( difgrayFrame),0.05);%与阈值比较转换成二值图像 256*0.05=12.8
fdiff2=im2bw(uint8( difgrayFrame2),0.05);%与阈值比较转换成二值图像
f= fdiff1&fdiff2; %得到移动的区域
pause(0.01);
figure(1);
imshow(f);
end
视频3.avi设置为105帧,帧率为15,总共录制七秒!
视频可联系我1556180489
仿真效果(只给出其中两帧)
时间差分法代码下载:https://download.csdn.net/download/weixin_39249915/11175908