Opencv 如何找到连接组件的平均颜色?

Opencv 如何找到连接组件的平均颜色?,opencv,contour,Opencv,Contour,OpenCV似乎没有一种直接的方法来查找连接组件或轮廓的平均颜色 我使用了PointPolyContest;保存了我的轮廓内的所有点及其颜色;然后应用mean方法计算平均色调值。问题是,它太慢了。有没有快速的方法来实现这一点?有什么想法或可用的方法可以使用吗?您可以将cv::mean函数与掩码一起使用。这将是一个很好的增强功能,但PointPolyContest会带来复杂性。我想我会在找到50分并平均后退出循环。我听说opencv有一个blob库插件。cvbloblib的速度快吗?我可能会检查它

OpenCV似乎没有一种直接的方法来查找连接组件或轮廓的平均颜色


我使用了
PointPolyContest
;保存了我的轮廓内的所有点及其颜色;然后应用
mean
方法计算平均色调值。问题是,它太慢了。有没有快速的方法来实现这一点?有什么想法或可用的方法可以使用吗?

您可以将cv::mean函数与掩码一起使用。这将是一个很好的增强功能,但PointPolyContest会带来复杂性。我想我会在找到50分并平均后退出循环。我听说opencv有一个blob库插件。cvbloblib的速度快吗?我可能会检查它的源代码。你不需要点多边形。找到轮廓线。使用该轮廓创建一个遮罩。然后应用函数cv::mean()。您也可以使用
drawcontours
。是的,您可以创建这样的掩码
Mat mask=Mat::zeros(src.rows,src.cols,cv_8U)然后