当前位置:   article > 正文

16bit深度图保存方式:opencv png格式和numpy npy格式对比_保存深度图

保存深度图

通过激光雷达或深度估计得到的深度图一般为float32或float64类型数据,具有超大量数据,保存为常见的jpg格式图像(uint8:80-255)时则会损失数据精度,如果保存为.npy文件时则文件大小过大(eg:1280*1920大小的深度数组保存后所占空间为37.5Mb),因此需要处理下数据再进行保存。

1.考虑根据深度图精度信息将float32数据转为uint16或int16数据,比如常用激光雷达获取的深度图单位为米,我们取精度为厘米,则将含有深度信息的数组depth_map_m(1280x1920) 从以米为单位的float64转为以厘米为单位的uint16,depth_map_cm

depth_map_cm = depth_map_m * 100
depth_map_cm_uint16 = depth_map_cm.astype(np.uint16)
  • 1
  • 2

2.1可以将该16为深度图以png、tif等格式储存

cv2.imwrite(save_dir, depth_map_cm_uint16)
  • 1

2.2也可以将该16为深度图以npy格式储存

np.save(save_dir, depth_map_cm_uint16)
  • 1

存储方式选择:

两种存储方式各有优缺点:
存储空间方面:
cv2.imwrite:得到数据经过压缩,因此占用空间少,上述例子得到的png大小仅521kb
在这里插入图片描述
np.save:得到的数据占用空间较大,上述例子得到的npy大小为4.68mb
在这里插入图片描述
读取速度方面:
cv2.imwrite:后续加载数据较慢,上述例子加载用时约0.017s
np.save:后续加载数据较快,上述例子加载用时约0.003s
在这里插入图片描述

可以根据自己需求选择

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/822928
推荐阅读
相关标签
  

闽ICP备14008679号