如下所示:
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