OpenCV - IMREAD_XXX 标志


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

imread()方法的flags参数(IMREAD_XXX)

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

imread(filename)

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

imread(filename, int flags)

此语法接受两个参数 -

  • filename - 它接受一个参数(filename),一个 String 类型的变量,表示要读取的文件的路径。

  • 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,并且图像的尺寸被减小到相对于所使用的场的 图像原始尺寸的1/2、1/ 4或1/8

6

IMREAD_REDUCED_GRAYSCALE_2

IMREAD_REDUCED_GRAYSCALE_4

IMREAD_REDUCED_GRAYSCALE_8

如果该标志设置为该值,则图像被读取为单通道灰度图像,并且图像的尺寸相对于所使用的场缩小至图像原始尺寸的1/2、1/ 41/8

7

IMREAD_未更改

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