双目测距联合YOLOv8 项目总结

代码贴:双目测距--5 双目相机 联合 YOLOv8_爱钓鱼的歪猴的博客-CSDN博客

0、图片筛选

可以用matlab,对双目图像做个一个筛选,也就是做双目标定。

熟悉matlab的小伙伴完全可以用matlab做双目标定,我是没咋接触过不知道怎么导出标定结果,所以我只是用其做图片筛选,然后用OpenCV标定,因为后续开发也是OpenCV

 所有图像双目标定,可以看出有几对图像的误差比较大

剔除这些图像对,再次标定查看下

1、单目标定(张友正标定法)

获得左相机、右相机的cameraMatrix(内部参数值)、disCoeffs(畸变矩阵)

2、双目标定

固定左右相机的内部参数值、畸变矩阵,求R (右相机坐标系相对于左相机坐标系的旋转矩阵),T(右相机坐标系相对于左相机坐标系的平移动向量), E(本征矩阵), F(基础矩阵)

进一步求得畸变矫正、立体矫正所需的映射矩阵,以及深度差异映射矩阵Q

原图:

 畸变矫正、立体矫正后:

 画横线检查是否行对准,验证矫正质量

3、获取深度图并使用yolov8进行目标检测

利用双目标定结果,对左右相机图像进行畸变矫正、立体矫正,此时两相机共面且行对准。

利用SGBM立体匹配算法获取视差图,并进一步获得图像每个像素的深度信息(深度图)

yolov8对矫正后的左相机图像进行物体检测,目标框中心点的深度值即为距离

 其他:

stereoRectify() flags参数设置

原图

flags-设置为CV_CALIB_ZERO_DISPARITY

 flags-设置为0

  flags-设置为-1

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
双目测距是一种通过双目摄像头获取左右眼视觉信息并计算出目标距离的技术。它可以应用于各种领域,如机器人导航、无人驾驶、工业测量等。配合YOLOv算法,可以实现更准确的目标距离测量和目标检测。 YOLOv是一种基于卷积神经网络的目标检测算法,可以实时地识别并定位多个目标对象。结合YOLOv算法和双目测距技术,可以首先使用YOLOv对图像中的目标对象进行检测和定位。然后,通过双目相机获取左右眼的图像,并计算出每个目标物体在左右眼图像中的像素位置差异。 通过像素位置差异可以计算出目标物体在不同眼镜头间的视差,进而利用三角形相似关系来计算出目标的实际距离。双目测距的原理是利用眼距和视差的关系来进行距离计算,而YOLOv则是通过深度学习算法来识别目标并获取目标的位置信息。 双目测距配合YOLOv的优势在于可以利用YOLOv算法进行快速和准确的目标检测,而双目测距则可以提供更精准的目标距离信息。这样可以在无人驾驶领域中用于障碍物检测和避障,帮助机器人导航系统更好地识别和规避障碍物,保障行车安全。在工业测量中,双目测距配合YOLOv可以进行精确的物体测量和位置定位,提高生产效率。 总而言之,双目测距配合YOLOv可以实现更准确、实时的目标检测和距离测量,对于智能导航、无人驾驶和工业测量等领域具有重要的应用价值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值