lorsque j'exécute un code que j'ai trouvé sur le Web, il me donne "AttributeError: le module 'skimage.measure' n'a pas d'attribut 'marching_cubes'". Avez-vous une idée pour résoudre ce problème?
Segment de code exécuté:
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
3 Réponses :
J'ai utilisé le fonction marching_cubes_lewiner
pour résoudre le problème. Veuillez vous référer à la ligne de code suivante.
print("Calculating surface") verts, faces, norm, val = measure.marching_cubes_lewiner(p, threshold, step_size=step_size, allow_degenerate=True) return verts, faces
Cette réponse serait beaucoup plus utile si elle incluait une explication de comment la fonction marching_cube_lewiner
a résolu le problème. Peut-être aussi un exemple de code?
Réponse mise à jour en conséquence
Dans la nouvelle version, il existe deux méthodes marching_cubes_lewiner et marching_cubes_classic. Mais classic ne prend pas le paramètre step_size. Vous pouvez essayer ceci. mesure.marching_cubes_lewiner (p, seuil, step_size = step_size, allow_degenerate = True)
Vous pouvez utiliser marching_cubes_classic (p, seuil)
Imprimez simplement
dir (mesure)