如何在二值化血管图像中平滑边缘。
我尝试了一种与这种方法有些相似的方法,但并没有得到我期望的结果。
这是代码:
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中如何实现?