如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
def mat_inter(box1,box2): # 判断两个矩形是否相交 # box=(xA,yA,xB,yB) x01, y01, x02, y02 = box1 x11, y11, x12, y12 = box2 lx = abs ((x01 + x02) / 2 - (x11 + x12) / 2 ) ly = abs ((y01 + y02) / 2 - (y11 + y12) / 2 ) sax = abs (x01 - x02) sbx = abs (x11 - x12) say = abs (y01 - y02) sby = abs (y11 - y12) if lx < = (sax + sbx) / 2 and ly < = (say + sby) / 2 : return True else : return False def solve_coincide(box1,box2): # box=(xA,yA,xB,yB) # 计算两个矩形框的重合度 if mat_inter(box1,box2) = = True : x01, y01, x02, y02 = box1 x11, y11, x12, y12 = box2 col = min (x02,x12) - max (x01,x11) row = min (y02,y12) - max (y01,y11) intersection = col * row area1 = (x02 - x01) * (y02 - y01) area2 = (x12 - x11) * (y12 - y11) coincide = intersection / (area1 + area2 - intersection) return coincide else : return False |
以上这篇python计算两个矩形框重合百分比的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/ambm29/article/details/79748472