(NYU Depth Toolbox)KITTI数据集深度图补全

用KITTI做单目深度估计的时候需要用NYU Depth Toolbox工具处理KITTI数据集中原始的深度图,得到补全后的深度图。网上这方面的教程比较少,记录一下在此过程中踩的坑。
首先在官网https://cs.nyu.edu/~silberman/datasets/nyu_depth_v2.html下载工具箱。
在这里插入图片描述

发现其中既有.m文件又有.cpp文件,demo_fill_depth_cross_bf_test.m是用作深度补全的文件,需要用到mex_cbf_windows.cpp,所以要使用matlab的混合编译功能,设置办法参考https://blog.csdn.net/BillyPan/article/details/98071221
mex -setup成功之后,输入mex mex_cbf_windows.cpp cbf_windows.cpp进行编译,运行demo_fill_depth_cross_bf_test.m会发现图片大小不对,因为源程序处理的图片大小是480640,而KITTI数据集中图片的大小是3751242,需要修改的地方有以下几处:
crop_image.m中:
在这里插入图片描述
get_projection_mask.m中:
在这里插入图片描述
cbf_windows.h中(记得修改完之后要重新编译):
在这里插入图片描述
然后程序就可以跑通了,但是输出的补全深度图却显示成这样:

在这里插入图片描述
???
找了好久原因都没有找到,最后求助了mujiangyao的代码才找到了原因,在此特别感谢mujiangyao的帮助.原因是用imshow显示double类型的图像时应该先调整范围或者转化为uint16,后者会影响图像显示的精度.具体解释参考https://blog.csdn.net/lihe4151021/article/details/89372688
RGB图像
简略深度图
使用imshow(uint(imgDepthFilled16))显示的补全深度图:
在这里插入图片描述
使用imshow(imgDepthFilled,[])显示的补全深度图:
在这里插入图片描述
参考:
https://blog.csdn.net/billypan/article/details/100926643
https://blog.csdn.net/mujiangyao/article/details/112106263

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值