我正在使用GUI(名为MainVidGUI,使用GUIDE,OpeningFcn
是由GUIDE创建的基本的),它有轴(称为hcam),按下按钮(称为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轴上。有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
阅读imshow功能的帮助。在imshow调用中为“父”属性指定要绘制的轴。