Torch 两个矩形框重叠面积的计算 (IoU between tow bounding box)

Torch 两个矩形框重叠面积的计算 (IoU between tow bounding box)

 1 function DecideOberlap(BBox_x1, BBox_y1, BBox_x2, BBox_y2, BBox_gt_x1, BBox_gt_y1, BBox_gt_x2, BBox_gt_y2)
 2 
 3     x1 = BBox_x1;
 4     y1 = BBox_y1;
 5     width1  = BBox_x2 - BBox_x1;
 6     height1 = BBox_y2 - BBox_y1;
 7 
 8     x2 = BBox_gt_x1;
 9     y2 = BBox_gt_y1;
10     width2  = BBox_gt_x2 - BBox_gt_x1;
11     height2 = BBox_gt_y2 - BBox_gt_y1;
12 
13     endx     = math.max(x1+width1, x2+width2);
14     startx     = math.min(x1, x2);
15     width     = width1 + width2 - (endx - startx);
16 
17     endy = math.max(y1 + height1, y2 + height2);
18     starty = math.min(y1, y2);
19     height = height1 + height2 - (endy - starty);
20 
21     if width<=0 or height<=0 then 
22         ratio = 0;
23     else
24         Area = width*height;
25         Area1 = width1*height1;
26         Area2 = width2*height2;
27         ratio = Area/Area1;
28     end
29 
30     return ratio 
31 
32 end 
原文地址:https://www.cnblogs.com/wangxiaocvpr/p/6341396.html