0

我正在开发一个带有两个轴和两个按钮的 GUI(使用 Matlab 中的指南创建)。当用户按下按钮 1 时,我想在轴 1 上显示图像,当用户按下按钮 2 时,我想在轴 2 上显示图像。

这是我的代码:

function pushbutton1_Callback(hObject, eventdata, handles)
axes(handles.axes1);    
imagesc(table(:,:,1));colormap(gray),axis('square');
guidata(hObject,handles);

function pushbutton2_Callback(hObject, eventdata, handles)
axes(handles.axes2);     
imagesc(table(:,:,1));colormap(gray),axis('square');
guidata(hObject,handles);

此代码仅在用户第一次按下按钮时才能正常工作。当他再次执行此操作时,程序崩溃并且我收到以下错误:“引用不存在的字段'axes1'”。

当我显示所有句柄时,我看到句柄“axes1”确实丢失了。

当我将轴的 NextPlot 属性更改为“新”时,我没有收到此错误。但是,在那种情况下,我根本无法显示图像。我的意思是我没有得到错误,但我四分之一的图像(右上角)是灰色的,其余的是白色的。两个维度的绘图范围都是 (0,1),而不是 (0,2000)。在我看来,这只是我图像的一个像素。

我究竟做错了什么?

4

1 回答 1

0

我有一个类似的问题。我使用了一个计时器对象,并在一个有效的句柄对象中传递了不同的轴。我的应用程序正在从多个摄像头实时获取数据。

于 2014-09-26T10:37:14.630 回答