运行 视频对象检测时出现 OpenCV(3.4.1-dev) 错误

OpenCV(3.4.1-dev) Errors while running video object detection

我正在做一个我在网上找到的项目(使用 OpenCV 进行 Yolo 对象检测,Pyimageresearch 项目之一)。所以,我下载了整个代码并将其保存在下载文件夹中,因为它被推荐 运行 cmd 行脚本:

python /home/ubuntu/Downloads/yolo-object-detection/yolo_video.py \
> --input /home/ubuntu/Downloads/yolo-object-detection/videos/WS-1sec.mp4 \
> --output /home/ubuntu/Downloads/yolo-object-detection/output/WS-1sec.avi \
> --yolo /home/ubuntu/Downloads/yolo-object-detection/yolo-coco

但输出是:

[INFO] loading YOLO from disk...
OpenCV(3.4.1-dev) Error: Parsing error (Unknown layer type: shortcut) in ReadDarknetFromCfgFile, file /home/ubuntu/src/opencv/modules/dnn/src/darknet/darknet_io.cpp, line 503
Traceback (most recent call last):
  File "/home/ubuntu/Downloads/yolo-object-detection/yolo_video.py", line 42, in <module>
    net = cv2.dnn.readNetFromDarknet(configPath, weightsPath)
cv2.error: OpenCV(3.4.1-dev) /home/ubuntu/src/opencv/modules/dnn/src/darknet/darknet_io.cpp:503: error: (-212) Unknown layer type: shortcut in function ReadDarknetFromCfgFile

我运行在另一台机器上使用完全相同的 OpenCV 3.4.1 版本,它在那里工作!这次我正在研究 Tetson TX2,但没有朗姆酒!

Link 到原始项目是 here

知道为什么会出现这些错误吗!?

我想您的 OpenCV 版本可能有误。检查这个答案:

"Support for running YOLOv3 has been added to OpenCV master branch (3.4.3)."