【问题标题】:Matlab-Making video from imagesMatlab-从图像制作视频
【发布时间】:2014-07-07 23:11:22
【问题描述】:

我试图在 matlab 中从一个包含 95 个图像的文件制作视频。当我运行该程序时,我收到此错误:

Error using VideoWriter/writeVideo (line 383)
Frame must be 481 by 272

Error in savenew (line 14)
 writeVideo(writerObj,im2frame(Frame) 

虽然当我用于制作视频的图像数量低于 11 时,我没有任何问题,并且程序正在构建我想要的视频。你知道我该如何解决这个问题吗?

提前致谢

这是我的更新代码:

    ImagesFolder=uigetdir;
jpegFiles = dir(strcat(ImagesFolder,'\*.jpg'));

S = [jpegFiles(:).datenum]; 
[S,S] = sort(S);
jpegFilesS = jpegFiles(S);
VideoFile=strcat(ImagesFolder,'\MyVideo');
writerObj = VideoWriter(VideoFile);
fps= 10; 
writerObj.FrameRate = fps;

open(writerObj);
for t= 1:length(jpegFilesS)
     Frame=imread(strcat(ImagesFolder,'\',jpegFilesS(t).name));
     B = imresize(Frame, 1.0);
     C=im2double(B);

     writeVideo(writerObj,im2frame(C));

end
close(writerObj);
implay('C:\Program Files\MATLAB\R2013a\bin\sfalmata neo\MyVideo.avi');

【问题讨论】:

    标签: matlab video


    【解决方案1】:

    视频的所有帧必须具有相同的大小。使用“imresize”调整帧大小。在不同数据类型的情况下也适用'im2double'

    【讨论】:

    • 谢谢你的回答,但我又遇到了同样的问题
    • 您正在调整 1 倍的大小,但没有任何作用。使用 imresize 设置像素尺寸
    • 我已经尝试过使用不同的因素,例如 0.5 或 1.5,但我总是得到相同的错误。也许有些框架没有得到正确的尺寸,但我检查了这个并没有发现问题。图片中的文件夹是灰度的,这是个问题吗?
    • 您必须设置尺寸,使用因子重新设置样式不会使所有框架的尺寸相同。使用imresize(Frame, [w, h]) ,其中 w 和 h 设置视频的分辨率。
    猜你喜欢
    • 2015-06-15
    • 2018-10-28
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    相关资源
    最近更新 更多