How to troubleshoot no video in a MATLAB compiled standalone executable?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
hollingswood
el 13 de En. de 2016
Comentada: Ondrej Hala
el 11 de Sept. de 2016
I'm trying to create a MATLAB compiled application that uses an Allied Vision GigE camera. My code works fine when running in MATLAB directly, but when I run the compiled standalone executable (I am using the files in the for testing folder), the figure does not display the live video, only a white box with a red x. I have no errors and all required support packages are installed.
Matlab and hardware support packages are already installed on the PC. The version of MATLAB is R2015b.
I'm not sure where to start to troubleshoot? Does the testing version not support live video?
0 comentarios
Respuesta aceptada
Adithya Addanki
el 15 de En. de 2016
Hi,
There has been a similar issue identified before, however we are still investigating this further to identify the root cause.
Gladly, there is a workaround. It is usually recommended to use WAITFOR with a figure handle before the end of the main function, so that the videoinput object does not get deleted.
For instance:
v = videoinput('winvideo', 1)
vidRes = v.VideoResolution;
nBands = v.NumberOfBands;
hFig = figure;
himg1 = image(zeros(vidRes(2), vidRes(1), nBands));
disp(himg1.Parent)
preview(v, himg1);
waitfor(hFig);
delete(v);
Please try reproducing the issue after making use of "waitfor".
Thank you,
Adithya
1 comentario
Ondrej Hala
el 11 de Sept. de 2016
Hello, it's not woking for me, what am I doing wrong? I am beginner in MATLAB. I have the same issue. It's working in Matlab, but not after compile the code.
This is my callback function for Connect Camera Button.
function ConnectCameraButton_Callback(hObject, eventdata, handles)
global CameraID
global CameraInput
axes(handles.CameraInputAxes);
CameraInput = videoinput('gige', CameraID, 'Mono8');
src = getselectedsource(CameraInput);
src.ExposureTimeAbs = 9000;
src.AcquisitionFrameRateAbs = 8.0;
hFig = figure;
hImage = image(zeros(1038, 1388, 1), 'Parent', handles.CameraInputAxes);
camroll(handles.CameraInputAxes, 90);
disp(hImage.Parent)
preview(CameraInput, hImage);
waitfor(hFig);
delete(CameraInput);
Más respuestas (0)
Ver también
Categorías
Más información sobre GigE Vision Hardware en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!