• Hardware Platform (Jetson / GPU): Jetson
• DeepStream Version:5.1
• JetPack Version (valid for Jetson only):4.5
Hi. how can I handle GstNvDsOsd in deepstream-test5? becauseI want to chage analytic roi line color through GstNvDsOsd (which is defined in sources/gst-plugins/gst-nvdsosd/gstnvdsosd.h )
PS: I tried change roi line color through NvDsDisplayMeta
(got from nvds_acquire_display_meta_from_pool() ), but it can’t handle the roi line color, because when I handle display_meta->line_params, it draw new lines.
I found the roi line information should be handled by GstNvDsOsd, can you tell me how to handle GstNvDsOsd in test5?
struct _GstNvDsOsd
{
/** Should be the first member when extending from GstBaseTransform. */
GstBaseTransform parent_instance;
/* Width of buffer. */
gint width;
/* Height of buffer. */
gint height;
/** Pointer to the nvdsosd context. */
void *nvdsosd_context;
/** Enum indicating how the objects are drawn,
i.e., CPU, GPU or VIC (for Jetson only). */
NvOSD_Mode nvdsosd_mode;
/** Boolean value indicating whether clock is enabled. */
gboolean show_clock;
/** Structure containing text params for clock. */
NvOSD_TextParams clock_text_params;
/** List of strings to be drawn. */
NvOSD_TextParams *text_params;
/** List of rectangles to be drawn. */
NvOSD_RectParams *rect_params;
/** List of rectangles for segment masks to be drawn. */
NvOSD_RectParams *mask_rect_params;
/** List of segment masks to be drawn. */
NvOSD_MaskParams *mask_params;
/** List of lines to be drawn. */
NvOSD_LineParams *line_params;
/** List of arrows to be drawn. */
NvOSD_ArrowParams *arrow_params;
/** List of circles to be drawn. */
NvOSD_CircleParams *circle_params;
/** Number of rectangles to be drawn for a frame. */
guint num_rect;
/** Number of segment masks to be drawn for a frame. */
guint num_segments;
/** Number of strings to be drawn for a frame. */
guint num_strings;
/** Number of lines to be drawn for a frame. */
guint num_lines;
/** Number of arrows to be drawn for a frame. */
guint num_arrows;
/** Number of circles to be drawn for a frame. */
guint num_circles;
/** Structure containing details of rectangles to be drawn for a frame. */
NvOSD_FrameRectParams *frame_rect_params;
/** Structure containing details of segment masks to be drawn for a frame. */
NvOSD_FrameSegmentMaskParams *frame_mask_params;
/** Structure containing details of text to be overlayed for a frame. */
NvOSD_FrameTextParams *frame_text_params;
/** Structure containing details of lines to be drawn for a frame. */
NvOSD_FrameLineParams *frame_line_params;
/** Structure containing details of arrows to be drawn for a frame. */
NvOSD_FrameArrowParams *frame_arrow_params;
/** Structure containing details of circles to be drawn for a frame. */
NvOSD_FrameCircleParams *frame_circle_params;
/** Font of the text to be displayed. */
gchar *font;
/** Color of the clock, if enabled. */
guint clock_color;
/** Font size of the clock, if enabled. */
guint clock_font_size;
/** Border width of object. */
guint border_width;
/** Integer indicating the frame number. */
guint frame_num;
/** Boolean indicating whether text is to be drawn. */
gboolean draw_text;
/** Boolean indicating whether bounding is to be drawn. */
gboolean draw_bbox;
/** Boolean indicating whether instance mask is to be drawn. */
gboolean draw_mask;
/**Array containing color info for blending */
NvOSD_Color_info color_info[MAX_BG_CLR];
/** Boolean indicating whether hw-blend-color-attr is set. */
gboolean hw_blend;
/** Integer indicating number of detected classes. */
int num_class_entries;
/** Integer indicating gpu id to be used. */
guint gpu_id;
/** Pointer to the converted buffer. */
void *conv_buf;
};