📌  相关文章
📜  AttributeError: 模块 'skimage' 没有属性 'segmentation' - Python (1)

📅  最后修改于: 2023-12-03 14:59:25.131000             🧑  作者: Mango

介绍

在Python中使用skimage库中的segmentation属性时,可能会遇到AttributeError错误,提示该模块没有该属性。这个错误是因为目前的skimage版本已经将segmentation属性移除了,而有些代码可能还在使用这个属性,所以就会报错。

解决方法

有两种解决方法:

  1. 升级skimage版本到最新:新版本的skimage已经移除了segmentation属性,如果直接升级到最新版本应该就不会再出现这个错误了。

  2. 使用skimage库中的其他属性:可以尝试使用其他的属性或者函数来代替segmentation属性来达到相同的效果。

下面给出使用skimage库中的felzenszwalb函数来进行图像分割的例子:

from skimage.segmentation import felzenszwalb
import matplotlib.pyplot as plt
from skimage.util import img_as_float
from skimage import io

#读取图片
image = io.imread('test.jpg')
image = img_as_float(image)

#使用felzenszwalb函数进行图像分割
segments = felzenszwalb(image, scale=100, sigma=0.5, min_size=50)

#显示分割结果
fig, ax = plt.subplots()
ax.imshow(mark_boundaries(image, segments))
plt.show()
结论

在Python中使用skimage库中的segmentation属性时,可能会报AttributeError错误,解决方法有两种:升级skimage版本到最新或使用其他属性或者函数来代替segmentation属性。