无法通过 OpenCV dnn 模块显示 YOLO 结果

Couldn't display YOLO result via OpenCV dnn module

我正在尝试通过暗网 (AlexeyAB or pjreddie) 训练 YOLO 对象检测,它非常适合通过

显示对象

./darknet detector test cfg/obj.data cfg/yolo-obj.cfg yolo.weights data/test.jpg

我用了160*30的图片进行训练和测试。我还通过 Tiny-YOLOv2 和另一个模型做到了,它可以检测图像中的所有数字。

但是当我想显示训练重量的结果和如下所示的特定图像时,并且通过使用 Opencv dnn 模块,我无法正确显示所有对象(数字)。

YOLO Object Detection with OpenCV and Python

Deep Learning based Object Detection using YOLOv3 with OpenCV ( Python / C++)

YOLO object detection with OpenCV

YOLO object detection using OpenCV and Python

Exploring OpenCV’s Deep Learning Object Detection Library

但是当我查看更大的图像(1280*760)时,它可以显示结果。

板检测的正确输出:

我解决了。当我们想要使用 OpenCV 和 DNN 模块显示结果时,我们必须考虑原始图像的缩放比例。例如,当我有一个 160*30 输入图像时,首先我将其转换为 416*78(将宽度或高度之一调整为 416)。现在为了显示结果,我将高度乘以 416/78

来调整高度