Skip to content

Latest commit

 

History

History

stereo

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

双目 ros 包

wiki.ros github code

可以建立 相机坐标系下的 点云

如需建立 世界坐标系下的点云 需要跟踪 每一帧图像的位姿变化 既需要配合 视觉里程计来使用

viso2

机器人视觉 实验室 代码参考 

机器人视觉 实验室 代码参考 

节点 Nodes

节点1. elas_ros Nodes

完成 双目视差匹配disparity matching, 生成当前相机坐标系下的点云point clouds   camera's local reference frame.

订阅的话题 Subscribed Topics

a. <stereo>/left/<image> (sensor_msgs/Image)      左图矫正后的图像 Left rectified stereo image. 

b. <stereo>/right/<image> (sensor_msgs/Image)     右图矫正后的图像 Right rectified stereo image. 

c. <stereo>/left/camera_info (sensor_msgs/CameraInfo) 左相机参数 Camera info for left camera. 

4. <stereo>/right/camera_info (sensor_msgs/CameraInfo) 右相机参数 Camera info for right camera. 

发布的话题 Published Topics

a. disparity (sensor_msgs/Image)  视差 话题
   Image representing the calculated disparity at each point. 
    Note that the values are scaled to be in the range [0, 255] 

b. point_cloud (sensor_msgs/PointCloud2) 左相机当前坐标系下 的点云地图
    The point cloud assosciated with the calculated disparity in the left camera's local reference frame. 

c. frame_data (elas_ros/ElasFrameData)  结构数据  用于三维重建
    Frame data used for the point cloud concatenation process. See node pc_construction. 

参数 Parameters

a. ~queue_size (int, default: 5)  队列大小
    Length of the input queues for left and right camera synchronization. 

b. ~approximate_sync (bool, default: false)  同步
    Whether the node should use approximate synchronization of incoming messages. 
    Set to true if cameras do not have synchronised timestamps. 

节点2. pc_construction 三维重建

This node concatenates the point clouds generated by the elas_ros node.

订阅的话题 Subscribed Topics

<frame_data> (elas_ros/ElasFrameData)   结构数据  用于三维重建
    The frame data generated by the elas_ros node. 

<pose> (geometry_msgs/PoseStamped)    相机姿态数据  来自视觉里程计
    The pose transformation from base frame to pose frame. 
    This accounts for motion of the camera. This can typically be determined by appropriate visual odometry. 
    See usage notes below. 

发布的话题Published Topics

point_cloud (sensor_msgs/PointCloud2) 世界坐标系下的点云地图
    The concatenated point cloud. 

参数 Parameters

~queue_size (int, default: 5)  队列大小 
    Length of the input queues for frame data and pose synchronization. 

  ~approximate_sync (bool, default: false)  同步 Whether the node should use approximate synchronization of incoming messages. Set to true if frame data and pose do not have synchronised timestamps.

base_frame_id (string)  基坐标系
    The name of the base frame that the concatenated point cloud should be cast into. 

pose_frame_id (string)  相机位姿坐标系
    The name of the frame that the given pose transforms into. 

相机 图像处理流水线 ros包

image_pipeline

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

无序 列表

  • 文本1
  • 文本2
  • 文本3

有序 列表

如果你希望有序列表, 也可以在文字前面加上 1. 2. 3. 就可以了,例如:

  1. 文本1
  2. 文本2
  3. 文本3

链接和图片

链接

EwenWan

图片

引用

一盏灯, 一片昏黄; 一简书, 一杯淡茶。 守着那一份淡定, 品读属于自己的寂寞。 保持淡定, 才能欣赏到最美丽的风景! 保持淡定, 人生从此不再寂寞。

粗体和斜体

粗体

EwenWan

斜体

妙趣横生

代码引用

代码引用

Hello GitHub

多段

第一段
第二段

表格

Tables Are Cool
col 3 is right-aligned $1600
col 2 is centered $12
zebra stripes are neat $1

显示链接中带括号的图片

![][1] [1]: http://latex.codecogs.com/gif.latex?\prod%20(n_{i})+1

单目 双目相机 实战

单目标定

双目标定

双目匹配

OpenCV提供了以下四种立体匹配算法的函数:

  1. 基于局部的块匹配 Block Matching(BM) StereoBM
  2. 半全局块匹配       Semi-Global Block Matching(SGBM) StereoSGBM

第一步对每一个Pixel使用块匹配BM进行匹配,得到了全部Pixel的disparity map。 第二步对Disparity map建立图,用Graph Cut对其进行全局优化。 利用Rectification将二维转化为一维

  1. 基于全局的图割 Graph Cut(GC)cvStereoGCState()
  2. 基于全局的 动态规划 Dynamic Programming(DP)cvFindStereoCorrespondence()