How to return the state of preivew camera?

shin hsu · Jan 10, 2022 · 2K views
Question
thank you for your help in advance.   Is there something like fopen for gige camera "Preview(g)"?   here is what the code looks like.   Camlist = gigecamlist; IP = string(Camlist{1,3}); g= gigecam(IP,'PixelFormat','mono8'); g_Res = [g.Width g.Height]; %----------------lines to created figure with tabs------------------------------------------------------- streamingHandle = uicontrol(tab_ini,'Style','PushButton','String', 'Streaming','Position',[135 10 80 20],'Callback', {@streaming,tab_ini,g_Res,g}); %------------------------------------------------------ callback funtion for push button function streaming(object_handle,event, tab_ini, g_Res, g) %% How can i return a value from 'preview(g)' to condition "if" % if Preview(g) ==1; is opened % closePreview(g); % end dock_tab = axes(tab_ini,'units','pixels','Position',[35,40,g_Res(1),g_Res(2)],'box','on'); nBands = 1; % grey scale I = image(zeros(g_Res(2),g_Res(1), nBands),'Parent',dock_tab); preview(g, I);  
Expert Answer
Profile picture of Neeta Dsouza
Neeta Dsouza PhD Expert
Answered Nov 20, 2025
%avoid warnings about struct() preventing hiding implementation details
old_warning_state = warning('off', 'MATLAB:structOnObject');
gs = struct(g);
gsw = struct(gs.webcamImpl);
gscpc = struct(gsw.CamPreviewController);
warning(old_warning_state);

if gscpc.IsPreviewing
    closePreview(g)
end
Note: you cannot do this directly: several of the properties are hidden properties.
 
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!