OpenCV - IMREAD_XXX 标志
OpenCV 支持各种类型的图像,例如彩色、二进制、灰度等。使用 imread() 方法和 Imgcodecs 类的预定义字段,您可以将给定图像读取为另一种类型。
imread() 方法的 flags 参数 (IMREAD_XXX)
在前面的章节中,我们已经了解了 Imgcodecs 类的 imread() 方法的语法。它接受一个字符串参数,表示要读取的图像的位置。
imread(filename)
imread() 方法有另一种语法。
imread(filename, int flags)
此语法接受两个参数 −
filename − 它接受一个参数 (filename),一个 String 类型的变量,表示要读取的文件的路径。
flags − 一个表示预定义标志值的整数值。对于每个值,这会将给定的图像读取为特定类型(灰度颜色等)。
下表列出了 Imgproc 类中提供的各个字段作为此参数的值。
S.No | 字段和说明 |
---|---|
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,并且图像大小缩小为 ½,相对于所用字段,图像原始大小的 ¼th 或 ⅛th。 |
6 |
IMREAD_REDUCED_GRAYSCALE_2 IMREAD_REDUCED_GRAYSCALE_4 IMREAD_REDUCED_GRAYSCALE_8 如果将标志设置为此值,则将图像读取为单通道灰度图像,并且图像大小将缩小为相对于字段,图像原始大小的 ½、¼th 或 ⅛th使用。 |
7 |
IMREAD_UNCHANGED 如果将标志设置为此值,则将按原样返回已加载的图像。 |