我的代码是:
model = ResNet50(weights='imagenet')
ret_val, frame = video_capture.read()
frame = cv2.resize(frame,(224,224))
cv2.imshow(windowName, frame)
frame = np.expand_dims(frame, axis=0)
frame = preprocess_input(frame)
preds = model.predict(frame)
print('Predicted:', decode_predictions(preds, top=3)[0])
我得到的结果是:
Predicted: [('n04550184', 'wardrobe', 0.40715462), ('n04209239', 'shower_curtain', 0.09730709), ('n04005630', 'prison', 0.04603362)]
我没有x, y, w, h
,所以我不知道在哪里绘制边界框。
有什么建议吗?
最佳答案
您无法使用 ResNet。 ResNet 有一个 FC 层来处理位置信息。尝试使用 YOLO 代替。它具有非常有效的位置和对象分类功能。另一个解决方案是不使用 Keras,而是使用 OpenCV 内置的 Haar 小波变换级联。 This link包含训练 OpenCV Haar Cascade 所需了解的所有信息。
关于python - 根据 Keras 预测,如何在 OpenCV 中绘制边界框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54380000/