Date: Feb 20, 2013 11:10 AM
Author: Jerome
Subject: Re: Out of bound Error

The size of cyy however, is 700 x 900


"Jerome " <the_rome@hotmail.com> wrote in message <kg2pl4$803$1@newscl01ah.mathworks.com>...
> I get the following error and I am unsure how to fix it. I tried to edit the rows and cols but it seems not to work. Does anyone know a quick fix to this problem:
>
> ??? Attempted to access cyy(1,901); index out of bounds because
> size(cyy)=[700,900].
>
> Error in ==> snake at 31
> eterm(i,j) = (cyy(i,j)*cx(i,j)*cx(i,j) -2
> *cxy(i,j)*cx(i,j)*cy(i,j) +
> cxx(i,j)*cy(i,j)*cy(i,j))/((1+cx(i,j)*cx(i,j) +
> cy(i,j)*cy(i,j))^1.5);
>
>
> The following code is listed below:
> image = imread(image.jpg);
>
> %parameters
> N = 100;
> smth = rgb2gray(image);
>
> % Calculating size of image
> [row col] = size(image);
>
> eline = smth; %eline is simply the image intensities
>
> [grady,gradx] = gradient(double(smth));
>
> eedge = -1 * sqrt ((gradx .* gradx + grady .* grady)); %eedge is measured by gradient in the image
>
> m1 = [-1 1];
> m2 = [-1;1];
> m3 = [1 -2 1];
> m4 = [1;-2;1];
> m5 = [1 -1;-1 1];
>
> cx = conv2(smth,m1,'same');
> cy = conv2(smth,m2,'same');
> cxx = conv2(smth,m3,'same');
> cyy = conv2(smth,m4,'same');
> cxy = conv2(smth,m5,'same');
>
> for i = 1:row
> for j= 1:col-1
> % eterm as deined in Kass et al Snakes paper
> eterm(i,j) = (cyy(i,j)*cx(i,j)*cx(i,j) -2 *cxy(i,j)*cx(i,j)*cy(i,j) + cxx(i,j)*cy(i,j)*cy(i,j))/((1+cx(i,j)*cx(i,j) + cy(i,j)*cy(i,j))^1.5);
> end
> end