MATLAB: Can’t understand the warning

integer indices

Hi, My code works but every time it runs through line 13 it writes on the command window :"Warning: Integer operands are required for colon operator when used as index ". The relevant part of my code looks like that:
filename = uigetfile;
obj = mmreader(filename);
nFrames=obj.NumberOfFrames;
for k = 1 : nFrames
this_frame = read(obj, k);
thisfig = figure();
thisax = axes('Parent', thisfig);
image(this_frame, 'Parent', thisax);
if k==1
handle=imrect;
pos=handle.getPosition;
end
partOf=this_frame(pos(2):pos(2)+pos(4),pos(1):pos(1)+pos(3));%this is line 13
vector(k)=mean2(partOf);
title(thisax, sprintf('Frame #%d', k));
end
Why this warning appears and can i ignore it?
[EDITED, Code formatted, Jan]

Best Answer

Indices must have positive integer values for obvious reasons. If any value of pos is not integer, this warning appears and you should fix this depending on your needs. Perhaps pos = round(pos) is a suitable solution, but floor or ceil are possible also.