o = find((inter ./ (gtArea + area - inter))>obj.minOverlap);
inter gtArea, area and inter are actually of uint16, so o could only be 0 or 1(when actual value > 0.5), so an setting of minOverlap = 0.6 is useless.
w = max(0.0, xx2-xx1+1);
h = max(0.0, yy2-yy1+1);
w and h are still uint16;
o = find((inter ./ (gtArea + area - inter))>obj.minOverlap); inter gtArea, area and inter are actually of uint16, so o could only be 0 or 1(when actual value > 0.5), so an setting of minOverlap = 0.6 is useless.
w = max(0.0, xx2-xx1+1); h = max(0.0, yy2-yy1+1); w and h are still uint16;
And (gtArea + area - inter) could overflow
I use matlab ##R2014a