• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

双目相机计算稠密深度点云(二)

人工智能 熊猫飞天 1891次浏览 0个评论

双目相机计算稠密深度点云

 

  • 1、ZED相机驱动包

 

  • 2、校准ZED相机

 

  • 3、运行ELAS

 

  • 参考资料

 

接着上一篇的文章实现利用真实的相机计算3D点云,实验中我们使用的是ZED的相机。    

1、ZED相机驱动包

  首先我们需要在电脑上安装ZED相机的驱动包,这里我们只安装CPU版本的驱动包,读取出左右目图像即可,驱动包地址 [1]  

```
cd catkin_ws/src
git clone https://github.com/transcendrobotics/zed_cpu_ros
cd ..
catkin_make
```

    在正确启动ZED相机以后,我们需要对相机的内外参数进行校准,在ZED的官网上也提供有出厂时候的标定值,可以通过相机上的序列号下载对应编号的文件,但是感觉那个不太准,所以最好还是自己标定一下。 注:这里我们使用的时候讲ZED相机设置为了1280*720的这个分辨率(zed_cpu_ros.launch文件中 resolution 参数的值为 2)。  

2、校准ZED相机

  在zed_cpu_ros包中launch文件夹中新建文件camera_calibration.launch并填入以下内容  

<launch>

    <include file="$(find zed_cpu_ros)/launch/zed_cpu_ros.launch"/>

    <arg name="size" default="8x6"/>
    <arg name="square" default="0.108"/>
    <arg name="no-service-check" default="true"/>

    <node pkg="camera_calibration" type="cameracalibrator.py" name="camera_calibration" output="screen" args="">
        <remap from="right" to="/camera/right/image_raw"/>
        <remap from="left" to="/camera/left/image_raw"/>
    </node>

</launch>

  其中size表示棋盘格的长宽尺寸,square 表示是格子的大小,我这里使用的是8×6的棋盘格,每个格子是108mm 接下来启动launch文件开始校准ZED相机  

roslaunch  zed_cpu_ros camera_calibration.launch

 
在这里插入图片描述   然后移动ZED相机等到右侧的 CALIBRATE 按钮变绿以后点击按钮就可以校准了。   校准完成以后可以看到此次校准的极线误差是多少,如下图:  
在这里插入图片描述   一般来说 epi<0.2就差不多了,epi<0.15的算是很好的了。   在标定的过程中,建议使用大一点的标定板,然后重复校准几次,比较外参数是否稳定在一个范围。   在获得左右目的内外参数以后,把校准后的参数更新到zed_cpu_ros/config目录下的 left.yaml 和 right.yaml两个文件中。 然后设置zed_cpu_ros.launch文件中 use_zed_config参数的值为 false 让驱动节点使用我们刚刚更新的 left.yaml 和 right.yaml两个文件。  

3、运行ELAS

  接下来按照上一篇博客中的方法启动elas_ros就可以了,注意检查一下立体矫正以后输出的图像。   启动相机ROS驱动节点以后注意查看 camera_info话题是否有输出,ELAS运行的条件必须是: camera/left/image_raw camera/left/camera_info camera/right/image_raw camera/right/camera_info   下图是使用ZED相机在室外的一个结果,感觉这个相机的标定参数对输出的深度影响还是很大的,其次还有一个问题就是ZED相机左右目图像没有同步触发的,这个也可能造成深度输出效果不好。  
在这里插入图片描述  

参考资料

  [1] https://github.com/transcendrobotics/zed_cpu_ros   如果大家觉得文章对你有所帮助,麻烦大家帮忙点个赞。O(∩_∩)O   欢迎大家在评论区交流讨论(cenruping@vip.qq.com)   如果下载代码和数据较慢,可在评论区留下邮箱,可将代码和数据测试包发送到邮箱。


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明双目相机计算稠密深度点云(二)
喜欢 (0)

您必须 登录 才能发表评论!

加载中……