使用OpenCV对视差图/深度图(CV_16S/CV_32S)进行保存和显示

本文介绍了如何处理OpenCV中CV_16S或CV_32S格式的视差图和深度图。由于OpenCV的imwrite()和imshow()函数不适用于这些格式,因此需要另寻方法进行存储和显示。对于显示,可以使用Visual Studio的Image Watch插件,但转换为CV_8U格式通常已足够。而对于存储,建议采用XML或YML格式,OpenCV提供了相应的API,方便跨平台和跨系统操作。示例代码演示了XML文件的读写操作。
摘要由CSDN通过智能技术生成

OpenCV默认的图像格式为CV_8UC3,此时图像为3通道、8位RGB图像,每个通道所能表达的灰度阶为 2 8 = 256 2^8=256 28=256。而视差图常为CV_16S或CV_32S等,如果直接使用cv::imwrite()保存视差图或深度图,则图像将被转成CV_8U格式,而像素值大于255将会被转成255。

可选图像格式

首先来看一下,OpenCV有哪些可选的数据类型

Unsigned 8bits uchar 0~255
Mat: CV_8UC1, CV_8UC2, CV_8UC3, CV_8UC4

Signed 8bits char -128~127
Mat: CV_8SC1,CV_8SC2,CV_8SC3,CV_8SC4

Unsigned 16bits ushort 0~65535
Mat
  • 13
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值