невозможно получить выходные данные от специализированного парсера глубокого потока

У меня есть задача обнаружения с использованием глубокого настраиваемого парсера ограничивающей рамки. Я сохраняю результат вывода в

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)

Он показывает None или 0. Нет вывода вообще.

Есть идеи, что я сделал неправильно? благодаря

1 ответ

Делает num_rectsпоказать 0 тоже?

Обязательно установите detection-thresholdв файле конфигурации детектора. Также убедитесь, что ограничивающие рамки находятся в свойстве roi (если установлено) в файле конфигурации.

Если извещатель не является основным извещателем, обязательно установите operate-on-gieсвойство в файле конфигурации.

Другие вопросы по тегам