Error: Attempted to access din(289,1); index out of bounds because size(din)=[288,543].

1 visualización (últimos 30 días)
My code is,
din=imread('pic1.jpg'); figure(1); imshow(din); din=im2double(din); [m,n]=size(din);
for i=1:m for j=1:n if(din(i,j)==1) din(i,j)=1000; else din(i,j)=0; end end end
din(:,1) = 0; % Make first column 0. din(:,end) = 0; % Make last column 0. din(1,:) = 0; % Make first row 0. din(end,:) = 0; % Make last row 0. figure(2); imshow(din);
for j=2:1:n+1
for i=2:1:m+1
din(i,j)=min([din(i,j);1+din(i-1,j);
1.41+din(i-1,j-1);1+din(i,j-1);1.41+din(i+1,j-1)]);
end
end
Error: Attempted to access din(289,1); index out of bounds because size(din)=[288,543].
Error in distance (line 46) din(i,j)=min([din(i,j);1+din(i-1,j);
Thanks in advance.

Respuesta aceptada

Zoltán Csáti
Zoltán Csáti el 27 de Oct. de 2014
The error occurs first when i=m+1 (ie. 289) and j=2 since you refer to din(289,1). In this case the debugger is useful.

Más respuestas (0)

Categorías

Más información sobre Text Data Preparation 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!

Translated by