我正在尝试分离连接的对象。似乎 Python 和分水岭算法(scipy 实现)非常适合处理这个问题。
这是我的图像和自动生成的分水岭种子点(阈值化和距离变换图像的局部最大值):
seeds = myGenSeeds( image_grey )
到目前为止,一切都很好; 每个对象都有一个种子。
但是,当我运行分水岭时,事情就崩溃了:
segmented = ndimage.measurements.watershed_ift( 255 - image_grey, seeds)`
中上层簇和中心簇都分离得很差。在顶部集群中,一个物体淹没在另外两个周围。在中心集群中,虽然它可能太小而无法在这里看到,但中心种子只能泛滥到几个像素。
我有两个问题:
- 分水岭算法是这样分离对象的好选择吗?
- 如果是这样,我是否需要进行某种预处理以使图像更适合分水岭分割?