OpenCV笔记16 图像分割--FloodFill漫水填充算法

一、基本概念

      漫水填充算法是一种用特定的颜色填充联通区域,通过设置可链接像素的上下限以及联通方式来达到不同的填充效果的方法。漫水法经常用于标记和图像分离的一部分。

二、原理

就是从一个点开始遍历附近的像素点,填充成新的颜色,直到封闭区域内所有的像素点都被填充填充成新的颜色为止。常用的两种方法 :  4邻域、8邻域像素填充法, 基于扫描线的填充法。

三、FloodFill函数

 

int floodFill(
InputOutputArray image, //输入和输出图像
InputOutputArray mask,   // 输入的掩码图像
Point seedPoint, //算法开始处理的开始位置,  简单的说,就是选中点seedPoint,然后选取出它周围和它色彩差异不大的点,并将它们的值改为newVal。
如果被选取的点,遇到mask掩码,则放弃对该方向的蔓延填充。
Scalar newVal,  //图像中所有被算法选中的点,都用这个数值来填充
 Rect* rect=0,   // 最小包围矩阵
 Scalar loDiff=Scalar(), //最大的低亮度之间的差异
 Scalar upDiff=Scalar(),  // 最大的高亮度之间的差异
 int flags=4  //选择算法连接方式
 );

你可能感兴趣的:(opencv,C++,opencv,算法,人工智能)