From 92062a514ec043dae9100dc474578246219e8380 Mon Sep 17 00:00:00 2001 From: Barzan Hayati Date: Sat, 26 Jul 2025 14:44:47 +0000 Subject: [PATCH] Fix attached meta data --- src/nv_infer_server_manager.cpp | 41 ++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/src/nv_infer_server_manager.cpp b/src/nv_infer_server_manager.cpp index bc5dd49..0ba773d 100644 --- a/src/nv_infer_server_manager.cpp +++ b/src/nv_infer_server_manager.cpp @@ -269,7 +269,7 @@ GstPadProbeReturn NvInferServerManager::pgie_pad_buffer_probe( (void)outputBuffer; // NvDsInferDims dims = outputLayersInfo[0].inferDims; - for (size_t jkl = 0; jkl < outputLayersInfo.size(); ++jkl) { + for (size_t jkl = 0; jkl < outputLayersInfo.size(); jkl++) { const NvDsInferLayerInfo &layer = outputLayersInfo[jkl]; unsigned int numDims = layer.inferDims.numDims; @@ -295,15 +295,15 @@ GstPadProbeReturn NvInferServerManager::pgie_pad_buffer_probe( uint detected_persons = 0; float *data = static_cast(layer.buffer); - for (unsigned int jkl = 0; jkl < 100; ++jkl) { + for (unsigned int jkl = 0; jkl < 100; jkl+=4) { // 100 persons for each frame if (data[jkl * 57 + 4] > threshold_body_detection) { detected_persons++; - // std::cout << "x = " << data[jkl * 57 + 0] - // << " y = " << data[jkl * 57 + 1] - // << " w = " << data[jkl * 57 + 2] - // << " h = " << data[jkl * 57 + 3] - // << " score = " << data[jkl * 57 + 4] << - // std::endl; + std::cout << "first for x = " << data[jkl * 57 + 0] + << " y = " << data[jkl * 57 + 1] + << " w = " << data[jkl * 57 + 2] + << " h = " << data[jkl * 57 + 3] + << " score = " << data[jkl * 57 + 4] << + std::endl; for (unsigned int mno = 0; mno < 5; ++mno) { float value = data[jkl * 57 + mno]; (void)value; @@ -324,15 +324,24 @@ GstPadProbeReturn NvInferServerManager::pgie_pad_buffer_probe( NvOSD_TextParams &text_params = obj_meta->text_params; /* Assign bounding box coordinates. */ rect_params.left = - data[index * 57 + 0] * MUXER_OUTPUT_WIDTH / PGIE_NET_WIDTH; - rect_params.top = data[index * 57 + 1] * MUXER_OUTPUT_HEIGHT / - PGIE_NET_HEIGHT; + int(data[index * 57 + 0] * MUXER_OUTPUT_WIDTH / PGIE_NET_WIDTH); + rect_params.top = int(data[index * 57 + 1] * MUXER_OUTPUT_HEIGHT / + PGIE_NET_HEIGHT); rect_params.width = - (data[index * 57 + 2] - data[index * 57 + 0]) * - MUXER_OUTPUT_WIDTH / PGIE_NET_WIDTH; + int((data[index * 57 + 2] - data[index * 57 + 0]) * + MUXER_OUTPUT_WIDTH / PGIE_NET_WIDTH); rect_params.height = - (data[index * 57 + 3] - data[index * 57 + 1]) * - MUXER_OUTPUT_HEIGHT / PGIE_NET_HEIGHT; + int((data[index * 57 + 3] - data[index * 57 + 1]) * + MUXER_OUTPUT_HEIGHT / PGIE_NET_HEIGHT); + + + std::cout << "second for x = " << rect_params.left + << " y = " << rect_params.top + << " w = " << rect_params.top + << " h = " << rect_params.width + << " score = " << obj_meta->confidence << + std::endl; + /* Border of width 3. */ rect_params.border_width = 3; rect_params.has_bg_color = 0; @@ -364,6 +373,6 @@ GstPadProbeReturn NvInferServerManager::pgie_pad_buffer_probe( } } } - use_device_mem = 1 - use_device_mem; + // use_device_mem = 1 - use_device_mem; return GST_PAD_PROBE_OK; } \ No newline at end of file