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/2 或1/4 。 |
6 | IMREAD_REDUCED_GRAYSCALE_2 , IMREAD_REDUCED_GRAYSCALE_4 , IMREAD_REDUCED_GRAYSCALE_8 |
如果该标志被设置为该值,则图像被读取为单通道灰度图像,并且相对于所使用的场,图像的尺寸被缩小为图像的原始尺寸的½ ,¼ 或⅛ 。 |
7 | IMREAD_UNCHANGED |
如果该标志被设置为这个值,则加载的图像将被原样返回。 |