Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

Bilinear interpolation error - index exceeds matrix dimensions

Asked by P

P (view profile)

on 25 Jan 2013
Accepted Answer by Matt J

Matt J (view profile)

I am supposed to do the bilinear interpolation without using imresize or interp. I am getting the error 'Index exceeds matrix dimensions' The padding was to avoid that.

{ f300=imread('Chrono');

fbilin(1:3:2769,1:3:2109)=f300(1:923,1:703);

f300=padarray(f300,[4 4],'replicate','both');

for j=1:3:2109

   for i=1:3:2769
    f11=f300(i,j+2);
    f12=f300(i,j+2);
    f21=f300(i+2,j);
    f22=f300(i+2,j+2);
    fbilin(i+1,j+1)=(f11*((i+2)-(i+1))*((j+2)-(j+1))+...
        f21*((i+1)-(i))*((j+2)-(j+1))+...
        f12*((i+2)-(i+1))*((j+1)-(j))+...
        f22*((i+1)-(i))*((j+1)-(j)))./((i+2)-(i))*((j+2)-(j));
  end
end

subplot(2,3,5), imagesc(fbilin), title('Chronometer Bilinear'); }

1 Comment

Image Analyst

Image Analyst (view profile)

on 25 Jan 2013

Click edit (to the upper left). Put a blank line before your code. Then highlight all your code and click {}Code icon above to format your code properly.

P

P (view profile)

Products

No products are associated with this question.

1 Answer

Answer by Matt J

Matt J (view profile)

on 25 Jan 2013
Edited by Matt J

Matt J (view profile)

on 25 Jan 2013
Accepted answer

Use DBSTOP to halt execution at the point where the error occurs. Check the values of the indices at that point. Also check the size of the (supposedly padded) arrays.

8 Comments

P

P (view profile)

on 25 Jan 2013

i agree. I just cannot figure out how to run this loop to get the image.

Matt J

Matt J (view profile)

on 25 Jan 2013

Well, one thing should be clear. If the size of the array is 931, you should probably not be running i up to 2769, and similarly for j. Where did these numbers come from anyway?

P

P (view profile)

on 26 Jan 2013

you are right. instead of f300 it should be fbilin. Thank you.

Matt J

Matt J (view profile)

Contact us