目标检测+双目测距——基于yolov5
效果
测试例子1
输入:
![]() |
![]() |
输出:

测试例子2
输入:
![]() |
![]() |
输出:

测试例子3
输入:
![]() |
![]() |
输出:

核心代码
基于yolov5-6.1版本和双目测距+点云——使用MiddleBurry数据集的图片
在detect.py文件基础上修改
if save_img or save_crop or view_img: # Add bbox to image
c = int(cls) # integer class
depthMap = stereo.stereo.main()
x1, y1, x2, y2 = list(map(int, xyxy)) # 目标检测获得的物体像素坐标,(x1,y1)左上角,(x2,y2)右下角
# 计算平均深度
depth = 0
num = 0
for i in range(x1,x2+1):
for j in range(y1,y2+1):
if depthMap[j][i] != 0:
depth += depthMap[j][i]
num+=1
depth /= num
depth /= 1000 # mm转为m
# 修改标签
label = None if hide_labels else (names[c] if hide_conf else f'{names[c]} {depth:.2f}m')
# 画框和标签
annotator.box_label(xyxy, label, color=colors(c+7, True))
if save_crop:
save_one_box(xyxy, imc, file=save_dir / 'crops' / names[c] / f'{p.stem}.jpg', BGR=True)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)