如何显示用于车辆分类的 Blob 大小

How to display size of Blob for vehicle clasification?

本文关键字:分类 Blob 大小 用于 何显示 显示      更新时间:2023-10-16

我现在正在使用汽车计数程序。现在我想显示每辆车上斑点的大小或面积,以找到每种车辆中大小的相似之处,以便进一步尝试对它们进行分类。但是,我真的不知道如何显示 Blob 的大小,我尝试使用 blobs[i].currentBoundingRect。当我这样做时,会出现一个选项列表,我可以使用其中任何一个吗?你们能给我一些关于斑点大小显示和车辆分类的建议或建议吗?提前谢谢你。

P/s:当我尝试 blobs[i].currentBoundingRect.area 时,出现错误:非标准语法;使用"&"创建指向成员的指针。在 area 后添加括号后,发生另一个错误:错误 C2248:"cv::字符串::字符串":无法访问类"cv::String"中声明的私有成员

void drawBlobInfoOnImage(std::vector<Blob> &blobs, cv::Mat &imgFrame2Copy) {
    for (unsigned int i = 0; i < blobs.size(); i++) {
         if (blobs[i].blnStillBeingTracked == true) {
            cv::rectangle(imgFrame2Copy, blobs[i].currentBoundingRect, SCALAR_RED, 2);
            int intFontFace = CV_FONT_HERSHEY_SIMPLEX;
            double dblFontScale = blobs[i].dblCurrentDiagonalSize / 60.0;
            int intFontThickness = (int)std::round(dblFontScale * 1.0);
            cv::putText(imgFrame2Copy, blobs[i].currentBoundingRect.height, blobs[i].centerPositions.back(), intFontFace, dblFontScale, SCALAR_GREEN, intFontThickness);
        }
    }
}  

cv::Rect::areaRect类的方法,而不是属性。这意味着您必须使用括号调用该方法,如下所示:blobs[i].currentBoundingRect.area() .