Subscript indices must either be real positive integers or logicals

1 view (last 30 days)
I am trying to move values from an array to another. In particular I am taking the value of the red, green and blue of the specific pixel of the image using the command
img(x,y,:) %where img is my image
and I want to put it in an array defined as pix1 = zeros(3,1). When I do the simple equation pix1(:,1) = img(x,y,:) I get the error ' Subscript indices must either be real positive integers or logicals'. If I understood well this is due to the fact that the rgb values are floats? How do I get to put them in the array pix1 without rounding the value?
Thanks
  5 Comments
EL
EL on 25 Oct 2017
I am rotating an image and then scrolling each pixel to do the bilinear interpolation with the four surrounding pixels. So I must get the value of the image at x = u-1 which at a certain point becomes zero. I guess I'll just shift the image so as to be constantly in the positive domain.

Sign in to comment.

Answers (1)

Andrei Bobrov
Andrei Bobrov on 25 Oct 2017
Edited: Andrei Bobrov on 25 Oct 2017
pix1 = reshape(img(x,y,:),[],1);

Categories

Find more on Images in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!