MATLAB Answers

pre allocating variables in matlab

27 views (last 30 days)
emeka onwochei
emeka onwochei on 3 Mar 2021
Commented: emeka onwochei on 4 Mar 2021
i have this block of code but when i access elements, they are not arranged properly
x=zeros(1,10000);
y=zeros(1,10000);
count=1;
for i=1:rows
for j=1:columns
if imgThresh(i,j)==0
y(count)=rows-i+1;
x(count)=j;
count=count+1;
break
end
end
end
nonzeros(x)
nonzeros(y)
  2 Comments
emeka onwochei
emeka onwochei on 3 Mar 2021
it supposed to read the binary image pixels and stores the cell of the first black box, it uses the points to draw a shape. it gives me the blue curve below.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 4 Mar 2021
That's not what I get.
imgThresh = im2bw(imread('image.png'));
rows = size(imgThresh,1);
columns = size(imgThresh,2);
x=zeros(1,10000);
y=zeros(1,10000);
count=1;
for i=1:rows
for j=1:columns
if imgThresh(i,j)==0
y(count)=rows-i+1;
x(count)=j;
count=count+1;
break
end
end
end
plot(x,y)
  1 Comment
emeka onwochei
emeka onwochei on 4 Mar 2021
this is for the second part,
for i=1:rows
for j=fliplr(1:columns)
if imgThresh(i,j)==0
y(count)=rows-i+1;
x(count)=j;
count=count+1;
break
end
end
end

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!