使用轮廓分析blob的混乱

时间:2013-02-18 04:58:58

标签: opencv

我想分析使用轮廓接收的斑点。但是,我遇到了一个小问题,在使用以下代码之前和之后分析blob有什么区别吗?

for(unsigned int i = 0; i < rects3.size(); i++) {
    Scalar color = Scalar(255,255,255);
    drawContours( drawing3, contours3, i, color, CV_FILLED, 8);
}

在使用上面之前,只有一些边界线,使用代码后我们可以看到白色斑点。附件就是它的例子。

enter image description here

enter image description here

1 个答案:

答案 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