2017-11-22 11 views
0

私はpython 2.7.13で画像処理の例を調べています。コードは import skimage.morphology as morphであり、その後にはlm1 = morph.is_local_maximum(fimg)という行があります。画像処理コードでskimage.morphologyを使用しようとしましたが、エラーメッセージが表示される

File "2dlocalmaxima.py", line 29, in <module> 
    lm1 = morph.is_local_maximum(fimg) 
AttributeError: 'module' object has no attribute 'is_local_maximum'. 

私はこれを検索し、このモジュールの多くのインスタンスが使用されていることを確認しました。私はこれが廃止されたという事例は見つかっていない。私は何か間違っているのですか?私はPython 2.7.13と3.6で動作しようとしました。どちらも同じエラーメッセージを表示します。

ブックからの総コードは次のとおりです。

import numpy as np 
import matplotlib.pyplot as mpl 
import scipy.ndimage as ndimage 
import skimage.morphology as morph 

# Generating data points with a non-uniform background 
x = np.random.uniform(low=0, high=200, size=20).astype(int) 
y = np.random.uniform(low=0, high=400, size=20).astype(int) 

# Creating image with non-uniform background 
func = lambda x, y: np.cos(x)+ np.sin(y) 
grid_x, grid_y = np.mgrid[0:12:200j, 0:24:400j] 
bkg = func(grid_x, grid_y) 
bkg = bkg/np.max(bkg) 

# Creating points 
clean = np.zeros((200,400)) 
clean[(x,y)] += 5 
clean = ndimage.gaussian_filter(clean, 3) 
clean = clean/np.max(clean) 

# Combining both the non-uniform background 
# and points 
fimg = bkg + clean 
fimg = fimg/np.max(fimg) 

# Calculating local maxima 
lm1 = morph.is_local_maximum(fimg) 
x1, y1 = np.where(lm1.T == True) 

# Creating figure to show local maximum detection 
# rate success 
fig = mpl.figure(figsize=(8, 4)) 

ax = fig.add_subplot(111) 
ax.imshow(fimg) 
ax.scatter(x1, y1, s=100, facecolor='none', edgecolor='#009999') 
ax.set_xlim(0,400) 
ax.set_ylim(0,200) 
ax.xaxis.set_visible(False) 
ax.yaxis.set_visible(False) 

fig.savefig('scikit_image_f02.pdf', bbox_inches='tight') 
+0

使用しているSciKit-Imageのバージョンは何ですか? –

+0

どのバージョンをどのように伝えますか? – jmh

+0

私は 'pip install scikit-image'を実行しましたが、実行は完了しましたが、結果は同じです。私はどちらのバージョンを知ることができませんでした。 – jmh

答えて

0

異なるファイルを通して検索した後、私はモジュールis_local_maximumは、その名前がlocal_maximaに変更されたと判断しました。私のコードは完了し、その置換が行われたときに期待される結果が得られました。

関連する問題