kinect第三代2.0 的彩色图和深度图怎样对齐

kinect第三代的深度数据和彩色数据的汾辨率以及视场大小都不一样不能直接对应起来,想要把深度和彩色融合起来就要费一番周折了

想试试看,结果转到定义处才发现这個成员函数是纯虚函数!!白高兴一场了想了想也没有找到一个合适的方法来更好的实现,于是就想手动校准好了

接下来就是先用规則的长方体来测一下在深度图和彩色图中的同一边长的比例,为了测量更加准确就把深度图同一时间的深度图和彩色图给截图下来,然後通过matlab来实现坐标显示来得到同一位置长方体的同一边长,通过求几组数据的平均得到深度图和彩色图的比例这样,在使用opencv的resize函数便將深度图和彩色图的比例调整为1:1了最后通过将同一点在深度图和彩色图中的坐标关系来将两种图的坐标关系对应好,这样便实现了坐標的对应通过opencv的ROI来将两幅图重合的部分裁剪下来,并且在同一幅画面中显示


  • 棋盘格图片的pdf在下面的网址: 哈囧哈终于被我找到了,不用花积分啦~ 所以好用的话请给这篇博文点个赞吧~~

上述是用来标定kinect第三代1的彩色摄像头和深度摄像头的内參的

  • 录制bag文件:(录制指定话题的bag包)
  • 如果已知外参了如何对齐

遇到的问题:如果将独到的图片直接以16UC1发布,rqt_image 里不显示图片如果以8UC1发布到SLAM系统,系统则不识别所以需要进行下面所述的“类型转换”。

image_dep).toImageMsg();先用8UC1发布运行的同时还要接收注意:这时接收的时候要将深度图存储為png格式(如果存为bmp运行后将会变成白大面积白色图片。

3.接收后再只将上句话改为"16UC1",这个时候看到话题上的深度图就对了这时再开启SLAM系统就可以了。

上述内容虽然很复杂但是亲测有效

我要回帖

更多关于 kinect第三代 的文章

 

随机推荐