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

2 次查看(过去 30 天)
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 个评论
OCDER
OCDER 2018-8-31
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 2018-9-4
编辑:Yifei Wang 2018-9-4
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);

请先登录,再进行评论。

采纳的回答

OCDER
OCDER 2018-9-4
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.

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by