16位深度图的像素值进行读取访问时的注意事项

首先定义一个16位的深度图

cv::Mat depth_mat = cv::Mat(height, width, CV_16UC1); 

十六位的深度图,取像素值的时候,不能用

id = i*width + j ; 
depth_mat.data[id];

的方式,是被https://blog.csdn.net/qq_36955294/article/details/84140788 里面的视差转深度图的函数带偏了!!!得用

depth_mat.at<uint16_t>(i, j)

的形式去读取16位深度图的像素值,这样不管是取值还是赋值,都是8位的,不是16位,所以导致了一系列的问题,你深度值算得正确,赋值也没有赋上去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗筱涵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值