将图像背景设置为 0 - Skimage

Set background of image to 0 - Skimage

我正在使用 Skimage v0.14

我想对这段代码做逆运算

image[leaf_cleaned] = 0

这里我将遮蔽区域设置为0,我真正想要的是除遮蔽区域之外的所有内容都为0,或任何数字。

这是我的其余代码:

image = imread('')

grey_image = rgb2grey(image)
entireLeaf = feature.canny(grey_image) 

blurred = filters.gaussian(entireLeaf, sigma=0.4)  


fillleaf = ndi.binary_fill_holes(blurred) 

label_objects, nb_labels = ndi.label(fillleaf) 
sizes = np.bincount(label_objects.ravel()) 
mask_sizes = sizes > 100000             
mask_sizes[0] = 0
leaf_cleaned = mask_sizes[label_objects]

如果 leaf_cleaned 是 boolean-array like used for masks,你可以这样做:

image[~leaf_cleaned] = 0

在 numpy 的 boolean-indexing docs.

之后

请记住,sklearn 很大程度上基于 numpy!所以 numpy 的文档通常是相关的!