首页 > 解决方案 > 使用 yolo 运行 Opencv 时出现问题:“AttributeError: module 'cv2.dnn' has no attribute 'DNN_TARGEGT_CPU”

问题描述

当我尝试在 jupyter notebook 上通过 yolo3 运行以下代码进行对象检测时:

classfile = "coco.names"
classes = []
wht = 320

with open(classfile,"rt") as f:
classname = f.read().rstrip("\n").split("\n")

modelconfiguration = "yolov3.cfg"
modelweight = "yolov3.weights"

net = cv2.dnn.readNetFromDarknet(modelconfiguration,modelweight)
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_OPENCV)
net.setPreferableTarget(cv2.dnn.DNN_TARGEGT_CPU)

在最后一行net.setPreferableTarget(cv2.dnn.DNN_TARGEGT_CPU)导致下面的错误。

    AttributeError: module 'cv2.dnn' has no attribute 'DNN_TARGEGT_CPU'

我已经尝试升级 opencv 但这并没有解决问题。

标签: pythonyolo

解决方案


我相信这只是一个错字。尝试将最后一行替换为:

net.setPreferableTarget(cv2.dnn.DNN_TARGET_CPU)

错字当然是将TARGET拼写为TARGEGT

以下是 Opencv DNN 目标列表:https ://docs.opencv.org/master/d6/d0f/group__dnn.html#ga709af7692ba29788182cf573531b0ff5


推荐阅读