python使用numpy计算两个框的iou方法示例
这篇文章主要介绍了python使用numpy计算两个框的iou方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
目录
- 程序
- 结果
程序
需求简单,记录一下。
import numpy as np
import cv2
def iou(bbox1, bbox2):
xmin1, ymin1, xmax1, ymax1 = bbox1
xmin2, ymin2, xmax2, ymax2 = bbox2
# 获取矩形框交集对应的顶点坐标(intersection)
xx1 = np.max([xmin1, xmin2])
yy1 = np.max([ymin1, ymin2])
xx2 = np.min([xmax1, xmax2])
yy2 = np.min([ymax1, ymax2])
# 计算交集面积
inter_area = (np.max([0, xx2 - xx1])) * (np.max([0, yy2 - yy1]))
# 计算两个矩形框面积
area1 = (xmax1 - xmin1 ) * (ymax1 - ymin1)
area2 = (xmax2 - xmin2) * (ymax2 - ymin2)
# 计算交并比(交集/并集)
iou = inter_area / (area1 + area2 - inter_area ) # 注意:这里inter_area不能乘以2,乘以2就相当于把交集部分挖空了
return iou
def main():
img = np.zeros((600,600), dtype=np.uint8)+255 # 创建一个全白画板(灰度图)
img = np.stack((img,)*3, axis=-1) # 将灰度图转化为三通道图。目的是能在画板上画出彩色的图案。
# 初始化两个框
bbox1 = [200, 200, 400, 400] # xmin, ymin, xmax, ymax
bbox2 = [275, 300, 325, 550] # xmin, ymin, xmax, ymax
# 在画板上画出这两个彩色框
cv2.rectangle(img, (bbox1[0:2]), (bbox1[2:4]), (255,69,0), -1)
cv2.rectangle(img, (bbox2[0:2]), (bbox2[2:4]), (218,112,214), -1)
# 计算这两个框的iou
rst = iou(bbox1, bbox2)
cv2.putText(img, 'iou: %.6f' % rst, (10,30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0,0,255), 2)
cv2.imwrite('res.png',img)
if __name__ == "__main__":
main()
结果
以上就是python使用numpy计算两个框的iou方法示例的详细内容,更多关于python numpy计算两个框iou的资料请关注数字提纲【www.sztg.com.cn】其它相关文章!
如非特殊说明,本站内容均来自于网友自主分享,如有任何问题均请联系我们进行处理!
猜您喜欢
天工AI写个人简介提示词怎么加示例,结果更稳定
2026-06-04加示例显著提升天工AI生成个人简介质量——它能对齐语言节奏、信息密度和人设颗粒度;不加则套用空洞模板。因天工AI无记忆,需用真实自写段落或正反对比样例明确风格坐标,再嵌入角色、背景与硬约束。 ☞☞☞AI智能聊天,问答助手,AI智能搜索,多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 天工AI生成个人简介时加不加示例,输出质量差异非常明显——没示例时它常套用空洞的“本人性格开朗、责任心强”式模板;...
blender如何重新计算法线
2026-06-02在blender中,法线是决定模型表面如何响应光照的关键向量,其方向直接影响渲染结果的明暗、高光乃至是否被正确显示。当出现局部发黑、边缘异常高亮或整个面不可见等问题时,往往意味着法线方向混乱——这在布尔运算、导入外部模型或手动编辑拓扑后尤为常见。 选中需修复法线的目标对象 请先在3D视图中单击模型,或于大纲列表中点击其名称完成选择。确保该对象处于活动状态(高亮显示),以便后续操作生效。 切换至编辑...
Mac怎么把两个文件夹合并成一个
2026-06-02Mac合并同名文件夹有三种安全方法:①Finder按Option拖拽并勾选“合并文件夹”;②终端用rsync-av--ignore-existing命令无损同步;③FolderMergePro可视化批量处理冲突。 你在Mac上手头有两个同名文件夹,比如都叫“项目资料”,但各自存着不同版本的文档、图片和子文件夹,现在需要把它们的内容合进一个统一目录,既不丢文件,也不让同名文件互相覆盖——系统默认拖进...
Excel怎么计算工龄精确到年月 根据入职日期计算工龄公式
2026-05-29用DATEDIF函数精确计算工龄:=DATEDIF(B2,TODAY(),"y")&"年"&DATEDIF(B2,TODAY(),"ym")&"个月",其中"ym"参数确保剩余月份不进位;可加IFERROR容错或替换TODAY()为固定日期锁定结果。 要在Excel中根据员工入职日期精确计算出“X年Y个月”格式的工龄,必须避免简单用年份相减或天数除以365这类粗略算法,否则...
Python中如何计算两个NumPy数组的欧式距离_使用linalg.norm高效计算
2026-05-29最简单方法是用np.linalg.norm(a-b),但多维需注意axis参数:单点到多点用axis=1,两组点配对距离需广播扩展维度后用axis=2,慎防NaN/inf。 直接用np.linalg.norm计算两向量距离最简单,但数组形状不对会报错 如果两个数组都是1D且长度相同(比如a=np.array([1,2,3]),b=np.array([4,5,6])),直接写np.linalg.no...
即梦AI写短剧片段提示词怎么加示例,结果更稳定
2026-05-29即梦AI生成短剧需精准提示:首句锁定角色全貌与锚定指令,分镜按秒或镜头号写清动作链、情绪细节、道具物理逻辑及结尾终止态,确保不跳脸、不穿帮、有叙事节奏。 ☞☞☞AI智能聊天,问答助手,AI智能搜索,多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 想让即梦AI生成的短剧片段角色不跳脸、动作不穿帮、镜头有叙事节奏,光写“男主生气转身离开”这种笼统描述根本不行,必须把人物、时间、镜头、动作、情绪全钉死...
电脑开机画面停留太久怎么解决_系统基础自检优化【示例】
2026-05-28系统基础自检(POST)优化方法包括:一、禁用非必要硬件自检项;二、调整内存训练与校验策略;三、重置EC嵌入式控制器状态;四、更新BIOS固件;五、清洁内存与M.2插槽物理接触面。 如果您按下电源键后,电脑长时间停留在品牌Logo或BIOS初始化画面,迟迟无法进入操作系统引导阶段,则很可能是系统基础自检(POST)流程中存在冗余检测、硬件响应延迟或固件配置冲突所致。以下是多种可独立实施的系统基础自...
千问的few-shot learning效果怎么样需要几个示例?
2026-05-27提升千问Few-shot效果需控制示例数量为3–5个、选用高相关性与多样性示例、严格统一格式分隔符、注入元指令强化约束、动态检索适配示例。 ☞☞☞AI智能聊天,问答助手,AI智能搜索,多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果您在使用千问(Qwen)系列大语言模型进行少样本学习(Few-shotLearning)时发现效果不稳定或输出偏离预期,则可能是由于示例数量、质量或结构未匹配模型...
Python 3中如何对两个DataFrame求差集_使用isin配合~取反
2026-05-27isin配合~是求DataFrame差集最直接的方式,因其支持基于列或索引的成员判断并取反筛选,不依赖索引对齐且比merge更轻量,但需注意空值处理、类型一致及大表性能优化。 为什么isin配合~是求DataFrame差集最直接的方式 因为DataFrame本身没有内置的difference方法,而行级差集(即A中有、B中没有的行)本质上是“逐行判断是否在另一张表里”,isin正好支持基于索引或列...
Excel 快捷键:计算整个工作簿
2026-05-25说明 在关闭工作簿自动计算选项选项时,使用此快捷键,计算当前活动工作表。 快捷键 Windows:Shift+F9 Mac:fn+⇧+F9 演示 Python对Excel操作详解中文WORD版 本文档主要介绍如何通过python对officeexcel进行读写操作,使用了xlrd、xlwt和xlutils模块。另外还演示了如何通过Tcltcom包对excel操作。感兴趣的朋友可以过来看看 下载
