У меня есть этот код, пытающийся запустить идентификацию социальной изоляции путем захвата видео, но я получаю следующую ошибку:
Traceback (последний вызов был последним): файл "social_distance_detection.py", строка 127, в cv2.rectangle (frame, (startX, startY), (endX, endY), COLOR, 2) TypeError: в скалярный индекс могут быть преобразованы только целочисленные скалярные массивы
Не могли бы вы Помоги мне?
Вот код, который я запускаю:
for i in range(detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > args["confidence"]:
class_id = int(detections[0, 0, i, 1])
box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
(startX, startY, endX, endY) = box.astype('int')
# Filtering only persons detected in the frame. Class Id of 'person' is 15
if class_id == 15.00:
# Draw bounding box for the object
cv2.rectangle(frame, (startX, startY), (endX, endY), bounding_box_color[class_id], 2)
label = "{}: {:.2f}%".format(labels[class_id], confidence * 100)
print("{}".format(label))
coordinates[i] = (startX, startY, endX, endY)
for i in pos_dict.keys():
if i in close_objects:
COLOR = np.array([0,0,255])
else:
COLOR = np.array([0,255,0])
(startX, startY, endX, endY) = coordinates[i]
cv2.rectangle(frame, (startX, startY), (endX, endY), COLOR, 2)
y = startY - 15 if startY - 15 > 15 else startY + 15
# Convert cms to feet
cv2.putText(frame, 'Depth: {i} ft'.format(i=round(pos_dict[i][2]/30.48,4)), (startX, y),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, COLOR, 2)
cv2.namedWindow('Frame',cv2.WINDOW_NORMAL)
Ошибка>