我有与简单对象检测相关的错误。
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()
getUnconnectedOutLayers()
返回一个整数,而不是一个可迭代对象。相反,使用
outputlayers = [layer_names[i-1] for i in net.getUnconnectedOutLayers()]
所示示例here https://codesuche.com/python-examples/cv2.dnn.readNet/是不正确的。有关该方法的更多信息可以在cv2 文档在这里 https://docs.opencv.org/4.5.3/db/d30/classcv_1_1dnn_1_1Net.html#ae62a73984f62c49fd3e8e689405b056a.
错误本身(IndexError
) 告诉您您正在尝试对标量的内容建立索引。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)