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

这篇具有很好参考价值的文章主要介绍了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)

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

cv2.imwrite(save_dir, depth_map_cm_uint16)

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

np.save(save_dir, depth_map_cm_uint16)

存储方式选择:

两种存储方式各有优缺点:
存储空间方面:
cv2.imwrite:得到数据经过压缩,因此占用空间少,上述例子得到的png大小仅521kb
深度图保存,opencv,numpy,python,计算机视觉
np.save:得到的数据占用空间较大,上述例子得到的npy大小为4.68mb
深度图保存,opencv,numpy,python,计算机视觉
读取速度方面:
cv2.imwrite:后续加载数据较慢,上述例子加载用时约0.017s
np.save:后续加载数据较快,上述例子加载用时约0.003s
深度图保存,opencv,numpy,python,计算机视觉

可以根据自己需求选择文章来源地址https://www.toymoban.com/news/detail-524880.html

到了这里,关于16bit深度图保存方式:opencv png格式和numpy npy格式对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现Mono12和Mono16位深度的图像保存(C++)

    ​ Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度

    2024年01月16日
    浏览(47)
  • Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现Mono12和Mono16位深度的图像保存(C#)

    ​ Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度

    2024年01月18日
    浏览(43)
  • opencv,numpy,tensor格式转换

    目前接触到的读取图片的方式主要是两种,一是使用opencv的 cv2 模块,二是 PIL. Image 模块,两者的使用有不同。 最先一个问题是读取格式。 1. cv2读取的图片格式直接是numpy的ndarry格式,图片是形状为 HxWxC 的BGR图片。 直接打印是BGR格式 经过格式转换之后得到正常的RGB格式图片

    2024年02月16日
    浏览(45)
  • NumPy图像格式相互转换:使用OpenCV

    在图像处理和计算机视觉领域,NumPy和OpenCV是两个非常常用的Python库。NumPy提供了强大的多维数组操作功能,而OpenCV则提供了图像处理和计算机视觉算法的实现。在许多情况下,我们需要在这两个库之间进行图像格式的相互转换。本文将介绍如何使用OpenCV在NumPy数组和OpenCV图像

    2024年02月03日
    浏览(39)
  • 记录 | python保存、读取npy、npz文件

    npy 以及 npz 这两种文件格式,是 python 第三方库 numpy 才能够保存和读取的文件类型,而也只有通过该库才有方法来完成读取保存操作 1、npy文件 对于 npy 文件只需要将 numpy 这个第三方库导入进来,然后调用方法生成数组或者矩阵对象,再使用 save() 方法并传入文件保存路径以

    2024年01月17日
    浏览(50)
  • Python中数据处理(npz、npy、csv文件;元组、列表、numpy数组的使用)

    目录 1.npz文件 2.npy文件 3.csv文件 4.列表、元组、numpy矩阵 ①列表 ②元组(不可变列表) ③Numpy数组 ③Numpy矩阵 1.npz文件 npz是python的压缩文件 ①读取文件 ② NpzFile 对象有个属性 files 可以通过它查看该压缩文件的所有文件名,通过 dataset[\\\'文件名\\\'] 来获取文件内容 ③保存为.npz文件

    2024年02月03日
    浏览(47)
  • 【Intel Realsense D435】16位深度图和RGB颜色图的视频显示、录制和保存(Python)

    文章可以转载,但是必须表明出处! 本文使用Intel Realsense D435深度相机,拍摄RGB颜色图及16位深度图。 同时实现了以深度图和RGB颜色图为图像帧的视频显示、录制与保存。 以下为总体程序: 程序阅读如下: 1.库引用 2.相机初始化函数 3.图像流获取函数  4.相机功能释放函数

    2024年02月12日
    浏览(51)
  • Baumer工业相机堡盟工业相机如何通过BGAPI SDK直接实现Mono16位深度的图像保存(C++)

    Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可扩

    2024年02月10日
    浏览(47)
  • 【深度学习】python使用opencv调用摄像头拍摄并保存图片

    打开pycharm,新建一个camerm.py文件,把下面代码复制粘贴进去就可以了。 需要安装两个库:pip install opencv-python;pip install numpy

    2024年02月11日
    浏览(42)
  • OpenCV数据类型及CV_16UC1深度图ros订阅

    最近用到深度图,对其数据类型及显示有些迷惑,记笔记于此:

    2024年02月05日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包