连接组件访问矩阵值

时间:2015-12-21 15:29:41

标签: c++ opencv opencv3.0 connected-components

我正在尝试根据视频的位置对视频中的已连接组件进行分类。我正在使用opencv 3中的connectedComponentsWithStats函数。我试图从stats矩阵访问值,这是1x5矩阵。当我使用以下代码时,我成功访问了连接组件的区域。

connectedComponentsWithStats(median_difference3, labels, stats, centroids, 8, CV_16U);

int area= stats.at<int>(0,4);
cout << area << endl;

当我尝试使用

访问矩阵的第一个值时
int x= stats.at<int>(0,0);

我得到的所有值都是零。

为了确认何时输出完整的统计矩阵,矩阵的0,0位置中的值并不总是为零,因此它们应该以区域矩阵的相同方式变化。 stat矩阵中的值也总是整数。

如果你能看到我做错了什么,我将不胜感激!

1 个答案:

答案 0 :(得分:0)

统计信息的第一行是指背景:

来自doc

  

statsv - 每个标签的统计信息输出,包括背景标签

您只需检查stats的行数即可知道您是否有某个前景组件,或检查connectedComponentsWithStats返回的标签数量。