How do I access a folder that is inside the current folder while running a function?

2 views (last 30 days)
I am writing a function that in different steps needs to access 1 or 2 files in different folders. The function will look something like this:
function Calculation = calc(n)
where n is the name of the file. Each of the folders will have one file named "N" and I want the program to go through each file and get the image data for that file.
  2 Comments
Sulaiman Alvi
Sulaiman Alvi on 25 Jul 2015
n is the name of the file. there is an "n" file in each of the folders that I am trying to access and I want to access each of them.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 25 Jul 2015
Presuming that n holds the name of the folder
this_N_name = fullfile(n, 'N'); %N has no extension??
this_data = imread(this_N_name); %imread is not going to be happy with there not being an extension though
  6 Comments
Sulaiman Alvi
Sulaiman Alvi on 25 Jul 2015
Hey. I ended up writing my own code based on what you gave me. I wanted to test it but it didnt work. Can you take a look at it?
function I3value = I3(f1)
A = double(imread(f1,'bmp'));
I3value = (A);
imshow(I3value)
Above is what I want to do with the file.
Here is the rest of the code:
function nvalue = calcStokes(n)
full_name = fullfile('I0', n.bmp);
I3value = I3(full_name);
disp(I3value)
I0 is the folder i wanted to get it from, and I need to get a file with the name 15 and the bmp format. How can I fix this?
Walter Roberson
Walter Roberson on 25 Jul 2015
full_name = fullfile('I0', sprintf('%d.bmp', n));
By the way, when you are working with images, in a number of contexts MATLAB pays attention to whether the array is uint8 or double. When it is uint8 MATLAB expects the values to be in the range 0 to 255; when it is double MATLAB expects the values to be in the range 0 to 1. I recommend you use
A = im2double(imread(f1,'bmp'));
instead of using double()

Sign in to comment.

More Answers (0)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!