Currently I am using Deepstream python bindings.
There’s one problem I met: Under some conditions, I need to skip several frames to display. And sometimes, I need to delete some bounding box of objects detected.
In first condition: I hope bounding box for the frames skipped do not display on the screen. I could choose to delete those frames, but I did not find functions like deleting specific frame (before going to OSD). Or I could choose deleting all bounding boxes inside those frames (sub-optimized solution. I prefer the first solution).
Second condition: I hope some specific bounding box do not display on the screen. Currently I am using pyds.nvds_remove_obj_meta_from_frame(frame_meta, obj_meta). But from my observation, it does not work.
Thanks a lot for your help. This question has confused me for quite a while, Haha.
However, bounding boxes are not deleted.
I could set the bounding box color by
obj_meta.rect_params.border_color.set(...)
I guess this may explain why I cannot remove bounding box color by nvds_remove_display_meta_from_frame. Maybe display metadata does not contain rect bounding box, but object_meta actually does.
However, even I used pyds.nvds_remove_obj_meta_from_frame(frame_meta, obj_meta) still does not work. Also I hope to remove all the bounding box color of one frame. I am not sure whether it is the optimal way to browse bounding box one after another and delete their color (too slow).
It is also confusing that each bounding box has black color by default. I cannot choose not to display (some of) them.