我正在研究Python和C ++中医学图像(特别是CT扫描)的分割。我已经成功地使用阈值处理,区域生长和形态学操作来从切片中成功地消除骨骼,空气和脂肪。剩下的主要问题是从肌肉分割重要器官,因为它们具有非常相似的强度并且经常彼此邻接。
例如,在下图中,看到一块肠与腹壁肌肉相邻:
所需的细分结果如下:
另一个可接受的细分如下:
我的问题是:我应该使用哪种分割算法来实现所需的分割结果?到目前为止,我已经尝试过:
任何指针都表示赞赏。
阈值过滤器
Canny过滤器
分水岭转换
答案 0 :(得分:1)
我认为提取这些对象之间的边缘可以解决问题。由于可以看到图像上的边缘,因此对人类来说是难以辨认的,我会尝试应用高通滤镜/渐变检测,以便在尝试之前将边缘锐化为预处理步骤任何其他算法。之后可能会有一些膨胀/侵蚀关闭对象的边缘或删除不必要的垃圾和泛滥填充,下一步就可以完成工作。
另一种选择是 Hough变换 - 它可能能够提取该边缘,因为它能够提取细微的特征(例如Mathworks:http://www.mathworks.com/help/images/detect-lines-in-images.html)。
您还可以尝试阈值变化 - 将图像划分为子集(正方形),并根据像素的灰度级计算每个子集的系数包含(例如平均灰度级)。由于其中一个对象整体上比另一个略轻,因此可能有效 - 这两个对象在本地相似,但全局不同。您必须使用子集大小以及阈值(即系数值)。
编辑:我刚刚看到你上传的图片。在 Canny with sigma = 1 的结果上执行扩张以及侵蚀会不会解决问题?它会关闭边缘,从而分离物体 - 它不会100%准确,但会将这两个区域分开,或多或少地保持形状。