Hi,
I tried drawing line using NvOSD_LineParams ,
NvOSD_LineParams *lne_params = &display_meta->line_params[0];
lne_params = (NvOSD_LineParams *) g_malloc0 (sizeof (NvOSD_LineParams));
lne_params->x1 = 100;
lne_params->y1 = 100;
lne_params->x2 = 500;
lne_params->y2 = 500;
lne_params->line_width = 5;
lne_params->line_color.red = 20.0;
lne_params->line_color.green = 25.0;
lne_params->line_color.blue = 0.0;
lne_params->line_color.alpha = 1.0;
I couldnt see any line in video. How can I draw line using NvOSD_LineParams.
But I can able to write text in similar way,
NvOSD_TextParams *txt_params = &display_meta->text_params[0];
txt_params->display_text = (gchar *) g_malloc0 (MAX_DISPLAY_LEN);
offset = snprintf (txt_params->display_text, MAX_DISPLAY_LEN, "Person = %d ", person_count);
txt_params->x_offset = 10;
txt_params->y_offset = 12;
/* Font , font-color and font-size */
txt_params->font_params.font_name = (gchar *) "Serif";
txt_params->font_params.font_size = 10;
txt_params->font_params.font_color.red = 1.0;
txt_params->font_params.font_color.green = 1.0;
txt_params->font_params.font_color.blue = 1.0;
txt_params->font_params.font_color.alpha = 1.0;
/* Text background color */
txt_params->set_bg_clr = 1;
txt_params->text_bg_clr.red = 0.0;
txt_params->text_bg_clr.green = 0.0;
txt_params->text_bg_clr.blue = 0.0;
txt_params->text_bg_clr.alpha = 1.0;
Where do you add these code ?
In sampleapp deepstream-infer-tensor-meta-test in osd_sink_pad_buffer_probe method.
kayccc
August 27, 2019, 2:06am
4
Hi sathiez
You need to add following code to draw the line before adding display meta to framemeta.
NvOSD_LineParams *line_params = display_meta->line_params;
line_params[0].x1 = 400;//for demonstration, user need to se these values
line_params[0].y1 = 400;
line_params[0].x2 = 800;
line_params[0].y2 = 800;
line_params[0].line_width = 4;
line_params[0].line_color = (NvOSD_ColorParams){1.0, 0.0, 0.0, 1.0};
display_meta->num_lines++;
malith
October 9, 2019, 1:05am
5
kayccc:
Hi sathiez
You need to add following code to draw the line before adding display meta to framemeta.
NvOSD_LineParams *line_params = display_meta->line_params;
line_params[0].x1 = 400;//for demonstration, user need to se these values
line_params[0].y1 = 400;
line_params[0].x2 = 800;
line_params[0].y2 = 800;
line_params[0].line_width = 4;
line_params[0].line_color = (NvOSD_ColorParams){1.0, 0.0, 0.0, 1.0};
display_meta->num_lines++;
I want to draw a line on the video frame using a gst-plugin. In which place should I add the above code ?
kayccc
June 14, 2020, 11:25pm
7
Hi malith,
Please open a new topic for this issue. Thanks
I only can draw text or rect, can not draw line. I put this code in function overlay_graphics, deepstream_app_main.c in deepstream-app
NvDsDisplayMeta *display_meta =
nvds_acquire_display_meta_from_pool (batch_meta);
display_meta->num_labels = 1;
display_meta->text_params[0].display_text = g_strdup_printf (“Source: %s”,
appCtx->config.multi_source_config[source_ids[index]].uri);
// Draw text: work
display_meta->text_params[0].y_offset = 20;
display_meta->text_params[0].x_offset = 20;
display_meta->text_params[0].font_params.font_color = (NvOSD_ColorParams) {
0, 1, 0, 1};
display_meta->text_params[0].font_params.font_size =
appCtx->config.osd_config.text_size * 1.5;
display_meta->text_params[0].font_params.font_name = “Serif”;
display_meta->text_params[0].set_bg_clr = 1;
display_meta->text_params[0].text_bg_clr = (NvOSD_ColorParams) {
0, 0, 0, 1.0};
// Draw line: not work
display_meta->line_params[0].x1 = 400;//for demonstration, user need to se these values
display_meta->line_params[0].y1 = 400;
display_meta->line_params[0].x2 = 800;
display_meta->line_params[0].y2 = 800;
display_meta->line_params[0].line_width = 4;
display_meta->line_params[0].line_color = (NvOSD_ColorParams){1.0, 0.0, 0.0, 1.0};
display_meta->num_lines++;
1 Like