永发信息网

求大佬分享一下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;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯