필터 지우기
필터 지우기

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

조회 수: 4 (최근 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