python计算二维矩形IOU实例
2020-03-11 17:50
1136 查看
计算交并比:交的面积除以并的面积。
要求矩形框的长和宽应该平行于图片框。不然不能用这样的公式计算。
原理,从一维上来理解:两条红线的距离之和减去黑色线之间的距离就是相交的距离。两条红线之和很容易算,两条黑线之间的距离就是最小的起点到到最大的末点,最小的起点好算,最大的末点就是两点加上各自长度之后的最大值。这就算出了一维的情况,二维的情况一样,计算二次而已。
def iou(rect1,rect2): ''' 计算两个矩形的交并比 :param rect1:第一个矩形框。表示为x,y,w,h,其中x,y表示矩形右上角的坐标 :param rect2:第二个矩形框。 :return:返回交并比,也就是交集比并集 ''' x1,y1,w1,h1=rect1 x2,y2,w2,h2=rect2 inter_w=(w1+w2)-(max(x1+w1,x2+w2)-min(x1,x2)) inter_h=(h1+h2)-(max(y1+h1,y2+h2)-min(y1,y2)) if inter_h<=0 or inter_w<=0:#代表相交区域面积为0 return 0 #往下进行应该inter 和 union都是正值 inter=inter_w * inter_h union=w1*h1+w2*h2-inter return inter/union
以上这篇python计算二维矩形IOU实例就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- Python计算两个矩形重合面积代码实例
- python不使用for计算两组、多个矩形两两间的iou方式
- Python计算机视觉里的IOU计算实例
- python 不使用for计算两组、多个矩形两两间的iou
- python计算两个矩形框重合百分比的实例
- BZOJ.2639.矩形计算(二维莫队)
- Python学习Day15---Python计算生态简介、霍兰德人人格分析实例
- python 计算方位角实例(根据两点的坐标计算)
- python实例复6——数值计算和词频统计
- Python通过Pygame绘制移动的矩形实例代码
- Python3简单实例计算同花的概率代码
- 【YOLO】用 Python 来计算 IOU
- python 计算平均平方误差(MSE)的实例
- python二维列表一维列表的互相转换实例
- 利用Python计算KS的实例详解
- Python利用pandas计算多个CSV文件数据值的实例
- python:目标检测模型预测准确度计算方式(基于IoU)
- python计算牛顿迭代多项式实例分析
- python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
- python实例26[计算MD5]