How can i put my output numbers in for loop to an array
Afficher commentaires plus anciens
z=('/Users/fatihnurcin/Desktop/Dandnd/dilated')
cd(z)
list = dir('*.bmp');
for i = 1:length(list)
img{i} = imread(list(i).name);
end
for i = 1:length(list)
a=img{i};
b=im2bw(a,0.20);
figure
subplot(1,3,1);
imshow(b)
c=b(120,100:250);
subplot(1,3,3);
plot(c);
for n=1:length(c);
d= padarray(c,[0 1],'replicate','post');
e(n)=d(n)-d(n+1);
left=find(e==1);
right=find(e==-1);
f=right-left;
end
f
end
This is my whole code, it takes a row from a binary photo and tries to find where its black and where its not and calculate the black area so i want to ask how can i put my outputs(outputs are numbers calculated due to black arena) in an array, i couldn't do it by adding (n) to left and right,
left(n)=find(e(n)==1);
right(n)=find(e(n)==-1);
f(n)=right(n)-left(n);
I need an urgent help , i need to deliver my project in 2 days :/
1 commentaire
Joseph Cheng
le 17 Juin 2014
reformatted to be readable.
z=('/Users/fatihnurcin/Desktop/Dandnd/dilated')
cd(z)
list = dir('*.bmp');
for i = 1:length(list)
img{i} = imread(list(i).name);
end
for i = 1:length(list)
a=img{i};
b=im2bw(a,0.20);
figure subplot(1,3,1);
imshow(b)
c=b(120,100:250);
subplot(1,3,3);
plot(c);
for n=1:length(c);
d= padarray(c,[0 1],'replicate','post');
e(n)=d(n)-d(n+1);
left=find(e==1);
right=find(e==-1);
f=right-left;
end
f
end
Réponse acceptée
Plus de réponses (2)
Shravankumar P
le 18 Juin 2014
0 votes
I guess you may go for index mapping. I just give you Idea try this once
for m=1:4
for n=1:4
X(m,n)=x(4*(m-1)+n);
end
end
x is the input which of your interest to put into an array X
ubaid haroon
le 1 Mar 2017
0 votes
what would you do if during the loop, those arrays are different lengths?
Catégories
En savoir plus sur Performance and Memory dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!