python实现iou的方法

 def iou(test_box,base_box):
      ret = 0 
      #若坐标为空,return 0
      if test_box == []:                                                                                            
          return ret
      if base_box == []:                                                                                            
          return ret                                                                                                
      x1 = test_box[0]                                                                                              
      y1 = test_box[1]                                                                                              
      w1 = test_box[2]
      h1 = test_box[3]
              
      x2 = base_box[0]                                                                                              
      y2 = base_box[1]
      w2 = base_box[2]
      h2 = base_box[3]
              
      x = max(x1+w1,x2+w2)                                                                                       
      min_x = min(x1,x2)
      w = w1+w2-(x-min_x)
              
      y = max(y1+h1,y2+h2)                                                                                       
      min_y = min(y1,y2)                                                                                           
      h = h1+h2-(y-min_y)
              
      if w <=0 or h <= 0:
          ret = 0 
      else:   
          #重叠面积
          Area = w*h                                                                                                
          Area1 = w1*h1
          Area2 = w2*h2
          #Area1+Area2-Area为除去重叠面积的部分
          ret = Area*1./(Area1+Area2-Area)                                                                          
      return  ret

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值