Far*_*zin 6 python opencv yolo
我有与简单对象检测相关的错误。
output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()]
IndexError:标量变量的索引无效。
import cv2.cv2 as cv
import numpy as np
# Load Yolo
net = cv.dnn.readNet('yolov3.weights','yolov3.cfg')
classes = []
with open ("coco.names","r") as f:
classes = [line.strip() for line in f.readlines()]
layer_names = net.getLayerNames()
otputlayers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()]
#Loading image
img = cv.imread("room_ser.jpg")
cv.imshow("Image",img)
cv.waitKey(0)
cv.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
A. *_*dry 20
getUnconnectedOutLayers()返回一个整数,而不是一个可迭代对象。相反,使用
outputlayers = [layer_names[i-1] for i in net.getUnconnectedOutLayers()]
Run Code Online (Sandbox Code Playgroud)
此处显示的示例不正确。有关该方法的更多信息可以在此处的 cv2 文档中找到。
错误本身 ( IndexError) 告诉您您正在尝试对标量的内容建立索引。