Traceback (most recent call last): File "detect_onnx.py", line 112, in <module> outs=post_process_opencv(outs,320,320,480,640,0.4,0.5) File "detect_onnx.py", line 60, in post_process_opencv ids = cv2.dnn.NMSBoxes(areas,conf,thred_cond,thred_nms) TypeError: Can't convert vector element for 'bboxes', index=0报错 # 转换为列表格式 areas = areas.tolist() # 应用非极大值抑制算法获取IDs ids = cv2.dnn.NMSBoxes(areas,conf,thred_cond,thred_nms) # 返回包含筛选后的区域、置信度和类别ID的数据列表 return [np.array(areas)[ids],np.array(conf)[ids],cls_id[ids]]
时间: 2024-01-28 09:04:43 浏览: 165
Mac下anaconda中Spyder打开报错Traceback(most recent call last)…问题
5星 · 资源好评率100%
这个错误通常是由于 `areas` 向量中的元素不是整数或浮点数类型,导致不能被转换为 `cv::Rect` 类型。建议将 `areas` 向量中的元素转换为整数或浮点数类型,可以使用 `astype()` 方法来实现这一点。例如,可以像下面这样修改代码:
```
# 将 areas 转换为列表格式,并将元素转换为整数类型
areas = areas.astype(int).tolist()
# 应用非极大值抑制算法获取IDs
ids = cv2.dnn.NMSBoxes(areas, conf, thred_cond, thred_nms)
# 返回包含筛选后的区域、置信度和类别ID的数据列表
return [np.array(areas)[ids], np.array(conf)[ids], cls_id[ids]]
```
这样就可以避免这个错误了。如果还有问题,请检查代码中的其他部分是否存在错误。
阅读全文