I'm getting this error:
Error in ==> APP>pushbutton2_Callback at 109
img=imread(FileName)
When I try to use FileName
in pushbutton2_Callback I'm getting the error mentioned
FileName
is variable in pushbutton1_Callback.
I'm getting this error:
Error in ==> APP>pushbutton2_Callback at 109
img=imread(FileName)
When I try to use FileName
in pushbutton2_Callback I'm getting the error mentioned
FileName
is variable in pushbutton1_Callback.
You need to pass the variable FileName
from one callback to the other. To do this, you can assign the variable to the 'UserData'
field of pushbutton1
. Your code under pushbutton1_Callback
should look something like:
FileName=uigetfile();
set(handles.pushbutton1,'UserData',FileName);
Next, you need to read in the variable under your pushbutton2_Callback
:
FileName=get(handles.pushbutton1,'UserData');
img=imread(FileName);
If you want to check your results, you can always leave the semicolons off the end of the lines.
There's a general method to store data with your gui for use between callbacks. You can add arbitrary fields to the handles object, so you can put in your pushbutton1 callback
handles.filename = FileName;
guidata(hObject,handles);
The second line is boilerplate code that you need to put at the end of any callback that changes values in the handles structure.
Now all of your callbacks will have access to the file name. In your specific case, in callback 2, you would have
img = imread(handles.filename);
Of course, you might want to use this image later on in another function, so you can store it in handles too
handles.img = img;
guidata(hObject, handles);