Matlab error that I can't figure out please help!
1 次查看(过去 30 天)
显示 更早的评论
I'm working with the code that I will show below and I keep on getting the error:
"Subscript indices must either be real positive integers or logicals.
Error in opticalflow2D (line 62)
f5 = X1(( ndxm.*cos(1)+ndxn.*sin(1) ));"
if true
X1 = [
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
];
if true
X2 = [
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
];
%imtool(X1)
%imtool(X2)
delta=1;
[fm,fn] = size(X1);
ndxm = 1+delta:fm-delta;
ndxn = 1+delta:fn-delta;
X1(ndxm)
f0 = X1(ndxm,ndxn);
fz = X2(ndxm,ndxn);
f1 = X1(ndxm,ndxn+delta);
f2 = X1(ndxm,ndxn-delta);
f3 = X1(ndxm+delta,ndxn);
f4 = X1(ndxm-delta,ndxn);
f5 = X1(( ndxm.*cos(1)+ndxn.*sin(1) ), ( ndxm.*sin(1)+ndxn.*cos(1) ));
f6 = X1(( ndxm.*cos(-1.)+ndxn.*sin(-1) ), ( ndxm.*sin(-1)+ndxn.*cos(-1) ));
end
end
Thank you!!
0 个评论
采纳的回答
Image Analyst
2013-4-17
Take the semicolons off these lines
ndxm = 1+delta:fm-delta
ndxn = 1+delta:fn-delta
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!