栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

OpenCV 连通域 connectedComonents函数和 connectedComponentsWithStats函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

OpenCV 连通域 connectedComonents函数和 connectedComponentsWithStats函数

connectedComonents函数 仅仅创建了一个标记图,图中不同的连通域使用不同的标记,图片的宽和高与原图一致

int cv::connectedComponents (
cv::InputArrayn image, // //8位单通道二值图像 (binary)
cv::OutputArray labels, // output label map //和原图一样大的标记图
int connectivity = 8, // 4- or 8-connected components
int ltype = CV_32S // Output label type (CV_32S or CV_16U)
);
该函数有返回值,为连通域的数量

两个函数功能相近,connectedComonentWithStats函数 输出的信息更多

//opencv中新增了connectedComonentWithStats函数, 可以帮助我们直接找到一张图片的连通区域, 不用再自己写连通函数了
//函数示例:
//int cv::connectedComponentsWithStats(InputArray image,
//OutputArray labels, //输入图像,8位单通道
//OutputArray stats,
//OutputArray centroids,
//int connectivity = 8, 可为4或8连域 默认为8连域
//int ltype = CV_32S
//)

输入为二值图像,labels 里是每个区域的标记,stats 分别对应各个轮廓的外接矩阵的x,y,width,height和面积,centroids对应质心

Mat labels, stats, centroids;
	int nccomps = connectedComponentsWithStats(midImg2, labels, stats, centroids); //可以得到连通域的个数

	for (int i = 0; i (i, 0);
		int y = stats.at(i, 1);
		Point Pt(x, y);
		circle(srcImg, Pt, 2, Scalar(0, 255, 255), 2, 8);
		cout << "第" << i << "个连通域的X和Y  " << x << " " << y << endl;
		int width_ = stats.at(i, 2);
		int height_ = stats.at(i, 3);
		int area_ = stats.at(i, 4);
		cout << "第" << i << "个连通域的高度  " << height_ << "宽度" << width_ << "面积"<< area_ <(i, 0);
		int y = centroids.at(i, 1);
		Point p(x, y);
		//绘制几何中心
		circle(srcImg, p, 2, Scalar(0, 0, 255), 2, 8);
		cout << "第" << i << "个物体的质心坐标为  " << x << " " << y << endl;
	}
	namedWindow("标记质心滞后的图像", WINDOW_NORMAL);
	imshow("标记质心滞后的图像", srcImg);
	//每一个标记的统计信息,是一个5列的矩阵,每一行对应每个连通区域的外接矩形的x、y、width、height和面积
	//cout <<"每个标记的统计信息:"< 

其中 labels, stats, centroids 为mat 类型
centroids 如图所示 分别为质心的X和Y坐标

stats 如图所示
分别为X,Y,连通域的宽和高,以及面积,注意第0 个为后景色的数据

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664425.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号