求大佬分享一下matlab中可以处理视频文件的程序,能够读取视频文件某个帧的图像并可以获得图像信息
答案:2 悬赏:0 手机版
解决时间 2021-04-11 14:43
- 提问者网友:最爱你的唇
- 2021-04-10 23:16
求大佬分享一下matlab中可以处理视频文件的程序,能够读取视频文件某个帧的图像并可以获得图像信息
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-04-11 00:09
将视频转换为帧图片mov=aviread('D:\road2.avi');%读入fnum=size(mov,2);%读取视频的祯数,mov为1*fnum矩阵fori=1:fnumstrtemp=strcat('D:\cc\',int2str(i),'.','bmp');%将每祯转成bmp格式的图片imwrite(mov(i).cdata(:,:,:),strtemp);end我的视频是D盘中的road2,存入的文件是D盘CC文件夹,你按你的路径输入。对AVI的格式有要求,转成非压缩的24位RGB就可以了虽同AVI文件,但压缩率是不同的,而MATLAB认不出压缩的AVI,所以读不进去会出错,只有将AVI还原为未压缩的情况下,MATLAB才能顺利读入。可以试一下aviinfo查看一下avi视频文件的压缩格式,一般是无压缩的可以正常读取。>>aviinfotraffic.avians=Filename:'D:\ProgramFiles\MATLAB\R2009a\toolbox\images\imdemos\traffic.avi'FileSize:208896FileModDate:'20-八月-200712:34:40'NumFrames:120FramesPerSecond:15Width:160Height:120ImageType:'truecolor'VideoCompression:'MP42'Quality:0NumColormapEntries:0>>clc;clearall;closeall;mov=aviread('rhinos.avi');%读入fnum=size(mov,2);%读取视频的祯数,mov为1*fnum矩阵figure(1);fori=1:fnumstrtemp=strcat(int2str(i),'.','bmp');%将每祯转成bmp格式的图片imwrite(mov(i).cdata(:,:,:),strtemp);figure(1);imshow(mov(i).cdata(:,:,:),[]);pause(0.1);
全部回答
- 1楼网友:第幾種人
- 2021-04-11 00:25
想得到其中的图像的像素值可以这样干:
clc;close all;clear all
info = imfinfo('3.gif');%第一次读取,用于获取属性值
w = info.width;
h = info.height;
w = w(1);
h = h(1);
len = length(info);
figure('numbertitle', 'off', 'toolbar', 'none', 'menu', 'none');
pos = get(gcf, 'position');
set(gcf, 'position', [pos(1) pos(2) w h]);
set(gca, 'position', [0 0 1 1]);
hold on;
for i = 1 : len
str=sprintf('photo%d.jpg',i);
[ii, map] = imread('3.gif', 'frames', i);
imwrite(ii,str,'jpg');
f(:, i) = im2frame(flipud(ii), map);
end
movie(f, 20);
close;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯