我想分析使用轮廓接收的斑点。但是,我遇到了一个小问题,在使用以下代码之前和之后分析blob有什么区别吗?
for(unsigned int i = 0; i < rects3.size(); i++) {
Scalar color = Scalar(255,255,255);
drawContours( drawing3, contours3, i, color, CV_FILLED, 8);
}
在使用上面之前,只有一些边界线,使用代码后我们可以看到白色斑点。附件就是它的例子。
答案 0 :(得分:1)
您希望迭代可能的blob然后进行分析(区域,周长等)。
你的轮廓在矢量中称为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