python-3.x 属性错误:模块“skimage.measure”没有属性“marching_cubes”

sq1bmfud  于 2023-05-23  发布在  Python
关注(0)|答案(5)|浏览(663)

当我执行一段从网上找到的代码时,它会给我“AttributeError:模块'skimage.measure'没有属性'marching_cubes'“。你有办法解决吗
执行的代码段:

from skimage import measure
def make_mesh(image, threshold=+30, step_size=1):
 print "Transposing surface"

p = image.transpose(2, 1, 0)

print "Calculating surface"
verts, faces, norm, val = measure.marching_cubes(p, threshold, step_size=step_size, allow_degenerate=True)
return verts, faces
ttygqcqt

ttygqcqt1#

在新版本中,有两个方法marching_cubes_lewinermarching_cubes_classic。但是classic不带step_size参数。你可以试试这个:

measure.marching_cubes_lewiner(p, threshold, step_size=step_size, allow_degenerate=True)
vmpqdwk3

vmpqdwk32#

我使用marching_cubes_lewiner函数来解决这个问题。请参考以下代码行。

print("Calculating surface")
verts, faces, norm, val = measure.marching_cubes_lewiner(p, threshold, step_size=step_size, allow_degenerate=True)
return verts, faces
jexiocij

jexiocij3#

可以使用marching_cubes_classic(p,threshold)

3bygqnnd

3bygqnnd4#

在0.19版本中,只有marching_cubes方法。因此,尝试将marching_cube_lewiner更改为marching_cubes,并注意参数。
参考:
https://scikit-image.org/docs/dev/api/skimage.measure.html#skimage.measure.marching_cubes_lewiner

4c8rllxm

4c8rllxm5#

由于scikit-image版本太旧,请更换0.16以上版本解决。
pip uninstall scikit-image pip install scikit-image==0.17.1

相关问题