OpenCV图像与视频处理:编码、解码及读取操作详解
1. 图像保存与编解码基础
在某些操作系统环境中,执行保存命令可能会导致操作系统抛出异常,通常情况下,返回值为 0 表示保存失败。 cv::imwrite() 函数用于保存图像,若保存成功返回 true ,失败则返回 false 。
1.1 编解码器说明
cv::imwrite() 函数依赖于处理图像文件类型的软件库,这些库被统称为编解码器(codecs)。操作系统通常有多种编解码器,每种常见文件类型至少对应一种编解码器。
OpenCV 为部分文件格式(如 JPEG、PNG、TIFF 等)提供了所需的编解码器。对于每种编解码器,有以下三种选择:
- 不支持该编解码器;
- 使用 OpenCV 提供的编解码器(与其他 OpenCV 模块一起构建);
- 使用相应的外部库(如 libjpeg、libpng 等)。
不同操作系统的默认选项不同:
- Windows 系统默认使用 OpenCV 提供的编解码器;
- OS X/Linux 系统默认使用外部库,若 CMake 未找到编解码器,则使用 OpenCV 提供的编解码器。
在 Linux 系统中,若要使用外部库,需安装编解码器及开发文件(如 libjpeg 和 libjpeg-dev )。
超级会员免费看
订阅专栏 解锁全文
27万+

被折叠的 条评论
为什么被折叠?



