Python将13位深度.mat数据保存为TIFF,转换为16位

时间:2017-11-03 18:04:23

标签: python-3.x numpy opencv scipy kinect-v2

我将使用.MAT保存为scipy.io.loadmat文件的Kinect V2中的深度数据导入到我的python 3.5代码中。当我打印出.MAT数据时,我会得到uint16数组,其值范围为0 - 8192。这是预期的,因为Kinect V2提供13位深度图像数据。现在,当我将其保存为TIFF文件时使用 cv2.imwrite('depth_mat.tif' , depth_arr)并使用它阅读 depth_im = tifffile.imread('depth_mat.tif')。按比例放大值范围。在我的原始.MAT文件中,最大值为7995,保存并读取.TIFF文件后,最大值变为63728。这抛出了我将Kinect Depth映射到现实世界中的实际距离的计算。任何有关这方面的见解都会对我有所帮助。

我必须在两者之间进行一些图像处理,因此有必要保留原始值。另外,如果cv2.imwrite()用于保存tifffile.imsave()文件,而不是使用.MAT,则图片完全黑暗。

我在Win 64机器上使用python 3.5

0 个答案:

没有答案