微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在基于激光的立体相机中匹配激光点?

如何解决如何在基于激光的立体相机中匹配激光点?

我正在尝试用激光扫描对象以提取 3D 点云。我的设置中有 2 个摄像头和 1 个激光器。我所做的是将掩码中的非零点作为 projPoints arg 提供给 OpenCV 的 triangulatePoints 函数。由于 triangulatePoints 函数的两个点数必须相同并且有 2 个掩码,如果一个掩码的非零点比另一个多,我基本上通过这样做将其缩小到另一个的大小:

l1 = len(pts1)
l2 = len(pts2)
newPts1 = pts1[0:l2]

有没有好办法匹配左右帧非零点?

Stereo Pain

解决方法

首先,如果您的图像通常看起来像那样,那么您的传感器已经深度饱和,因此您的 3D 范围要么一文不值,要么比实际准确度低得多。

其次,您的目标应该是在成对的每个图像上匹配每个校正扫描线的一个点,而不是一组点。使用激光条纹的整个想法是在尽可能小的点或带上获得聚焦良好的光束,以便您可以详细探测表面。

为了获得最佳精度,应在原始(失真和未校正)图像的每条扫描线上独立完成寻峰,因此它不受未失真和立体校正程序使用的插值的影响。相反,您可以使用几何不失真和立体校正变换将原始图像中检测到的峰值映射到校正后的峰值。

有几种经典算法可用于使用基于激光条纹的三角测量方法进行峰值查找,您可能会发现 this other answer of mine 很有用。

最后,如果您的设置预期如图所示,除了感兴趣的物体外,激光条纹还照亮两个正交平面,那么您根本不需要使用立体:您可以求解 3D由激光条纹投影仪跨越的平面,并通过将该平面与每条射线相交来进行三角测量,将激光条纹图像的峰值反向投影到物体上。这类似于 J. Y. Bouguet 在他的旧博士学位中使用的方法之一。关于桌面摄影的论文(这是 S. Seitz 的 a summary)。 this patent 中详细介绍了使用激光条纹器的一种实现方式。这种方法出人意料准确:我们在 1999 年使用小巧的 640x480 CCD 摄像机在 1 立方英尺的体积内实现了大约 0.2 毫米的精度。专利已过期,所以您可以自由享受它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。