我有一个二进制图像。二值图像有一些孤立的区域,如噪声。我知道预期区域比这些孤立区域大得多。因此,我使用连接组件通过找到最大的连接区域来移除隔离区域。我必须使用 scipy 包。我发现它有一些功能可以做到这一点。然而,我的结果仍然遥遥无期。如何使用这些函数获得可以忽略孤立区域的二值图像?谢谢
from scipy import ndimage
label_im, nb_labels = ndimage.label(binary_img)
# Find the largest connected component
sizes = ndimage.sum(binary_img, label_im, range(nb_labels + 1))
mask_size = sizes < 1000
remove_pixel = mask_size[label_im]
label_im[remove_pixel] = 0
labels = np.unique(label_im)
binary_img= np.searchsorted(labels, label_im)
#Select the biggest connected component
binary_img[binary_img < binary_img.max()]=0
binary_img[binary_img >= binary_img.max()]=1