Python 如何使用imageio imread从单通道图像(灰度)获取多通道阵列(RGB)?

Python 如何使用imageio imread从单通道图像(灰度)获取多通道阵列(RGB)?,python,python-imageio,Python,Python Imageio,所以我想用imageio将黑白图像读取为3d图像。 如果我使用了opencv,我会使用以下命令,因为opencv的默认值是IMREAD\u COLOR: im3d=cv2.imread(im\u路径) 这就形成了形状(1861483) 然而,由于它是黑白图像,与opencv相反,imageio默认读取二维图像。因此 im3d=imageio.imread(im\u路径) 结果在形状上(186148) 根据imageio文档,我需要添加“format”,一个带有“用于读取文件的格式”的字符串,以使

所以我想用imageio将黑白图像读取为3d图像。 如果我使用了opencv,我会使用以下命令,因为opencv的默认值是IMREAD\u COLOR:
im3d=cv2.imread(im\u路径)
这就形成了形状(1861483)

然而,由于它是黑白图像,与opencv相反,imageio默认读取二维图像。因此
im3d=imageio.imread(im\u路径)
结果在形状上(186148)

根据imageio文档,我需要添加“format”,一个带有“用于读取文件的格式”的字符串,以使imageio按照我想要的方式运行。请参阅此链接:

但这解释得太糟糕了!我经常惊讶于文档的糟糕程度。 我无法知道输入什么作为“格式”,以使imageio按我所希望的方式运行。
因此,在此方面的任何帮助都将不胜感激

按照您提供的文档链接,您可以看到左侧非常突出的导航项。例如,让我们检查一下条目,因为PNG支持单通道图像。这里有一个部分:您需要提供一个合适的枕头格式字符串,对于RGB图像,它是
'RGB'
。要使用的参数称为
pilmode
。让我们检查一下:

导入图像IO
im=imageio.imread('path/to/some/singlechannelimage.png'))
打印(im.shape)
im3d=imageio.imread('path/to/some/singlechannelimage.png',pilmode='RGB')
打印(im3d.shape)
如果我对某个单通道PNG运行该命令,我会得到:

(639379)
(639, 379, 3)
我想这就是你想要的

----------------------------------------
系统信息
----------------------------------------
平台:Windows-10-10.0.16299-SP0
Python:3.8.5
图像IO:2.9.0
----------------------------------------

按照您提供的文档链接,您可以看到左侧非常突出的导航项。例如,让我们检查一下条目,因为PNG支持单通道图像。这里有一个部分:您需要提供一个合适的枕头格式字符串,对于RGB图像,它是
'RGB'
。要使用的参数称为
pilmode
。让我们检查一下:

导入图像IO
im=imageio.imread('path/to/some/singlechannelimage.png'))
打印(im.shape)
im3d=imageio.imread('path/to/some/singlechannelimage.png',pilmode='RGB')
打印(im3d.shape)
如果我对某个单通道PNG运行该命令,我会得到:

(639379)
(639, 379, 3)
我想这就是你想要的

----------------------------------------
系统信息
----------------------------------------
平台:Windows-10-10.0.16299-SP0
Python:3.8.5
图像IO:2.9.0
----------------------------------------

图像文件的格式是什么?图像文件的格式是什么?