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
OCDER
OCDER on 31 Aug 2018
Can you show the code you are trying to compile for VideoReader? Does it work without error in Matlab? What is the error message that you are getting?
I have no issues compiling functions containing VideoReader via mcc.
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)

Community Treasure Hunt

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

Start Hunting!