OpenCV - IMREAD_XXX标志



OpenCV 支持各种类型的图像,例如彩色图像、二值图像、灰度图像等。使用`imread()`方法和`Imgcodecs`类的预定义字段,您可以将给定图像读取为另一种类型。

`imread()`方法的标志参数 (IMREAD_XXX)

在前面的章节中,我们已经看到了`Imgcodecs`类的`imread()`方法的语法。它接受一个字符串参数,表示要读取的图像的位置。

imread(filename)

`imread()`方法还有另一种语法。

imread(filename, int flags)

此语法接受两个参数:

  • **文件名** - 它接受一个参数**(文件名)**,一个字符串类型的变量,表示要读取的文件的路径。

  • **标志** - 一个整数值,表示预定义的标志值。对于每个值,这将读取给定图像作为特定类型(灰度颜色等)。

下表列出了`Imgproc`类中提供的作为此参数值的各种字段。

序号 字段和描述
1

IMREAD_COLOR

如果标志设置为此值,则加载的图像将转换为3通道BGR(蓝绿红)彩色图像。

2

IMREAD_GRAYSCALE

如果标志设置为此值,则加载的图像将转换为单通道灰度图像。

3

IMREAD_LOAD_GDAL

如果标志设置为此值,则可以使用`gdal`驱动程序加载图像。

4

IMREAD_ANYCOLOR

如果标志设置为此值,则图像将以任何可能的颜色格式读取。

5

IMREAD_REDUCED_COLOR_2

IMREAD_REDUCED_COLOR_4

IMREAD_REDUCED_COLOR_8

如果标志设置为此值,则图像将作为三通道BGR读取,并且图像的大小将相对于使用的字段减小到原始图像大小的½、¼或⅛。

6

IMREAD_REDUCED_GRAYSCALE_2

IMREAD_REDUCED_GRAYSCALE_4

IMREAD_REDUCED_GRAYSCALE_8

如果标志设置为此值,则图像将作为单通道灰度图像读取,并且图像的大小将相对于使用的字段减小到原始图像大小的½、¼或⅛。

7

IMREAD_UNCHANGED

如果标志设置为此值,则加载的图像将按原样返回。

广告