Kinect的深度图像和红外图像都是16位深度,利用Matlab标定时,用了一款老版本的Matlab标定箱,该工具箱能够实现单目的某一场景下的外参计算,进而可以利用两个相机与标定板的外参,来计算两个相机之间的相对位姿。但是老版本有一个问题,16位的TIF图像读进去一片白,根本没法实现标定。所以需要转成8位的来进行标定
1.代码方法
主要是利用高位截断的思想,取16位数据的高八位,作为8位图像的数值。但是效果有点不理想,图像转换成8位后成雪花状:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5deaf546746fe82ab5e21a0be466c6b3.png)
Mat photoGrid::converTIF16to8(Mat input)
{
Mat result = Mat::zeros