When compiling a standalone application, how can I include the class VideoReader?

1 view (last 30 days)
VideoReader is a class definition in MATLAB toolbox. The toolbox should be included in MATLAB compiler, but it seems that this class definition is not included. I tried to add the M file into the 'files required', but I was not let to do that. So how can I add the class VideoReader?
  2 Comments
Yifei Wang
Yifei Wang on 4 Sep 2018
Edited: Yifei Wang on 4 Sep 2018
I wrote this code to test the function of VideoReader. It does work in GUIDE without error. I use this 'readFrame' here instead of 'read' as MATLAB recommends. Both work well in MATLAB, but neither is working for compiling. Do you have any idea about this?
function pushbutton1_Callback(hObject, eventdata, handles)
[VideoName,VideoPath,FilterIndex] = uigetfile('*.avi','Open AVI file');
readerobj = VideoReader(VideoName);
frame = 1;
while hasFrame(readerobj)
vidFrame = readFrame(readerobj);
I(:,:,frame,:) = vidFrame;
frame = frame + 1;
end
imshow(squeeze(uint8(I(:,:,1,:))));
set(handles.text2,'String',VideoPath);
whos('I')
guidata(hObject, handles);

Sign in to comment.

Accepted Answer

OCDER
OCDER on 4 Sep 2018
Change this:
readerobj = VideoReader(VideoName);
to this:
readerobj = VideoReader(fullfile(VideoPath, VideoName));
Always provide the full video file path, otherwise the compiled software cannot find the video file. The Matlab working paths are different form those of a compiled application.

More Answers (0)

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!