【问题标题】:Having used Kirsch's filter for segmentation of blood vessels, I want to remove an unwanted part使用 Kirsch 过滤器进行血管分割后,我想删除不需要的部分
【发布时间】:2016-04-20 18:42:13
【问题描述】:

我使用 Kirsch 的过滤器获得了以下结果,但我想删除我用下面的红色箭头指出的圆形检测(实际上不是血管):

如何去除不是血管的圆形检测?这是当前分段的代码:

h1 = np.array([[5, -3, -3], [5, 0, -3], [5, -3, -3]], dtype=np.float32)/ 15
h2 = np.array([[-3, -3, 5], [-3, 0, 5], [-3, -3, 5]], dtype=np.float32) / 15
h3 = np.array([[-3, -3, -3], [5, 0, -3], [5, 5, -3]], dtype=np.float32) / 15
h4 = np.array([[-3, 5, 5], [-3, 0, 5], [-3, -3, -3]], dtype=np.float32) / 15
h5 = np.array([[-3, -3, -3], [-3, 0, -3], [5, 5, 5]], dtype=np.float32) / 15
h6 = np.array([[5, 5, 5], [-3, 0, -3], [-3, -3, -3]], dtype=np.float32) / 15
h7 = np.array([[-3, -3, -3], [-3, 0, 5], [-3, 5, 5]], dtype=np.float32) / 15
h8 = np.array([[5, 5, -3], [5, 0, -3], [-3, -3, -3]], dtype=np.float32) / 15

我想要的结果是这样的(注意这个分割是不同的图像):

【问题讨论】:

  • 您可以尝试使用 houghcircles(用于检测和去除圆形边界)

标签: python image opencv image-processing


【解决方案1】:

我会尝试对第一张图像进行阈值处理(普通的 Otsu 方法可能就足够了)并只选择那些在两张图像上都可见的对象。这个圆圈很亮,而静脉 (?) 很暗。

【讨论】:

  • 阈值不会只给我圆圈吗?我只需要容器。
  • 这取决于阈值,您可能会找到仅显示暗部分的阈值或阈值算法。出于好奇:您是否尝试过对这些图片进行 Sauvola 阈值处理?在我看来,带有大面具的 Sauvola 可能适用于这种类型的图像。
猜你喜欢
  • 2020-10-16
  • 1970-01-01
  • 2016-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多