python计算两个矩形框重合百分比的实例

yipeiwu_com6年前Python基础

如下所示:

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计算两个矩形框重合百分比的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对python遍历文件夹中的所有jpg文件的实例详解

python发现文件夹下所有的jpg文件,并且安装文件排放的顺序输出 glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差...

和孩子一起学习python之变量命名规则

变量命名规则 下面是关于变量名(也称为标识符)的一些规则 必须以一个字母或一个下划线字符开头。后面可以使用一个字母、数字或下划线字符的序列,长度不限。 字母可以是大写或小写,大小写...

使用 Python 实现微信公众号粉丝迁移流程

近日,因公司业务需要,需将原两个公众号合并为一个,即要将其中一个公众号(主要是粉丝)迁移到另一个公众号。按微信规范,同一用户在不同公众号内的 openid 是不同的,我们的业务系统不例外...

python自动登录12306并自动点击验证码完成登录的实现源代码

以下代码可自动登录12306 - 包括输入用户名密码以及自动识别验证码并点击验证码登陆。该源码需要稍作修改: 把  username.send_keys('xxxxxxx')&...

Python学习笔记之迭代器和生成器用法实例详解

本文实例讲述了Python学习笔记之迭代器和生成器用法。分享给大家供大家参考,具体如下: 迭代器和生成器 迭代器 每次可以返回一个对象元素的对象,例如返回一个列表。我们到目前为止使...