0

GUIでaviファイル(myVideo.avi)を表示するにはどうすればよいですか?

それが役に立ったら、私はaviビデオがそれらで構成されている11枚の画像を持っています、そして私が必要とするのはこれらの11枚の画像を無限ループで表示することです(図が閉じるまで)。

これは私が試したものです:

function [] = GUI_400()
   hFig = figure;
   hAxes = axes('Parent',hFig,'Units','pixels','Position',[362 242 424 359]);
   movie('myVideo.avi','Parent',hAxes);  
   set(hAxes,'Visible','on');                             

end

これは私が得たものです:

ここに画像の説明を入力してください

ありがとう!

@ Amro、試してみたところ、エラーが発生しました:

Undefined function or method 'VideoReader' for input arguments of type 'char'.

だから私は試しました:

obj=mmreader('loading.avi');
a=read(obj);
frames=get(obj,'numberOfFrames');
for k = 1 : frames-1
    I(k).cdata = a(:,:,:,k);
    I(k).colormap = [];
end

vid = avireader(I);
sz = [vid.Height vid.Width];
mov = read(vid, [1 vid.NumberOfFrames]);

%# prepare GUI
p = get(0,'DefaultFigurePosition');
hFig = figure('Menubar','none', 'Resize','off', ...
'Position',[p(1:2) sz(2) sz(1)]);

 %# play movie
 movv = struct('cdata',squeeze(num2cell(mov,[1 2 3])), 'colormap',[]);
 movie(hFig, movv, 999, vid.FrameRate);

しかし今私は得ました:

??? Initialization failed. (No combination of intermediate filters could be found to make the connection.)

Error in ==> mmreader.mmreader>mmreader.init at 423
        obj.MMReaderImpl = audiovideo.mmreader(fullName);

Error in ==> mmreader.mmreader>mmreader.mmreader at 133
        obj.init(fileName);

Error in ==> GUI_400 at 14
obj=mmreader('loading.avi');

私はこのリンクに解決策があることを知っています

しかし、あなたは簡単な解決策を知っていますか?ありがとう!

4

1 に答える 1

2

次の例を考えてみましょう。

%# read video frames
vid = VideoReader('xylophone.mpg');
sz = [vid.Height vid.Width];
mov = read(vid, [1 vid.NumberOfFrames]);

%# prepare GUI
p = get(0,'DefaultFigurePosition');
hFig = figure('Menubar','none', 'Resize','off', ...
    'Position',[p(1:2) sz(2) sz(1)]);

%# play movie
movv = struct('cdata',squeeze(num2cell(mov,[1 2 3])), 'colormap',[]);
movie(hFig, movv, 999, vid.FrameRate);

スクリーンショット

于 2012-06-04T18:27:00.070 に答える