外观
踩坑Robotics Stack Exchange2015-11-08
如何用RGB和深度图获取球的XYZ坐标
本文由 AI 根据公开内容整理,可能有误,请以原文为准:Using an RGB + Depth Camera to locate X,Y,Z coordinates of a ball(Robotics Stack Exchange #8400)
状态:已解决
问题
在Gazebo中用Kinect的RGB相机通过Hough Transform得到球的像素X,Y,希望从同一Kinect点云获取深度并得到球的X,Y,Z坐标,但不知道如何将像素坐标转换为米。
环境
Gazebo;Kinect RGB相机与点云;使用简单RGB圆检测;OpenCV文档被提及。
解决办法
- 先解决深度数据与RGB数据的配准,并确保配准标定正确。
- 对识别出的目标像素
X,Y直接提取对应深度;若是亚像素坐标,使用插值。 - 获得像素深度后,使用基于视场角和图像尺寸的相机矩阵,将像素坐标转换为相机坐标系下的笛卡尔坐标。
- 同时考虑RGB相机畸变;可参考
OpenCV相关文档处理像素坐标、齐次相机坐标与世界笛卡尔坐标转换。
原问题作者:Iche;采纳答案作者:Brian Lynch。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。
来源
本页事实对应的公开页面,以原文为准。