首页 文章

从图像中分割相似强度的对象

提问于
浏览
2

我正在研究Python和C中医学图像(特别是CT扫描)的分割 . 我已经成功地使用阈值处理,区域生长和形态学运算符从切片中成功地消除了骨骼,空气和脂肪 . 剩下的主要问题是从肌肉分割重要器官,因为它们具有非常相似的强度并且经常彼此邻接 .

例如,在下图中,可以看到一块肠与腹壁肌肉相邻:

enter image description here

所需的分割结果如下:

enter image description here

另一个可接受的细分如下:

enter image description here

我的问题是:我应该使用什么样的分割算法来实现所需的分割结果?到目前为止,我尝试过:

  • 阈值处理:不起作用,因为这两个区域的强度太相似了 .

  • 区域增长:不起作用,因为要分割的区域是"connected" .

  • Canny过滤器:无法在sigma的较大值处找到边缘,在较低的sigma值处断开连接的边缘 .

  • 分水岭变换:导致严重过度分割的图像 . 合并区域没有明确的标准 .

  • 活动轮廓:无法在两个对象之间找到合适的边界 .

任何指针都表示赞赏 .


Thresholding filter

enter image description here

Canny filter

enter image description here

Watershed transform

enter image description here

1 回答

  • 1

    我认为提取这些对象之间的边缘可以解决问题 . 由于可以看到图像上的边缘并且因此对于人类来说是不可用的,因此在尝试任何其他算法之前,我会尝试应用 high-pass filter/gradient detection 以锐化边缘作为预处理步骤 . 之后可能会有一些 dilation/erosion 关闭对象的边缘或删除不必要的垃圾和 flood fill 作为下一步将完成工作 .

    另一个选项是 Hough transform - 它可能能够提取该边缘,因为它能够提取细微的特征(例如Mathworks:http://www.mathworks.com/help/images/detect-lines-in-images.html) .

    您还可以尝试将图像划分为 subsets (正方形)并基于其包含的像素的灰度级(例如,平均灰度级)计算每个子集的系数 . 由于其中一个对象整体上比另一个略轻,因此可能有效 - 这两个对象在本地相似,但全局不同 . 您必须使用子集大小以及阈值(即系数值) .

    编辑:我've just seen the images you'已上传 . 是不是有些 dilation ,之后 erosionCanny with sigma = 1 的结果执行了解决问题?它会关闭边缘,从而分离物体 - 它不会100%准确,但会将这两个区域分开,或多或少地保持形状 .

相关问题