Skimage.io.read imread 一个 PIL 对象

Skimage.io.read imread a PIL Object

所以我正在使用 skimage 进行一些图像预处理(我对它很陌生)。我有一个 PIL 图像对象,想用 skimage.io.imread() 转换为 skimage 图像。我知道我可以只保存图像然后 运行 imread 在该文件上,但我想知道是否有一种方法可以从代码本身读取 PIL Image 对象。我尝试 运行 imread PIL Image 对象本身,但我最终得到了错误。

OSError: Cannot understand given URI: <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=192....

任何人都知道我如何在 skimage 中解决这个问题。

Scikit-Image 将图像存储为 Numpy 数组,因此您只需要从 PIL Image 创建一个 Numpy 数组:

ImageForScikit = np.array(YourPILImage)

您可以查看 imageio documentation related to the function imread 在您的代码中包含属性格式和代码,以防图像格式为 PNG:imageio.imread(filename, format = 'PNG')