以下代码给出了标题中出现的错误:
from skimage.feature import peak_local_max
local_maxi = peak_local_max(imd,labels=iml,
indices=False,num_peaks_per_label=2)
imd
是"距离变换后的图像"这是通过以下方式获得的:
from scipy import ndimage
imd = ndimage.distance_transform_edt(im)
im
是输入二进制图像,我希望稍后使用scikit-image的分水岭功能进行分段。但要正确使用此功能,我首先需要找到将作为起始泛点的标记:这是我尝试使用' peak_local_max'功能
另外,iml
是im
的标签版本,我加入了:
from skimage.measure import label
iml = label(im)
我不知道自己做错了什么。另外,我注意到,该函数似乎完全忽略了它的num_peaks
参数。例如,当我这样做时:
local_maxi = peak_local_max(imd,labels=iml,
indices=True,num_peaks=1)
我总是检测到与设置num_peaks=500
或num_peaks=np.inf
时相同的峰值数。我在这里想念的是什么?
答案 0 :(得分:0)
正如@a_guest指出的那样,我的skimage
版本与我所指的文档版本不匹配。 num_peaks_per_label
参数目前仅在v0.13dev版本中可用。将我的版本更新到开发版本也修复了num_peaks
参数的问题。