首页 > 编程语言 >python计算两个矩形的重叠_python计算两个矩形框重合百分比的实例

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

时间:2023-11-29 17:11:35浏览次数:34  
标签:y02 y01 python 矩形框 abs 计算 x02 x01

如下所示:

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 0

 

标签:y02,y01,python,矩形框,abs,计算,x02,x01
From: https://www.cnblogs.com/pingguomang/p/17865333.html

相关文章

  • python基础_05_python基础【2】
    【五】Python基础之程序与用户交互【1】什么是与用户交互交互的本质就是输入、输出用户交互就是人往计算机中input/输入数据,计算机print/输出结果【2】输入input函数用户输入一些内容,用户按下回车键后,input函数会返回用户输入的内容并且传输回来的数据均为字符串类型......
  • # 聪明办法学Python Task 3
    聪明办法学PythonChap4:条件使用布尔表达式n=1(n<0)*1#0(n>=0)*2#2判断值为Flase时在数值计算上等价于0,为True时在数值计算上等价于1多个判断ifa:passelifb:passelifc:passelse:passif推导式defabs1(n):ifn>0:returnn......
  • 2023-2024-120231329《计算机基础与程序设计》第10周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK10这个作业的目标计算机科学概论第12,13,14章云班课测试《C语言程序设计》第9章并完成云班课测试作......
  • js和python获取1-100之间的质数
    jsfor(leti=2;i<=100;i++){letiszs=truefor(letj=2;j<i;j++){if(i%j===0){iszs=falsebreak}}if(iszs){zs.push(i)}}console.log(zs)pythonzs=[]foriinrange(2,101):iszs......
  • Python对比图片
    一.使用PIL(pillow)模块进行图片对比:1.1安装PIL模块pipinstallpillow1.2示例代码将两张图片转换为灰度图像,并计算它们之间的差异;然后,计算差异的统计信息并输出平均差异值。如果两张图片完全相同,则平均差异值为0;如果完全不同,则平均差异值将接近255。#导入需要使用的模块fr......
  • Python使用多进程及代理ip爬取小说
    前言在爬虫的过程中,为了提高爬取速度,我们可以采用多进程、多线程、协程等方式。本文将介绍Python使用多进程进行爬取的方法,并结合代理IP爬取小说为例子,帮助读者了解如何使用Python多进程和代理IP来进行爬取,以提高爬取效率和规避反爬机制。一、使用多进程爬取小说多进程是一种并发编......
  • python条件
    条件if语句if条件1:语句1elif条件2:语句2else:语句3if-els推导式ifexpression例:defabs7(n):returnnif(n>=0)else-nmatch-case语句match变量:case1:语句1case2:语句2case3:语句3case_:类似于default语句4case后的内容可以用|隔开,如1|2|3代码风格......
  • VS code中python代码格式化配置
    VScode中python代码格式化配置settings.jsonVScode打开命令面板(快捷键ctrlshiftP)搜settings.json发现里面有好几个设置:用户设置、工作区设置、文件夹设置、默认设置。其中默认设置一般不动,另外三个设置则是作用域一层层缩小:用户下所有文件=>工作区文件=>文件夹文件,可以......
  • python task3
    python(三)条件if语句if-else语句推导式match...case语句match后的对象会依次与case后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_可以匹配一切case_:类似于C和Java中的default:,当其他case都无法匹配时,匹配这条,保证永远会匹配......
  • python连接数据库(连MySQL)
    Python操作和连接数据库原创 阳阳 Python小例子 2023-10-1109:20 发表于湖北在Python中,你可以使用不同的库来操作和连接数据库,最常用的是sqlite3、MySQLdb和psycopg2。使用sqlite3连接和操作SQLite数据库:import sqlite3# 连接数据库conn = sqlite3.connect('......