改进:
在 O p e n C v OpenCvOpenCv 中算法不从最小值开始增长,可以将相对较高的灰度值像素作为起始点(必要用户手动标记),从标记处开始举行淹没,则很多小地区都会被合并为一个地区,这被称为基于图像标(mark)的分水岭算法。此中标记的每个点就相当于分水岭中的注水点,从这些点开始注水使得水平面上升。手动标记太麻烦,我们可是使用间隔转换(cv2.distanceTransform函数)的方法举行标记。cv2.distanceTransform计算的是图像内非零值像素点到最近的零值像素点的间隔,即计算二值图像中全部像素点间隔其最近的值为 0 的像素点的间隔。当然,如果像素点本身的值为 0,则这个间隔也为 0。
主要函数