我正在尝试分离连接的对象。似乎Python和分水岭算法(scipy实现)很适合处理这个问题。
这是我的图片以及自动生成的分水岭种子点(阈值化和距离变换图像的局部最大值):
seeds = myGenSeeds( image_grey )
到目前为止,每个对象都有一个种子,一切都很顺利。
然而,当我运行分水岭时,问题就出现了:
segmented = ndimage.measurements.watershed_ift( 255 - image_grey, seeds)`
顶部中间的簇和中心簇都未分离。在顶部簇中,一个对象围绕其他两个对象浸泡。在中心簇中,虽然可能在这里看起来太小,但中心种子只覆盖了少量像素。
我有两个问题:
- 分水岭算法是否是分离这样的对象的好选择?
- 如果是,请问我需要进行某种预处理才能使图像更适合分水岭分割?