Rellenar agujeros en objetos que tocan el borde de una imagen

Estoy tratando de llenar los agujeros en la imagen de abajo.

imagen a rellenar

Cuando uso binary_fill_holes () de SciPy, generalmente tengo éxito, con la excepción de los objetos que tocan el borde de la imagen.

introduzca la descripción de la imagen aquí

¿Existen funciones de Python existentes que puedan rellenar agujeros en objetos que tocan el borde? Intenté agregar un borde blanco alrededor de la imagen, pero eso solo resultó en el relleno de toda la imagen.

Esto supone que hay más antecedentes que otras cosas. Básicamente realiza un análisis de componentes conectados en la imagen. Extraiga el componente más grande (se supone que es el fondo) y establece todo lo demás en blanco.

import numpy as np import matplotlib.pyplot as plt import skimage.morphology, skimage.data img = skimage.data.imread('j1ESv.png', 1) labels = skimage.morphology.label(img) labelCount = np.bincount(labels.ravel()) background = np.argmax(labelCount) img[labels != background] = 255 plt.imshow(img, cmap=plt.cm.gray) plt.show() 

introduzca la descripción de la imagen aquí