Matlab error that I can't figure out please help!
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuesta aceptada
Image Analyst
el 17 de Abr. de 2013
Take the semicolons off these lines
ndxm = 1+delta:fm-delta
ndxn = 1+delta:fn-delta
Más respuestas (0)
Ver también
Categorías
Más información sobre Graphics Objects en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!