当前位置: 首页 > 教程 > OpenCV >

OpenCV MREAD_XXX标记

精华
小牛编辑
120浏览
2023-03-14

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

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

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

imread(filename)

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

imread(filename, int flags)

这个语法接受两个参数 -

  • filename - 它接受一个参数(文件名),一个字符串类型的变量,表示要读取的文件的路径。
  • 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/21/4
6 IMREAD_REDUCED_GRAYSCALE_2, IMREAD_REDUCED_GRAYSCALE_4, IMREAD_REDUCED_GRAYSCALE_8 如果该标志被设置为该值,则图像被读取为单通道灰度图像,并且相对于所使用的场,图像的尺寸被缩小为图像的原始尺寸的½¼
7 IMREAD_UNCHANGED 如果该标志被设置为这个值,则加载的图像将被原样返回。