求 :MATLAB获取视频帧的函数,以及获取视频帧中像素的函数。

求 :MATLAB获取视频帧的函数,以及获取视频帧中像素的函数。,第1张

视频分解成一帧一帧的图像

functionExtractFrame(imagefile)mov=aviread(imagefile);n=size(mov,2);for i=1:n k=int2str(i); F=mov(1,i); [f,map]=frame2im(F); k1=strcat('extraction\',k,'jpg'); imwrite(f,k1);end

mov = mmread('answeravi');%读入视频

VFrames = size(mov,1); %读取视频的帧数 总之呢,就是你的VFrames的值有问题啊。。。

for k =1 : VFrames

strtemp=strcat('D:\Documents\MATLAB\frames\',int2str(k),'','jpg');

imwrite(mov(k)frames(k)cdata(:,:,:),strtemp);

end

videoObj = VideoReader('renavi');%读视频文件,存入变量videoObj中

nframes = get(videoObj, 'NumberOfFrames');%获取视频文件的帧数

for k = 1 : nframes %for循环,读取每一帧

currentFrame = read(videoObj, k);%读取第i帧

subplot(1,2,1);%创建图像显示窗口并获取第一个窗口

imshow(currentFrame); %显示一帧

c1 = rgb2gray(currentFrame);%灰度化

grayFrame=medfilt2(c1,[3 3]);%中值滤波

if(k==1)%如是第一帧,则:

grayFrame_1 = grayFrame;%把第一帧灰图存入变量grayFrame_1中,如不是第一帧,则执行下句

end

difgrayFrame= grayFrame - grayFrame_1;%邻帧差,计算后面的帧与第一帧的差

subplot(1,2,2);%画第二个子图

imshow(difgrayFrame);%显示差图

grayFrame_1 = grayFrame;%更新第一灰图的内容

pause(00001);%暂停00001秒

end

以上就是关于求 :MATLAB获取视频帧的函数,以及获取视频帧中像素的函数。全部的内容,包括:求 :MATLAB获取视频帧的函数,以及获取视频帧中像素的函数。、用matlab读入视频,然后将每一帧都以图片的形式输出,但最后只输出了一张图片,求大神解答!、求助!哪位大神可以给我解释一下matlab程序啊,关于运动目标检测的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9712962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存