How can I change the folder to be browsed upon when pushbutton is clicked?

1 次查看(过去 30 天)
Hi, I was wondering if you could help me change the folder when the pushbutton is clicked?
For example, my current folder is C:\Users\Valued User\Documents\5th year, 2nd term\THESIS on which all my files are on.
However, I want it that when I push my "load image" button in my gui, the browser would go directly to another folder inside my current folder which is C:\Users\Valued User\Documents\5th year, 2nd term\THESIS\imagesss.
In short, I want the browser to open directly in a specific folder when that button is clicked. Is there a good way to do this? Here's the code which is available in the internet by the way:
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %cd('C:\Users\Valued User\Documents\5th year, 2nd term\THESIS') %pwd('C:\Users\Valued User\Documents\5th year, 2nd term\THESIS\imagesss')
%----------> here we load image
global im im2
[path,user_cance]=imgetfile();
if user_cance
msgbox(sprintf('Error'),'Error','Error');
return
end
im=imread(path);
im=im2double(im); %converts to double
im2=im; %for backup process :)
axes(handles.axes1);
imshow(im);

采纳的回答

Niklas Nylén
Niklas Nylén 2014-1-14
编辑:Niklas Nylén 2014-1-14
If it works like uigetfile, you should be able to pass the desired folder as an argument,
[path,user_cance]=imgetfile('C:\Users\Valued User\Documents\5th year, 2nd term\THESIS\imagesss\');
If this does not work you may need to go around it by changing the folder temporarily.
workPath = pwd;
cd('C:\Users\Valued User\Documents\5th year, 2nd term\THESIS\imagesss')
[path,user_cance]=imgetfile();
cd(workPath)
  2 个评论
Erika
Erika 2014-1-16
I tried putting it but still it opens not in the destination i want it to go to :(
global im im2
workPath = pwd;
cd('C:\Users\Valued User\Documents\5th year, 2nd term\THESIS\imagesss')
[path,user_cance]=imgetfile();
cd(workPath)
if user_cance
msgbox(sprintf('Error'),'Error','Error');
return
end
im=imread(path);
im=im2double(im); %converts to double
im2=im; %for backup process :)
axes(handles.axes1);
imshow(im);
Niklas Nylén
Niklas Nylén 2014-1-16
Are you sure that the path is correct? Try running just the cd(...) line to check if it works.
Otherwise, do you know the file format of the file you will open? In that case, try using uigetfile instead of imgetfile. For a png-file, it would look like this:
[FileName,PathName] = uigetfile('C:\Users\Valued User\Documents\5th year, 2nd term\THESIS\imagesss\*.png')
user_cance = ~ischar(FileName);
if user_cance
...
end
path = fullfile(PathName,FileName);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by