【发布时间】:2012-11-04 09:03:50
【问题描述】:
我无法正确分割灰度图像:
基本事实,即我希望分割的样子是这样的:
我最感兴趣的是圈内的三个组成部分。因此,如您所见,我想将顶部图像分割成三个部分:两个半圆和它们之间的一个矩形。
我尝试了膨胀、腐蚀和重建的各种组合,以及各种聚类算法,包括 k-means、isodata 和高斯混合——所有这些都取得了不同程度的成功。
任何建议将不胜感激。
编辑:这是我能够获得的最佳结果。这是使用活动轮廓分割圆形 ROI,然后应用 isodata 聚类获得的:
这样做有两个问题:
- 右下角星团周围的白色光晕,属于左上角星团
- 右上和左下星团周围的灰色光晕,属于中心星团。
【问题讨论】:
-
看起来你有一个三模态直方图。在 dsp.stackexchange.com -> dsp.stackexchange.com/questions/3643/… 上查看我的答案。在任何情况下,您的问题都应该移至该网站。
-
我尝试过基于直方图的分割。这种方法的问题在于,最右边簇周围的像素值与最左边簇的像素最相似,导致最右边簇周围出现“光晕”。
-
您尝试过 bwboundaries 或 bwlabel 吗?他们可能会为你工作。但如果光环效应太大,你可能得不到你想要的结果。尽管如此,通过前后的一些操作和清洁,你可能会得到你想要的。使用hough circles 之类的方法或this one 之类的其他方法也可能会有所帮助,以便您了解圈子的范围。
-
我本来应该提到这一点,但我使用活动轮廓来分割圆形 ROI。我已经用结果图片更新了我的问题。我不确定 bwboundaries 和 bwlabel 在这里有什么帮助,因为它们需要二进制图像。
标签: matlab image-processing image-segmentation morphological-analysis mathematical-morphology