我有一个使用深度流自定义边界框解析器的检测任务。我将推理结果存储在
std::vector<NvDsInferParseObjectInfo>& objectList
以这种方式:
NvDsInferObjectDetectionInfo object;
object. classId = static_cast<unsigned int>(class);
object.left = static_cast<unsigned int>(left);
object.top = static_cast<unsigned int>(top);
object.width = static_cast<unsigned int>(width);
object.height = static_cast<unsigned int>(height);
object.detectionConfidence = static_cast<float>(score);
objectList.push_back(object);
我打印了上面的值,它们确实存在。但是,当我尝试通过以下方式在我的程序中打印它们时:
batch_meta = pyds.gst_buffer_get_nvds_batch_meta(hash(gst_buffer))
l_frame = batch_meta.frame_meta_list
frame_meta = pyds.NvDsFrameMeta.cast(l_frame.data)
frame_number=frame_meta.frame_num
num_rects = frame_meta.num_obj_meta
l_obj=frame_meta.obj_meta_list
print(l_obj)
print(num_rects)
它显示无或 0。根本没有输出。
知道我在哪一部分做错了吗?谢谢