首页 > 代码库 > 漫水填充算法 - cvFloodFill() 实现
漫水填充算法 - cvFloodFill() 实现
前言
漫水填充算法是用来标记一片区域的:设置一个种子点,然后种子点附近的相似点都被填充同一种颜色。
该算法应用性很广,比如目标识别,photoshop 的魔术棒功能等等,是填充类算法中应用最为广泛的一个算法。
漫水填充算法函数 - cvFloodFill()
函数原型:
1 void cvFloodFill ( 2 IplImage * img, // 输入图像 3 CvPoint seedPoint, // 种子点 4 CvScalar newVal, // 像素点被染色的值 5 CvScalar loDiff = cvScalarAll(0), // 染色边界判定 6 CvScalar upDiff = cvScalarAll(0), // 染色边界判定 7 CvConnectedComp * comp = NULL, // 填充区域统计属性 8 int flags = 4, // 连通性,相关性等参数设置。 9 CvArr * mask = NULL // 掩码区域10 );
参数特别说明:
1. 掩码参数 mask 必须是一个单通道,8位,像素宽度高度均比原图像大两个像素。mask 图像的像素 (x+1, y+1) 与原图像 (x, y) 相对应。为 0 的位表示不进行处理。同时,掩码区也会返回填充结果。
2. flags 参数提供更为强大的填充配置信息,详见相关资料。
运行结果
小结
常用的一个填充算法。
漫水填充算法 - cvFloodFill() 实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。