Display Video Stream in App Designer

22 views (last 30 days)
Enrico Anderlini
Enrico Anderlini on 31 Aug 2018
Edited: Cris LaPierre on 10 Jul 2023
I am developing a simple app in App Designer and I have been struggling with including a video stream from a webcam.
I have come across the following post, but so far I have been unsuccessful in getting my app to work: https://uk.mathworks.com/matlabcentral/answers/357814-how-to-create-a-custom-preview-window-for-matlab-webcam
So far, what I am doing is including the following commands in my start-up function:
app.Camera = webcam; %('USB2.0 PC CAMERA')
image(app.UIAxes2,zeros(size(snapshot(app.Camera)),'uint8'));
And the following lines relate to the activation of the video stream when a switch button is slid to Start:
% Value changed function: CameraStreamSwitch
function CameraStreamSwitchValueChanged(app, event)
while strcmp(app.CameraStreamSwitch.Value,'Start')
im = image(app.UIAxes_2,zeros(size(snapshot(app.Camera)),'uint8'));
preview(app.Camera,im);
end
end
Many thanks in advance for the help!

Answers (1)

Cris LaPierre
Cris LaPierre on 22 Dec 2018
Edited: Cris LaPierre on 10 Jul 2023
You are close. Here's some sample code that works for me.
Add properties for the variables you create that you want to share
properties (Access = private)
Camera % webcam stream object
himg % image object handle
end
My startupFcn looks like this
value = app.CameraStreamSwitch.Value;
if strcmpi(value,'on')
preview(app.Camera,app.himg)
end
I would also suggest adding a closing function so the webcam doesn't remain open once the app closes.
% Close request function: UIFigure
function UIFigureCloseRequest(app, event)
delete(app)
delete(app.Camera)
end
  3 Comments
Pien Vinke
Pien Vinke on 3 Jul 2023
Did you maybe find a solution for closing the preview of the camera?
Cris LaPierre
Cris LaPierre on 10 Jul 2023
Edited: Cris LaPierre on 10 Jul 2023
In the most recent version of MATLAB, closePreview no longer closes the app. Looking back, this seems to be the case since R2019b. What version of MATLAB are you using?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!