OpenCV图像读写函数

1.图像的载入

1.1 函数原型

cv::imread函数可以从磁盘中载入图片

cv::imread(const string& filename, int flags=cv::IMREAD_COLOR)

imread读取图片时,不需要关注图片的格式,它可以分析文件的前几个字节(被称为文件的标识符或者"魔法序列")来确定文件的编码序列。

1.2 flags的定义

标志含义
cv::IMREAD_COLOR总是读取三通道图像
cv::IMREAD_GRAYSCALE读取单通道图像
cv::IMREAD_ANYCOLOR通道为文件实际通道数,不一定保留Alpha通道
cv::IMREAD_ANYDEPTH允许加载超过8bit深度的图像
cv::IMREAD_UNCHANGEDIMREAD_ANYCOLOR和IMREAD_ANYDEPTH的组合,保留Alpha通道

1.3 返回值

如果imread载入失败,会返回空的cv::Mat

cv::Mat::empty() == true //判断是否为空。

2.图像的保存

2.1 函数原型

cv::imwrite(
    const string& filename,
    cv::InputArray image,
    const vector<int>& params = vector<int>()
)

常用的图片拓展名:

  • jpg或者jpeg: 以baseline JPEG格式保存,8位数据,单通道或者三通道输入
  • jp2: JPEG2000,8位或者16位数据,单通道或者三通道输入
  • tif或者tiff: TIFF格式,8位或者16位数据,单通道,三通道或四通道输入
  • png PNG,8位或者16位数据,单通道,三通道或四通道输入
  • bmp BMP格式,8位数据,单通道,三通道或四通道输入
  • ppm或者pgm NetPBM 8位数据,单通道(PGM),三通道(PPM)

2.2 标志

标志含义取值范围默认值
cv::IMWRITE_JPG_QUALITYJPEG质量0-10095
cv::IMWRITE_PNG_COMPRESSIONpng压缩值0-93
cv::IMWRITE_PXM_BINARY对PPM,PGM或PBM文件是否使用二值格式0或11
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值