opencv漫水填充算法cvFloodFill()

来源:互联网 发布:阿里云 自己安装系统 编辑:程序博客网 时间:2024/05/17 08:07

CVAPI(void)  cvFloodFill( 

  CvArr* image,//输入图像

  CvPoint seed_point,//输入种子点的坐标

  CvScalar new_val,//输入像素点被染为什么颜色

  CvScalar lo_diff CV_DEFAULT(cvScalarAll(0)),

  CvScalar up_diff CV_DEFAULT(cvScalarAll(0)),

//输入染色范围。如果一个像素点的值不低于被染色相邻点减去lo_diff,且不高于其加上

//up_diff那么这个像素点将被染色。

  CvConnectedComp* comp CV_DEFAULT(NULL),

//指向部件结构体的指针,该结构体的内容由函数用重绘区域的信息填充。

   int flags CV_DEFAULT(4),

//低八位控制算法连通性,一般为4联通或8联通,高8位可以固定像素值范围

   CvArr* mask CV_DEFAULT(NULL));

//掩码,若非空则必须是一个单通道,8位,宽和高都比源图像大两个像素的图像。mask中

//的非零像素点不会被染色。

<pre name="code" class="cpp">#include <iostream>  #include <cv.h>  #include <highgui.h>  using namespace cv;using namespace std;int main()  {IplImage *img = cvLoadImage("C:\\Users\\asus\\Desktop\\DIP\\image\\people.jpg",0);IplImage *img2 = cvLoadImage("C:\\Users\\asus\\Desktop\\DIP\\image\\people.jpg",0);IplImage *temp = cvCreateImage(cvGetSize(img),8,1);cvSmooth(img2,img2);cvFloodFill(img2,cvPoint(325,244),cvScalar(255),cvScalar(2),cvScalar(2),0,8);//漫水填充法cvNamedWindow("src");cvNamedWindow("result");cvShowImage("src",img);cvShowImage("result",img2);cvSaveImage("C:\\Users\\asus\\Desktop\\1.jpg",img2);waitKey(5000);cvDestroyAllWindows();cvReleaseImage(&img);cvReleaseImage(&img2);cvReleaseImage(&temp);}  


0 0
原创粉丝点击