我正在使用sci-kit image来获取分割图像的"regionprops“。然后,我希望将每个段标签替换为其相应的统计数据(例如,偏心率)。
from skimage import segmentation
from skimage.measure import regionprops
#a segmented image
labels = segmentation.slic(img1, compactness=10, n_segments=200)
propimage = labels
#props loop
for region in regionprops(labels1, properties ='eccentricity') :
eccentricity = region.eccentricity
propimage[propimage==region] = eccentricity这将运行,但propimage值不会从其原始标签更改
我也尝试过:
for i in range(0,max(labels)):
prop = regions[i].eccentricity #the way to cal a single prop
propimage[i]= prop这就产生了这个错误ValueError:包含多个元素的数组的真值是不明确的。使用a.any()或a.all()
我是最近从matlab迁移过来的,我在那里实现了这一点,但使用的数据结构完全不同。
有人能帮我这个忙吗?
谢谢
发布于 2015-08-19 20:03:26
使用ndimage from scipy : sum()函数可以使用您的标签数组进行操作。
from scipy import ndimage as nd
sizes = nd.sum(label_file[0]>0, labels=label_file[0], index=np.arange(0,label_file[1])然后,您可以使用numpy.histogram等工具评估该发行版。
https://stackoverflow.com/questions/25409955
复制相似问题