tiff 格式的深度图转 png 格式的深度图(opencv)

本文介绍了如何在使用AirSim获取深度图后,利用OpenCV将深度图从TIFF格式转换为16位PNG格式。过程中提到,首先通过AirSim获取DepthPlannar类型的深度图并保存为tiff,然后利用convertTo函数将其转换为CV_16U格式,最后保存为png文件。注意,转换时需要调整深度值的缩放比例以匹配open3D的tsdfdemo需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、使用场景

在使用 AirSim 采集深度图的时候,如果图像类型选择:DepthPlannar(value = 1),并且 pixels_as_float = true,保存为 tiff 格式的深度图,经过测试,是正确的深度图。
而 open3D 的 tsdf demo 需要使用 16 位 png 格式的深度图,所以计划将 tiff 格式的深度图转化为 png 格式的深度图(也就是将 CV_32FC1 转换成CV_16UC1)

二、转化过程

  cv::Mat depth_tiff_image; // 通过 AirSim 相机获取 tiff 深度图
  cv::Mat depth_png_image; // 通过转化得到的 16 位 png 深度图
  string depth_png_name = "depth.png";
  // alpha 等于几 就需要将 tsdf 缩放深度改为几,tsdf 默认缩放深度为 1000,我这里也改为1000(默认是1)
  depth_tiff_image.convertTo(depth_png_image, CV_16U, 1000);
  imwrite(depth_png_name, depth_png_image);

三、注意事项

opencv 的 convertTo 函数可以改变 Mat 的深度,但不能改变 Mat 的通道数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值