漫水填充算法
来源:互联网 发布:php网站源码带数据库 编辑:程序博客网 时间:2024/04/30 03:16
漫水填充算法是填充算法中最通用的算法。所谓漫水填充算法,是给定一个联通域内的一个点,以此为起点找到这个联通域的其余所有点并将其填充为指定颜色的一种算法。
之所以称之为漫水填充,是因为这种算法就是模拟了涨水的过程,从一点开始,水流慢慢加大,直到漫过了全部区域。该填充算法的原型如下所示:
void cvFloodFill (
IplImage *img,
CvPoint seedPoint,
CvScalar newVal,
CvScalar loDiff,
CvScalar upDiff,
CvConnectedComp *comp,
int flags = 4,
CvArr *mask = NULL
)
img参数代表输入图像,漫水填充从seedPoint点开始(也称种子点),newVal是像素的被染色的值。如果一个像素点的值不低于被染色的相邻点减去 loDiff 且不高于其加上upDiff,那么该像素点就会被染色。如果参数 flags 包含CV_FLOODFILL_FIXD_RANGE,这时每个像素点将与种子点比较,而不是与相邻点比较。如果 comp 不为 NULL,那么该CvConnectedComp结构将被设置为填充区域的统计属性。flags参数有点复杂,这些参数决定着填充的连通性、相关性、是否填充掩码区域及用来填充的值。
示例代码:
#include <opencv/cv.h>
#include <opencv/highgui.h>
int main()
{
IplImage *img = cvLoadImage("F:/Images/test.jpg", 1);
cvNamedWindow("srcImage");
cvShowImage("srcImage", img);
cvWaitKey(0);
cvFloodFill(img, cvPoint(30,30), cvScalar(0,255,0), cvScalar(20,20,20), cvScalar(20,20,20));
cvShowImage("srcImage",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("srcImage");
return 0;
}
原图:
填充后图像:
- 漫水填充算法
- 漫水填充算法
- 漫水填充算法
- 漫水填充算法
- 漫水填充算法
- 漫水填充算法
- cvFloodFill漫水填充算法
- cvFloodFill 漫水填充算法
- 漫水填充算法描述
- cvFloodFill漫水填充算法
- cvFloodFill() 漫水填充算法
- opencv漫水填充算法
- opencv:漫水填充算法
- opencv-python填充算法(水漫填充)
- FloodFill(漫水填充)算法
- 图像形态学 漫水填充算法
- OpenCV学习笔记-漫水填充算法
- 图像形态学 - 漫水填充算法(cvFloodFill)
- Can Place Flowers问题及解法
- argument.callee 指向函数本身
- 偶串问题-牛客三模
- springboot+mybatis显示sql语句
- POJ-1308-Is It A Tree? [并查集]
- 漫水填充算法
- 转换PDF技巧1之PDF虚拟打印机操作详解
- 嵌入式学习书籍推荐
- js网页简易计算器
- 如何用Servlet+JDBC+MySQL+Jsp完成一个登陆注册界面
- Java 类加载时机和机制
- 自动化-设置web窗口大小
- android6.0敏感权限动态申请
- C语言:顺序查找和二分查找