0

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

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

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

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

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

于 2013-02-18T06:33:11.857 回答