[英]How do I put a folder as an input in a matlab function?
我需要一個通過文件夾並處理該文件夾中的每個文件的matlab函數。 我想輸入文件夾名稱和處理該文件夾中每個文件所需的文件名(從該文件夾中的所有其他圖像中減去一個圖像)。 我的函數還計算每個圖像的SD和平均值。 我希望我的函數返回一個矩陣,該矩陣可顯示與圖像數量一樣多的行,並帶有3列,分別指示:名稱,SD和每個圖像的平均值,以便將其導出到excel。 到目前為止,這是我的代碼,但是我確實缺少一些東西! 非常感謝你的幫助! 我已經為此工作了好幾天了!
function [m]=nenna(path,t) %# folder path
path=(path)
files = dir( fullfile(path,'*.jpg') ); %# list all *.xyz files
files = {files.name}'; %'# file names
data = cell(numel(files),1);%# store file contents
a=zeros(numel(files),3);
for i=1:numel(files)
fname = fullfile(path,files{i}); %# full path to file
x=imread(files);
s=imread(t);
j=imsubtract(x,s);
j=double(j);
u=std(j(:))
q=mean(j(:))
a(i)=[files(i);u;q]
end
如果你想在每行a
有一個字符串和兩個數字,它應該是一個單元陣列:
...
a=[]
for i ...
...
a{i}={files{i} u q};
end
...
要獲取文件名,您需要
a{1}{1}
ans=
file1.jpg
要獲得數字,你要做
a{1}{2},a{1}{3}
(分別獲取std和file1.jpg的均值)
另一種方式來做到這一點是讓a
一個結構數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.