漫水填充算法 - cvFloodFill() 实现

前言

  漫水填充算法是用来标记一片区域的:设置一个种子点,然后种子点附近的相似点都被填充同一种颜色。

  该算法应用性很广,比如目标识别,photoshop 的魔术棒功能等等,是填充类算法中应用最为广泛的一个算法。

漫水填充算法函数 - cvFloodFill()

  函数原型:

 void cvFloodFill (
IplImage * img,  // 输入图像
CvPoint seedPoint, // 种子点
CvScalar newVal,    // 像素点被染色的值
CvScalar loDiff = cvScalarAll(), // 染色边界判定
CvScalar upDiff = cvScalarAll(), // 染色边界判定
CvConnectedComp * comp = NULL, // 填充区域统计属性
int flags = , // 连通性,相关性等参数设置。
CvArr * mask = NULL // 掩码区域
);

  参数特别说明:

  1. 掩码参数 mask 必须是一个单通道,8位,像素宽度高度均比原图像大两个像素。mask 图像的像素 (x+1, y+1) 与原图像 (x, y) 相对应。为 0 的位表示不进行处理。同时,掩码区也会返回填充结果。

  2. flags 参数提供更为强大的填充配置信息,详见相关资料。

运行结果

  漫水填充算法 - cvFloodFill() 实现

小结

  常用的一个填充算法。

上一篇:轻松使用zstd来解压缩


下一篇:HNUST-C语言课程设计 完成质量测试记录·