• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python计算二维矩形IOU实例

python 搞代码 4年前 (2022-01-08) 21次浏览 已收录 0个评论

今天就为大家分享一篇python计算二维矩形IOU实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

计算交并比:交的面积除以并的面积。

要求矩形框的长和宽应该平行于图片框。不然不能用这样的公式计算。

原理,从一维上来理解:两条红线的距离之和减去黑色线之间的距离就是相交的距离。两条红线之和很容易算,两条黑线之间的距离就是最小的起点到到最大的末点,最小的起点好算,最大的末点就是两点加上各自长度之后的最大值。这就算出了一维的情况,二维的情况一样,计算二次而已。

 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实例的详细内容,更来源gaodai$ma#com搞$代*码*网多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python计算二维矩形IOU实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址