关于分水岭的文章见:
[1] Vincent L, Soille P. Watersheds in Digital Spaces : An Efficient Algorithm Based on Immersion Simulations[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence. 1991, 13(6): 583-598.
[2] Vachier C, Meyer F. The Viscous Watershed Transform[J]. Journal of Mathematical Imaging and Vision. 2005, 22(2-3): 251-267.
其中第一篇是分水岭的经典文章,opencv中的分水岭算法是基于第二篇文章改进的分水岭算法。
分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。由于分水岭对微弱的边缘也有很好的相应,所以比较容易产生过度分割。
而opencv中使用的是它的改进算法。基于先验知识得到预定义的标记,这个标记就是我们想分离的某个区域的一部分,