Matlab指南:开发基本的网络摄像头浏览器

时间:2017-07-13 10:58:35

标签: matlab-guide

当点击按钮预览时,下面的代码应该显示名为axes1的图形中的网络摄像头预览。它必须实时显示网络摄像头图像。

% --- Executes on button press in Preview.
function Preview_Callback(hObject, eventdata, handles)
% hObject    handle to Preview (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
    img = snapshot(cam);

    imshow(img,'Parent',handles.axes1);

    disp(clock);
    pause(0.5);

出现错误是: 评估UIControl回调时出错

未定义的功能或变量' cam'。

Main> Preview_Callback出错(第161行)     img = snapshot(cam);

gui_mainfcn出错(第95行)         feval(varargin {:});

主要错误(第43行)     gui_mainfcn(gui_State,varargin {:});

@(hObject,eventdata)Main(' Preview_Callback',hObject,eventdata,guidata(hObject))

评估UIControl回调时出错

如果我在cam=webcam;之前放置img = snapshot(cam);错误状态错误使用Main> Preview_Callback(第161行) 已经存在与网络摄像头的有效连接,即集成网络摄像头。您无法创建与同一网络摄像头的其他连接。

gui_mainfcn出错(第95行)         feval(varargin {:});

主要错误(第43行)     gui_mainfcn(gui_State,varargin {:});

@(hObject,eventdata)Main(' Preview_Callback',hObject,eventdata,guidata(hObject))

评估UIControl回调时出错

很明显,初始化位于错误的位置。应该在哪里进行网络连接的初始化/状态连接?

1 个答案:

答案 0 :(得分:0)

Intialise counter as follows:
handles.PressOne=0;


if handles.PressOne==0
     Connect to the camera (cam=webcam). 
     Update counter for handles.PressOne.
else
     Capture the image (img=snapshot(cam)) and disp the data. 
end