我正在使用Python和C++对医学图像(特别是CT扫描)进行分割。我已经成功地通过阈值处理、区域生长和形态学运算的组合消除了骨头、空气和脂肪。但是,由于重要器官和肌肉具有非常相似的强度,并且经常相邻,因此留下了一个主要问题:分割这两者。
例如,在下面的图像中,可以看到一块肠子与腹壁肌肉相邻:
[图片]
所需的分割结果如下所示:
[图片]
另一种可接受的分割结果如下所示:
[图片]
我的问题是:我应该使用什么分割算法来实现其中一个期望的分割结果?到目前为止,我尝试过:
- 阈值处理:由于两个区域在强度上太相似而无法工作。 - 区域生长:由于要分割的区域“连接”在一起,所以无法工作。 - Canny滤波器:在较大的sigma值下无法找到边缘,在较小的sigma值下会出现断开的边缘。 - 分水岭变换:导致过度分割的图像。没有明确的合并区域的标准。 - 主动轮廓:无法找到两个对象之间的适当边界。
欢迎提供任何指针。
阈值处理滤波器
[图片]
Canny滤波器
[图片]
分水岭变换
[图片]
例如,在下面的图像中,可以看到一块肠子与腹壁肌肉相邻:
[图片]
所需的分割结果如下所示:
[图片]
另一种可接受的分割结果如下所示:
[图片]
我的问题是:我应该使用什么分割算法来实现其中一个期望的分割结果?到目前为止,我尝试过:
- 阈值处理:由于两个区域在强度上太相似而无法工作。 - 区域生长:由于要分割的区域“连接”在一起,所以无法工作。 - Canny滤波器:在较大的sigma值下无法找到边缘,在较小的sigma值下会出现断开的边缘。 - 分水岭变换:导致过度分割的图像。没有明确的合并区域的标准。 - 主动轮廓:无法找到两个对象之间的适当边界。
欢迎提供任何指针。
阈值处理滤波器
[图片]
Canny滤波器
[图片]
分水岭变换
[图片]