我想分析使用轮廓接收到的斑点。但是,我遇到了一个小问题,在使用以下代码之前和之后分析blob有何区别?
for(unsigned int i = 0; i < rects3.size(); i++) {
Scalar color = Scalar(255,255,255);
drawContours( drawing3, contours3, i, color, CV_FILLED, 8);
}
在使用上面的代码之前,只有一些边界线,使用代码之后,我们可以看到白色斑点。如附件所示。
最佳答案
您想要遍历可能的斑点,然后对其进行分析(区域,周长等)。
您的轮廓在 vector 中称为rects3。
// iterating trough
for(unsigned int i = 0; i < rects3.size(); i++) {
// get the bounding box of one contour
Rect rect = boundingRect(rects3[i]);
//area
double area = contourArea(rects3[i]);
//perimiter
double perimiter = arcLength(rects3[i], true);
}
见http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html
关于opencv - 使用轮廓混淆分析 Blob ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14929746/