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

2 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2015-7-25
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 个评论
Sulaiman Alvi
Sulaiman Alvi 2015-7-25
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 2015-7-25
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()

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Search Path 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by