0

我想编辑边界框标签以仅显示检测概率而不显示类别标签,我该怎么做?

我发现了一个名为image.cdarknet/src 的文件,我认为这是我需要进行编辑的地方。但是其中有多个似乎与此任务相关的功能,我不确定要编辑哪个,以及如何编辑以获得我想要的。代码image.c很长,因此请参考这个链接(官方暗网回购),我所指的代码是可用的。

我尝试void draw_detections在第 465 行编辑函数,只需将第 511 行的代码更改为printf("%s: %.0f%%", " ", prob * 100);,运行!make命令,但标签仍然存在于检测中。

4

2 回答 2

0

您在项目中使用 alexyAB 模型。转到 image_opencv.cpp 文件并在找到此行之后找到 draw_detections_cv_v3 函数:

 strcat(labelstr, names[j]);

改成:

strcat(labelstr, "");
于 2021-03-31T10:38:49.467 回答
0

终于找到了如何做到这一点:

找到文件darknet/src/image.c

删除436 处的代码行

strcat(labelstr, names[selected_detections[i].best_class]);

从第 441 行到第 446 行

for (j = 0; j < classes; ++j) { 
    if (selected_detections[i].det.prob[j] > thresh && j != selected_detections[i].best_class) { 
        strcat(labelstr, ", "); 
        strcat(labelstr, names[j]); 
    } 
} 

确保在项目中重建暗网(!make

注意:如果再次克隆暗网存储库,这些更改将被删除。

于 2021-04-02T07:06:58.047 回答