cv2.putText(frame, classes[int(cls_pred)], (int(x1), int(y1)), cv2.FONT_HERSHEY_SIMPLEX, 1, color, 5) #Nombre de la clase
cv2.putText(frame, str("%.2f" % float(conf)), (x2, int(y2 - box_h)), cv2.FONT_HERSHEY_SIMPLEX, 0.5,color, 5) # Certeza de prediccion de la clase
Uso Parrot GNU/Linux 4.10 x con kernel x86_64 Linux 5.9.0-2parrot1-amd64, no sé si se deba a eso, pero si a alguien más le sucede, está es una posible solución.
tuve el 1er problema y al cambiar el código por por tu solución me devolvió :
``Traceback (most recent call last):
File "deteccion_video.py", line 106, in
cv2.putText(frame, str("%.2f" % float(conf)), (x2, int(y2 - box_h)), cv2.FONT_HERSHEY_SIMPLEX, 0.5,color, 5) # Certeza de
prediccion de la clase
TypeError: only integer tensors of a single element can be converted to an index"
En las lineas 104, 105 y 106 en deteccion_video.py da los siguientes errores
frame = cv2.rectangle(frame, (int(x1), int(y1) + int(box_h)), (int(x2), int(y1)), color, 5)
cv2.putText(frame, classes[int(cls_pred)], (x1, y1), cv2.FONT_HERSHEY_SIMPLEX, 1, color, 5) #Nombre de la clase detectada
cv2.putText(frame, str("%.2f" % float(conf)), (x2, y2 - box_h), cv2.FONT_HERSHEY_SIMPLEX, 0.5,color, 5) # Certeza de prediccion de la clase
TypeError: an integer is required (got type list)
TypeError: only integer tensors of a single element can be converted to an index
Para solucionarlos hice un cast a las variables x1,y1,box_h,x2,y2 de las respectivas lineas de código
frame = cv2.rectangle(frame, (int(x1), int(y1) + int(box_h)), (int(x2), int(y1)), color, 5)
cv2.putText(frame, classes[int(cls_pred)], (int(x1), int(y1)), cv2.FONT_HERSHEY_SIMPLEX, 1, color, 5) #Nombre de la clase
cv2.putText(frame, str("%.2f" % float(conf)), (x2, int(y2 - box_h)), cv2.FONT_HERSHEY_SIMPLEX, 0.5,color, 5) # Certeza de prediccion de la clase
Uso Parrot GNU/Linux 4.10 x con kernel x86_64 Linux 5.9.0-2parrot1-amd64, no sé si se deba a eso, pero si a alguien más le sucede, está es una posible solución.