【发布时间】:2011-10-27 12:45:00
【问题描述】:
我正在寻找一种在 matlab 中查找 3D 图像中的形状的方法。我现在没有真正的 3D 示例图像;事实上,我的 3D 图像实际上是一组量化的 2D 图像。
下图是我想要完成的:
虽然上面的示例图是 2D 图像,但请理解我正在尝试在 3D 中进行此操作。 输入形状有这些“触手”,我必须在其中寻找不规则形状他们。触手的大小从一个点到另一个点可以变化,但以“一致和平滑”的速度变化——也就是说它一开始可能很大,然后逐渐变小。但如果突然,形状只是变大而不是逐渐变大,就像上图中的红色右下区域,那么这就是感兴趣的体积之一。请注意,这些形状更倾向于圆形和球形,但其中一些是完全任意和随机的。
到目前为止,我已经尝试了以下方法:
腐蚀 n 次并扩张 n 次:鉴于“触手”总是小于感兴趣的体积,只要体积不太小,此方法就可以工作。而且,我们需要有一种机制来处理以某种方式变成误报的触手的较粗部分。
霍夫变换:虽然我之前已经建议过这种方法(来自Segmenting circle-like shapes out of Binary Image),但我发现它适用于一些更圆的情况,但同时也适用于更困难的情况,例如不太圆润、扭曲和/或任意形状可能会通过此方法。
等值面:由于我的输入是一组 2D 量化图像,因此使用等值面可以重建 3D 图像并看得更清楚。但是,我不确定在这种情况下可以做些什么。
那么任何人都可以提出一些其他技术来从这些“触手”中分割出这种形状吗?
【问题讨论】:
-
我尝试了 imerode 并能够“侵蚀”掉留下一些小球部分的链接。虽然有一个误报(最左端)。至少,这会给你一个起点。你能多说一下图片的来源吗?也许您开始使用具有更多信息并因此更适合分割小球的东西?
-
实际上,我正在尝试在肺部 CT 扫描中分割附着在血管上的癌症。
标签: matlab image-processing shape image-segmentation