我有两个axes:axes1,和axes2
在axes1中上传本地图片,经过处理后的图片在axes2中显示出来并且存储到本地。
我的处理有多种。比如加噪声、缩放等——这些操作放在一个下拉菜单中。
现在的问题是:
axes1中上传图像,选择一个处理【比如加噪声】,ok
处理后的照片显示在axes2中显示出来,ok
保存axes2中的图片,ok
接下来出问题了:
我再次选择下拉菜单中的另一个操作,这时系统报错:
??? Error using ==> axes
Invalid object handle
Error in ==> GUI>popupmenubutton_Callback at 125
axes(handles.axes2);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> GUI at 44
gui_mainfcn(gui_State, varargin{:});
Error in ==> @(hObject,eventdata)GUI('popupmenubutton_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
这时候只能关掉整个GUI界面,重新运行函数,才能选择别的图片进行处理/或者对图片进行别的处理。
怎么回事?
下面是我的下拉菜单callback函数中的部分代码:
guidata(hObject,handles);
val=get(hObject,'value');
axes(handles.axes2);
switch val
case 1
。。。。
axes(handles.axes2);
imshow(k);
handles.axes2=k;
case2
。。。
end %end of switch
guidata(hObject,handles); %没有这一句倒是可以实现我的不关闭GUI界面直接开始下一个处理的要求,就是存储的图片的大小为332字节,尺寸为1*1,用windows照片查看器打开是一片空白。
求大牛解答。
我现在每打开一张图片,每进行一个处理后都得关掉窗口重新打开……
在axes1中上传本地图片,经过处理后的图片在axes2中显示出来并且存储到本地。
我的处理有多种。比如加噪声、缩放等——这些操作放在一个下拉菜单中。
现在的问题是:
axes1中上传图像,选择一个处理【比如加噪声】,ok
处理后的照片显示在axes2中显示出来,ok
保存axes2中的图片,ok
接下来出问题了:
我再次选择下拉菜单中的另一个操作,这时系统报错:
??? Error using ==> axes
Invalid object handle
Error in ==> GUI>popupmenubutton_Callback at 125
axes(handles.axes2);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> GUI at 44
gui_mainfcn(gui_State, varargin{:});
Error in ==> @(hObject,eventdata)GUI('popupmenubutton_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
这时候只能关掉整个GUI界面,重新运行函数,才能选择别的图片进行处理/或者对图片进行别的处理。
怎么回事?
下面是我的下拉菜单callback函数中的部分代码:
guidata(hObject,handles);
val=get(hObject,'value');
axes(handles.axes2);
switch val
case 1
。。。。
axes(handles.axes2);
imshow(k);
handles.axes2=k;
case2
。。。
end %end of switch
guidata(hObject,handles); %没有这一句倒是可以实现我的不关闭GUI界面直接开始下一个处理的要求,就是存储的图片的大小为332字节,尺寸为1*1,用windows照片查看器打开是一片空白。
求大牛解答。
我现在每打开一张图片,每进行一个处理后都得关掉窗口重新打开……