cv2.ошибка: OpenCV(4.5.4) :-1: ошибка: (-5:Неверный аргумент) в функции «вперед»

#python

Вопрос:

Может ли кто-нибудь сказать мне, как исправить эту ошибку: cv2.ошибка: OpenCV(4.5.4) :-1: ошибка: (-5:Неверный аргумент) в функции «вперед»

Не удалось разрешить перегрузку:

  • Не удается преобразовать объект типа «numpy.ndarray» в » str » для «Имя вывода»
  • Не удается разобрать «Выходные блоки». Элемент последовательности с индексом 0 имеет неправильный тип
  • Не удается разобрать «Выходные блоки». Элемент последовательности с индексом 0 имеет неправильный тип
  • Не могу разобрать «Чужие имена». Элемент последовательности с индексом 0 имеет неправильный тип
  • Не могу разобрать «Чужие имена». Элемент последовательности с индексом 0 имеет неправильный тип
 import cv2 import numpy as np  net = cv2.dnn.readNet('yolov3.weights','yolov3.cfg')   #wyciągamy nazwy z coco file classes = [] with open('coco.names','r') as f:  classes = f.read().splitlines()  #ładowanie zdjęcia img = cv2.imread('kite.jpg') #img = cv2.resize(img, None, fx=0.7, fy=0.7) height, width, _ = img.shape  blob = cv2.dnn.blobFromImage(img, 1/255, (416,416), (0,0,0), swapRB=True, crop=False)  net.setInput(blob) #set the input from the blob to the network  output_layers_names = net.getUnconnectedOutLayers() #Get the index of the output layers. layerOutputs = net.forward(output_layers_names) #HERE IS THE ERROR !!!  boxes = [] confidences = [] class_ids = []  #first loop is used to extract all the informations from the layers output #second loop is used to extract the information from each of the outputs for output in layerOutputs:  for detection in output:  scores = detection[5:] #from 6 elemenets to the end  class_ids = np.argmax(scores) #classes prediction  class_ids =np.argmax(scores) #location of higer scores  confidences= scores[class_ids]   if confidences gt; 0.5:   center_x = int(detection[0]*width)  center_y = int (detection[1]*height)  w = int(detection[2]*width)  h = int(detection[3]*height)   x = int(center_x - w/2)   y = int(center_y - h/2)   boxes.append([x,y,w,h])  confidences.append((float(confidences)))  class_ids.append(class_ids)  print(len(boxes))  cv2.imshow('kite.jpg', img) cv2.waitKey(0) cv2.destroyAllWindows()  

Комментарии:

1. Из беглого просмотра документации Net следует, что метод getUnconnectedOutLayers() возвращает другой тип (список int), чем ожидаемый forward (), который ожидает, среди других типов, список Mat.