将 PIL.Image 转换为 skimage

Converting PIL.Image to skimage

我的项目中有 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)

但是我得到这个错误:

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

谢谢!

Scikit-image 适用于存储为 Numpy 数组的图像 - 与 OpenCVwand[=22= 相同].所以,如果你有一个 PIL Image,你可以像这样为 scikit-image 创建一个 Numpy 数组:

# Make Numpy array for scikit-image from "PIL Image"
na = np.array(YourPILImage)

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

# Make "PIL Image" from Numpy array
pi = Image.fromarray(na)