gst-dsexample是个例子插件,你可以修改定制里的实现。你可以blur原图像,也可以填加新的meta.
变量解释
host_rgb_buf是根据用户设置的宽高processing_width/processing_height,创建的hostcuda内存,需要主要的是,它的格式RGB。
cvmat是对host_rgb_buf的cv::Mat映射。
inter_buf是根据processing_width/processing_height,创建的NvBufSurface surface1。
in_mat是对surface1的cv::Mat映射。
一些操作
get_converted_mat
源surface转到inter_buf,只是尺寸有了变化,格式还是RGBA。
然后做RGBA转RGB,存数据到cvmat。 注释也说了,这步可以跳过,如果你的算法可以直接处理RGBA。
DsExampleProcess
这是个例子函数,你可以用自己的算法对cvmat进行分析,可以得到一些新的objects或者旧objects的新分类,结果存到返回值DsExampleOutput,最后在attach_metadata_full_frame中,将
DsExampleOutput的值通过nvds_add_obj_meta_to_frame转为新的meta.
流程图