ValueError:图像不是数字,而是ndarray



我正在尝试保存sci-kit映像,但是我遇到了错误:

valueerror:图像不是数字,而是ndarray。

代码:

from skimage import *
import skimage.io
import skimage.morphology as morphology
def loadImage(f):
    return skimage.img_as_float(skimage.io.imread(f))
img = img_as_bool(loadImage("images/metric_map_processed.PNG"))
imgSk = morphology.medial_axis(img)
skimage.io.imsave("medial.png", imgSk)

根据文档,通过数组中的传递应该是ndarray,所以我为什么会遇到错误?

刚刚意识到我的图像正在转换为二进制

更换

skimage.io.imsave("medial.png", imgSk)

skimage.io.imsave("medial.png", img_as_uint(imgSk))

为我工作

问题是 png中的像素类型为uint8。当您应用img_as_bool时,您会获得布尔数组。这种类型的不匹配会产生错误。

您需要将其转换为uint8。如建议Alex使用img_as_uint功能。

最新更新