OpenCV实战——基于分水岭算法的图像分割

OpenCV实战——基于分水岭算法的图像分割

0. 前言

分水岭变换是一种流行的图像处理算法,用于快速将图像分割成同质区域。分水岭变换主要基于以下思想:当图像被视为拓扑浮雕时,均质区域对应于相对平坦且由陡峭的边缘界定的盆地。算法的原始版本倾向于过度分割图像,从而产生多个小区域,因此 OpenCV 中实现了该算法的改进版本,通过使用一组预定义的标记来指导图像分割区域的定义。

1. 分水岭算法

分水岭分割可以通过使用 cv::watershed 函数实现,函数的输入是一个 32 位有符号整数标记图像,其中每个非零像素表示一个标签。
通过标记图像中已知属于给定区域的一些像素,利用初始标记,分水岭算法可以确定其他像素所属的区域。

(1) 首先,将标记图像读取为灰度图像,然后将其转换为整数类型:

class WatershedSegmentater 

猜你喜欢

转载自blog.csdn.net/LOVEmy134611/article/details/128762211