分水岭理解:
1.分水岭介绍
传统的分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是地质学上的拓扑地貌,图像中每一像素的灰度值表示该点的海拔高度,每一个局部极小值及其周边区域称为集水盆地,而集水盆地的边界则形成分水岭。
2.相关概念
局部极小值点:该点对应一个盆地的最低点,当我们在盆地里滴一滴水的时候,由于重力作用,水最终会汇聚到该点。注意:可能存在一个最小值面,该平面内的都是最小值点。
3.分水岭原理
假设我们在盆地的最小值点,打一个洞,然后往盆地里面注水,并阻止两个盆地的水汇集,我们会在两个盆地的水汇集的时刻,在交接的边缘线上(也即分水岭线),建一个坝,来阻止两个盆地的水汇集成一片水域。这样图像就被分成2个像素集,一个是注水盆地像素集,一个是分水岭线像素集。
在HDevelop中
dev_close_window () read_image (image, 'D:/bb/tu/8.jpg') get_image_size (image, Width, Height) dev_open_window (0, 0, Width, Height, 'black', WindowID) dev_set_colored (12) *高斯滤波 *gauss_filter (image, ImageGauss, 9) *图像反选 *invert_image (ImageGauss, ImageInvert) watersheds (image, Basins, Watersheds) *从图像里提取分水岭和盆地 *第一个输入参数:输入图像 *第二个输出参数:分割后的盆地区域 *第三个输出参数:分割后的分水岭区域 dev_open_window (0, 0, Width, Height, 'black', WindowID) dev_display (Basins) dev_open_window (0, 100, Width, Height, 'black', WindowID1) dev_display (Watersheds)