python - 如何在python中计算多边形的IOU?
问题描述
我有两个多边形。多边形1:[[x1,y1],[x2,y2],[x3,y3],[x4,y4]...[xn,yn]] 多边形2:[[x1,y1],[x2,y2], [x3,y3],[x4,y4]...[xm,ym]] n 和 m 的数量可能相同或不同。如何计算两个多边形的 IOU?或者如何计算多边形1和多边形2的重叠面积和面积?所以我可以计算重叠面积/(面积 P1 + 面积 P2)
解决方案
匀称的图书馆有你需要的一切。正如@pink_spikyhairman 评论的那样,有很多关于如何使用这个库来计算多边形的 IOU 的问题示例。例如,您有两个多边形,一个正方形和一个三角形:
from shapely.geometry import Polygon
polygon1 = Polygon([(0, 0), (1, 1), (1, 0)])
polygon2 = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])
intersect = polygon1.intersection(polygon2).area
union = polygon1.union(polygon2).area
iou = intersect / union
print(iou) # iou = 0.5
推荐阅读
- android - 图表中间的 MPAndroidChart 中心视图
- excel - 按类别透视表
- dynamics-crm - executionContext 与 primaryControl
- excel - VB代码不影响报表,如何解决?
- c# - C# Type.GetFields 基于环境的不同顺序
- ngrx - NgRx 如何从另一个模块启动功能模块
- amazon-web-services - OpenVPN 客户端到 SSH 到 EC2 私有实例
- angular - 仅当输入可见时才激活角度验证器
- nginx - Nginx 用 proxy_pass 重写
- reactjs - React 三元运算符防止使用样式化组件重复代码?