OpenCV 读取和保存图像

17 Mar 2025 | 阅读 2 分钟

OpenCV 读取图像

OpenCV 允许我们对图像执行多种操作,但要做到这一点,必须先读取图像文件作为输入,然后才能对其执行各种操作。 OpenCV 提供了以下函数来读取和写入图像。

OpenCV imread 函数

imread() 函数从指定文件加载图像并返回。 语法是

参数

filename: 要加载的文件名

flag: flag 指定加载图像的颜色类型

  • CV_LOAD_IMAGE_ANYDEPTH - 如果我们将其设置为 flag,当输入具有相应的深度时,它将返回 16 位/32 位图像,否则将其转换为 8 位。
  • CV_LOAD_IMAGE_COLOR - 如果我们将其设置为 flag,它总是将转换后的图像返回为彩色图像。
  • C V_LOAD_IMAGE_GRAYSCALE - 如果我们将其设置为 flag,它总是将图像转换为灰度图像。

如果由于不支持的文件格式、缺少文件、不支持或无效格式而无法读取图像,则 imread() 函数返回一个矩阵。 目前,支持以下文件格式。

Windows 位图 - *.bmp, *.dib
JPEG 文件 - *.jpeg, *.jpg, *.jpe
可移植网络图形 - *.png
可移植图像格式- *.pbm, *.pgm, *.ppm
TIFF 文件 - *.tiff, *.tif

注意: 对于彩色图像,解码后的图像的通道将按 BGR 顺序存储。

让我们看下面的例子

输出: 它将显示以下图像。

OpenCV Reading Images

OpenCV 保存图像

OpenCV imwrite() 函数用于将图像保存到指定文件。 文件扩展名定义图像格式。 语法如下

参数

filename- 要加载的文件名

image- 要保存的图像。

params- 当前支持以下参数

  • 对于 JPEG,质量可以从 0 到 100。默认值为 95。
  • 对于 PNG,质量可以是 0 到 9 的压缩级别。默认值为 1。
  • 对于 PPM、PGM 或 PBM,它可以是二进制格式标志 0 或 1。默认值为 1。

让我们看下面的例子

输出

Image written to file-system : True

如果 imwrite() 函数返回 True,则表示该文件已成功写入指定文件。