【发布时间】:2013-03-14 19:08:53
【问题描述】:
我正在使用具有轴(称为 hcam)的 GUI(称为 MainVidGUI,使用 GUIDE,OpeningFcn 是 GUIDE 创建的基本图形),并且通过按一个按钮(称为 Acquisition),我想修改一个来自实时视频流的帧,并在轴上显示修改后的帧。
目前代码如下:
按钮回调函数:
function Acquisition_Callback(hObject, eventdata, handles)
global DevAdapt DevID DevFormat
vid=videoinput(DevAdapt,DevID,DevFormat);
vid.ReturnedColorspace = 'grayscale';
set(vid,'TimerPeriod',0.1);
triggerconfig(vid,'manual');
set(vid,'FramesPerTrigger',1);
set(vid,'TriggerRepeat',1000);
start(vid);
set(vid,'TimerFcn',{@lane_detection,handles});
定时器回调函数:
function lane_detection(vid, event, handles)
trigger(vid);
previewframe = getdata(vid,1);
%code here that modifies the previewframe a little bit
set(MainVidGUI,'CurrentAxes',handles.hcam);
imshow(previewframe)
按下采集按钮时,将启用计时器并修改图像,但它们会显示在新的图 1 窗口中,而不是 GUI 轴。有没有办法解决这个问题?
【问题讨论】:
标签: matlab user-interface timer callback matlab-guide