使用OpenCV和Python进行岭检测早产眼底图像的视网膜病变

时间:2018-11-24 16:46:43

标签: opencv

enter image description here

嗨。我试图从分隔视网膜中间的眼底图像中找到分界线/脊。在早产儿视网膜病变的婴儿中,该分界线/脊线出现在正常血管和异常血管之间。我试图在OpenCV中使用RidgeDetection代码,但这些代码可以识别所有的脊。我只想提取您在图像中间看到的行

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
f.add_subplot(4,3,5)
plt.imshow(gray, cmap = 'gray')

# Identifying the Ridge
ridge_filter = cv2.ximgproc.RidgeDetectionFilter_create()
ridges = ridge_filter.getRidgeFilteredImage(img)

在另一个博客中,有人提到

from skimage.features import hessian_matrix, hessian_matrix_eigvals
def detect_ridges(gray, sigma=3.0):
    hxx, hyy, hxy = hessian_matrix(gray, sigma)
    i1, i2 = hessian_matrix_eigvals(hxx, hxy, hyy)
    return i1, i2

但是,这也不起作用。您能否建议代码和方法?

1 个答案:

答案 0 :(得分:0)

非常酷的调查领域。看来ML训练过度了。您可能会很幸运,并且选择了正确的组合,但是您永远不会真正知道它是否对整个人群都有效。

这听起来很无聊,但您是否可以进行任何更改,以获得大量经过验证的视网膜病变图像数据集和相等数量的健康婴儿?我将寻求一种监督学习的方法来建立新的决策边界。在这种情况下,它是SciKit-learn的直接实现。

我认为这里的“岭”在技术上是有含义的,与岭分析无关。