我正在做一个我在网上找到的项目(Yolo Object Detection with OpenCV,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,但没有朗姆酒!
原始项目的链接在这里。
知道为什么会发生这些错误吗!?
我认为你可能有错误的OpenCV版本。检查此答案:
运行暗网检测的 OpenCV 未知层类型
"对运行 YOLOv3 的支持已添加到 OpenCV 主分支 (3.4.3) 中。