Can't understand the warning
显示 更早的评论
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]
采纳的回答
更多回答(1 个)
Walter Roberson
2013-9-9
Why are you assuming tat handle.getPosition is always going to return integers ? Have a closer look at the values in "pos".
You have not defined any axis Position or xlim or ylim, so the axis is going to be whatever size it happens to default to.
You will find the result to be different if you add the command
axes(thisax, 'image')
after your image() call.
类别
在 帮助中心 和 File Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!