Convert the code to parallel compute.The error says line 1:unable to perform assignment because the index on the left is not compatible with the size on the right.If I remove line 8 ,9,the program runs well.Can't I use loop variable i in parfor?
1 view (last 30 days)
Show older comments
parfor i=100:1438
I=Im(:,:,i);
I = AnisotropicDiffusion(0.01,0.002,I);
[Ex,Ey] = gradient(I);
f = sqrt(Ex.*Ex+Ey.*Ey);
[u,v] = GVF(f, 0.08, 200);
mag = sqrt(u.*u+v.*v);
**px(i) = u./(mag+1e-10);
py(i) = v./(mag+1e-10);**
end
0 Comments
Answers (1)
Walter Roberson
on 27 Oct 2018
We do not know the size of the variables returned by the function GVF, but the way the code is written implies that u and v are vectors. If they are then normalized u would be a vector but you are trying to store it in a scalar location.
See Also
Categories
Find more on Loops and Conditional Statements 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!