我收到此错误:
Error in ==> APP>pushbutton2_Callback at 109
img=imread(FileName)
当我尝试使用FileName
时,pushbutton2_Callback
我收到了提到的错误
FileName
是可变的pushbutton1_Callback
。
我收到此错误:
Error in ==> APP>pushbutton2_Callback at 109
img=imread(FileName)
当我尝试使用FileName
时,pushbutton2_Callback
我收到了提到的错误
FileName
是可变的pushbutton1_Callback
。
您需要将变量FileName
从一个回调传递给另一个。为此,您可以将变量分配给 的'UserData'
字段pushbutton1
。您的代码pushbutton1_Callback
应如下所示:
FileName=uigetfile();
set(handles.pushbutton1,'UserData',FileName);
接下来,您需要读入以下变量pushbutton2_Callback
:
FileName=get(handles.pushbutton1,'UserData');
img=imread(FileName);
如果你想检查你的结果,你总是可以把分号放在行尾。
有一种通用方法可以使用您的 gui 存储数据以在回调之间使用。您可以向句柄对象添加任意字段,因此您可以放入您的 pushbutton1 回调
handles.filename = FileName;
guidata(hObject,handles);
第二行是样板代码,您需要将其放在更改句柄结构中值的任何回调的末尾。
现在您的所有回调都可以访问文件名。在您的特定情况下,在回调 2 中,您将拥有
img = imread(handles.filename);
当然,您可能希望稍后在另一个函数中使用此图像,因此您也可以将其存储在句柄中
handles.img = img;
guidata(hObject, handles);