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

yipeiwu_com7年前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没有scripts文件夹的问题

安装Python2.7,好多次都不会产生scripts文件夹,导致无法使用pip。 折腾了一下,找到了解决办法。 让人无法接受的是,只要是我给的安装包一定不会产生scripts文件夹,所...

Python实现的简单万年历例子分享

复制代码 代码如下:#!/usr/bin/env python2#-*- coding:utf-8 -*-__author__ = 'jalright' """使用python实现万年历...

Python实现直播推流效果

Python实现直播推流效果

首先给出展示结果,大体就是检测工业板子是否出现。采取检测的方法比较简单,用的OpenCV的模板检测。 大体思路 opencv读取视频 将视频分割为帧 对每一帧进行处理(o...

Python实现基本数据结构中栈的操作示例

Python实现基本数据结构中栈的操作示例

本文实例讲述了Python实现基本数据结构中栈的操作。分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 #Python实现基...

Python中的Matplotlib模块入门教程

Python中的Matplotlib模块入门教程

1 关于 Matplotlib 模块 Matplotlib 是一个由 John Hunter 等开发的,用以绘制二维图形的 Python 模块。它利用了 Python 下的数值计算模块...