Проблема с маркировкой скимейджа Python: удалить / игнорировать небольшое соединение между двумя объектами
Я работаю над обработкой и анализом изображений, используя обычные методы в Python для 3D-изображений dicom. В настоящее время используется только skimage. Из-за совместимости типов данных я бы предпочел решить эту проблему с помощью библиотеки skimage.
Я хочу отделить кучу мышц от окружающих желез. Поскольку HU(индекс изображения) одинаков в обоих регионах, простое определение порога не работает. В настоящее время я пытаюсь сегментировать его, применяя открытие и маркировку двух объектов на основе связи. Однако существует небольшая связь между мышцами и железами из-за низкого разрешения изображения (см. Здесь). Вы знаете, как исключить крошечную связь между ними? Пока что я написал код..
**thM
u = -90
temp = img>thMu
i = range(4)
for ii in i:
temp = morphology.binary_erosion(temp)
for ii in i:
temp = morphology.binary_dilation(temp)
labtemp=measure.label(temp,neighbors=4,connectivity=1)
fig,ax = plt.subplots(1,2,figsize=[16,16])
ax[0].imshow(img[0],cmap='gray')
ax[1].imshow(labtemp[0])
plt.show()**
Пример изображения - это один из фрагментов трехмерного изображения. Подключение может быть в этом или другом слайсе. Поскольку маркировка выполняется на трехмерном изображении, два объекта могут быть соединены, хотя в этом срезе нет прямой связи.