将 PIL.Image 转换为 skimage

Nei*_*ood 4 python opencv image-processing computer-vision scikit-image

我的项目中有 2 个模块:第一个模块以字节格式处理图像,第二个模块需要 skimage 对象。我需要将它们结合起来。

我有这个代码:

import io
from PIL import Image
import skimage.io

area = (...)
image = Image.open(io.BytesIO(image_bytes))
image = Image.crop(area)
image = skimage.io.imread(image)
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误: 在此输入图像描述

如何将图像(对象/变量)转换为 skimage?我不一定需要 PIL 图像,这只是处理字节图像的一种方法,因为我需要裁剪图像

谢谢!

Mar*_*ell 11

Scikit-image适用于存储为 Numpy 数组的图像 - 与OpenCVwand相同。所以,如果你有一个PIL Image,你可以为scikit-image创建一个 Numpy 数组,如下所示:

# Make Numpy array for scikit-image from "PIL Image"
na = np.array(YourPILImage)
Run Code Online (Sandbox Code Playgroud)

万一你想走另一条路,PIL Image从 Numpy 数组中创建一个,你可以这样做:

# Make "PIL Image" from Numpy array
pi = Image.fromarray(na)
Run Code Online (Sandbox Code Playgroud)