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

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 comentarios

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.
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);

Iniciar sesión para comentar.

 Respuesta aceptada

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.

2 comentarios

Thanks for the help! It works! In MATLAB, the path is added so there is no error, and I ignore the problem here. Thank you!
You're welcome!

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

el 31 de Ag. de 2018

Comentada:

el 4 de Sept. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by