Сглаживание границ двоичного изображения

Как сгладить края этого бинарного изображения кровеносных сосудов, полученных после установления порога.

enter image description here

Я попробовал метод, несколько похожий на этот метод , но не совсем получил ожидаемый результат.

enter image description here

Вот код:

import cv2
import numpy as np

INPUT = cv2.imread('so-br-in.png',0)
MASK = np.array(INPUT/255.0, dtype='float32')

MASK = cv2.GaussianBlur(MASK, (5,5), 11)
BG = np.ones([INPUT.shape[0], INPUT.shape[1], 1], dtype='uint8')*255

OUT_F = np.ones([INPUT.shape[0], INPUT.shape[1], 1],dtype='uint8')

for r in range(INPUT.shape[0]):
    for c in range(INPUT.shape[1]):
        OUT_F[r][c]  = int(BG[r][c]*(MASK[r][c]) + INPUT[r][c]*(1-MASK[r][c]))

cv2.imwrite('brain-out.png', OUT_F)  

Что можно сделать, чтобы улучшить сглаживание этих резких краев?

РЕДАКТИРОВАТЬ

Я хотел бы сгладить края примерно как http://pscs5.tumblr.com/post/60284570543 . Как это сделать в OpenCV?

13
задан TylerH 21 August 2019 в 23:39
поделиться