cv mat保存图片_OpenCV中保存不同深度图像的技巧

本文详细介绍了如何使用OpenCV的imwrite函数保存不同深度的图像,包括16位和32位图像。通过convertTo和normalize函数转换图像类型和归一化,然后保存为PNG、JPEG2000、TIFF等格式。同时,文章强调了在读取图像时使用IMREAD_UNCHANGED选项的重要性。
摘要由CSDN通过智能技术生成

原标题:OpenCV中保存不同深度图像的技巧

神存在于细节之中!

什么是图像深度

很多人开始学习OpenCV之后,接触前面几个API就包括imwrite函数,而且很快知道了如何去保存Mat对象为图像,常规代码如下:

imwrite( "D:/result.png ", dst);

其中dst是Mat对象。

这样保存的图像默认是每个通道8位的字节图像,常见的RGB图像是图像深度为24,这个可以通过windows下查看图像属性获得,截图如下:

如果每个通道占16位的话,RGB图像深度就会变成48,如果每个通道占32位的话,深度就会变成96,显然图像深度越大,图像文件也会越多,加载时候消耗的内存也会越多,所以OpenCV中默认读写图像都是每个通道8位(单字节)图像。

重温imwrite函数

假设我们想保存图像为16位或者32位浮点数图像时候,我们该怎么去做,在开始之前我们首先再次复习一下OpenCV中保存图像的API函数-imwrite

boolcv::imwrite(

constString & filename,

InputArray img,

conststd:: vector< int> & params = std:: vector< int>()

)

Filename 参数为声明的文件保存路径

Img参数表示的是将要保存的Mat图像对象

Params 表示的是保存图像时的选项,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值