DeepStream中使用opencv进行相关处理

  • 参考文章:
  • Deepstream官方提供的例程
    • 例程位置
    • 使用方法

最近需要在deepstream框架中增加opencv进行畸变矫正,因此需要将deepstream格式的视频帧转换成Mat格式进行opencv相关的库函数调用及处理。

 

参考文章:

1、deepstream官方教程——使用OpenCV集成示例实现自定义GStreamer插件

Deepstream官方提供的例程

deepstream官方提供了一个opencv的例程,主要实现了将deepstream检测的目标物体里调用opencv的库函数进行高斯模糊。效果如下:

英伟达DeepStream学习笔记4——DeepStream 5 中使用opencv进行相关处理_分享

例程位置

例程文件夹的位置在:

opt\nvidia\deepstream\deepstream-5.1\sources\apps\sample_apps\deepstream-opencv-test

\opt\nvidia\deepstream\deepstream-5.1\sources\gst-plugins\gst-dsexample

中。
gst-dsexample是具体实现的功能,deepstream-opencv-test是读取视频并链接gst-dsexample文件夹下生成的库实现功能。
英伟达DeepStream学习笔记4——DeepStream 5 中使用opencv进行相关处理_分享_02
英伟达DeepStream学习笔记4——DeepStream 5 中使用opencv进行相关处理_分享_03

使用方法

查看两个文件夹下的readme.txt

在\opt\nvidia\deepstream\deepstream-5.1\sources\gst-plugins\gst-dsexample文件夹下将makefile的cuda版本号添加,并使用(具体编译可看该文件夹下的readme及makefile文件)

make all

编译。生成libnvdsgst_dsexample.so动态库,然后将该库复制到opt\nvidia\deepstream\deepstream-5.1\lib\gst-plugins文件夹下替换之前的libnvdsgst_dsexample.so,

sudo cp libnvdsgst_dsexample.so /opt/nvidia/deepstream/deepstream-5.0/lib/gst-plugins/

然后进入到opt\nvidia\deepstream\deepstream-5.1\sources\apps\sample_apps\deepstream-opencv-test文件夹下使用

make clean;make all

编译,生成可执行文件——deepstream-opencv-test

使用如下命令进行运行测试

./deepstream-opencv-test file:///home/sample_720p.mp4

效果图如下
英伟达DeepStream学习笔记4——DeepStream 5 中使用opencv进行相关处理_分享_04

这里的高斯滤波可以改成你自己想要的函数和实现相关的功能,然后编译生成动态库,然后实现你的功能。