MATLAB: How to load a file from different folder than our m. file

guiimage processingload image

Hi guys, so I want to load image from another file from my m. file using uigetfile. but when I run it, it says "file doesn't exist". please help, tell me the correct code. this is my script on m. file:
a=uigetfile()
filename=a;
setappdata(0,'filename',filename);
a=imread(a);
axes(handles.axes1);
imshow(a);
setappdata(0,'a',a)
setappdata(0,'filename',a);
plot(handles.axes1,'a')

Best Answer

Use the following syntax
[FileName,PathName,~] = uigetfile(FilterSpec)
then
filename = fullfile( PathName, FileName )
to get the full path of the file name.
As an aside your script is extremely confusing. Why are you reusing the variable a to be both a filename initially then the image you read in and then you are setting it on appdata later on under the title of 'filename' again when it is no longer a filename. Giving your variables sensible names is vital for good programming and understandability.