Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用imshow从MATLAB中的计时器回调函数更改GUI中的轴_Matlab_User Interface_Timer_Callback_Matlab Guide - Fatal编程技术网

使用imshow从MATLAB中的计时器回调函数更改GUI中的轴

使用imshow从MATLAB中的计时器回调函数更改GUI中的轴,matlab,user-interface,timer,callback,matlab-guide,Matlab,User Interface,Timer,Callback,Matlab Guide,我正在使用一个GUI(称为MainVidGUI,使用GUIDE,OpeningFcn是GUIDE创建的基本GUI),它有轴(称为hcam),按下一个按钮(称为采集),我想从实时视频流中修改一帧,并在轴上显示修改后的帧 当前代码如下所示: 按钮回调函数: function Acquisition_Callback(hObject, eventdata, handles) global DevAdapt DevID DevFormat vid=videoinput(DevAdapt,DevI

我正在使用一个GUI(称为MainVidGUI,使用GUIDE,
OpeningFcn
是GUIDE创建的基本GUI),它有轴(称为hcam),按下一个按钮(称为采集),我想从实时视频流中修改一帧,并在轴上显示修改后的帧

当前代码如下所示:

按钮回调函数:

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轴上。有没有办法解决这个问题?

阅读imshow函数的帮助。在imshow调用中为“Parent”属性指定要绘制的轴