【问题标题】:Hi , I have error related to object detection project嗨,我有与对象检测项目有关的错误
【发布时间】:2021-10-28 15:21:10
【问题描述】:

我遇到了与简单对象检测相关的错误。

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()

【问题讨论】:

标签: python opencv yolo


【解决方案1】:

getUnconnectedOutLayers() 返回一个整数,而不是一个可迭代的。相反,使用

outputlayers = [layer_names[i-1] for i in net.getUnconnectedOutLayers()]

here 显示的示例不正确。有关该方法的更多信息,请访问cv2 docs here

错误本身 (IndexError) 告诉您您正在尝试索引标量。

【讨论】:

  • 最好让人们有机地对材料进行投票。如果您想达到 50 分,请尝试在一周内每天写一个好的答案,到一周结束时您应该会到那里。代表很有趣,但不要让它成为你来这里的唯一原因 - 帮助别人可以获得满足感。
猜你喜欢
  • 1970-01-01
  • 2020-05-08
  • 2020-08-03
  • 2021-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多