- Двоичный контур некоторой структуры ().
Код: Выделить всё
outline - Некоторые поверхности внутри этой структуры ().
Код: Выделить всё
surface
[*]сделал копию поверхности и расширил ее в 10 раз
[*]объединил нерасширенная исходная поверхность и контур
[*]запустите ndi.binary_closing с расширенной поверхностью в качестве маски
< /ol>
Код: Выделить всё
outline = ...
surface = ...
merged = np.logical_or(outline, surface)
dilated_surface = ndimage.binary_dilation(surface, iterations=10)
merged = ndimage.binary_closing(merged, mask=dilated_surface)
Я знаю, что вместо этого можно сделать:
Код: Выделить всё
closed = ndi.binary_closing(merged)
merged[neighborhood_mask] = closed[neighborhood_mask]
Вот результаты:

И есть только объединенное изображение вместе с поверхностью:


Подробнее здесь: https://stackoverflow.com/questions/787 ... ry-closing