DeepStream中使用opencv进行相关处理
- 参考文章:
- Deepstream官方提供的例程
-
- 例程位置
- 使用方法
最近需要在deepstream框架中增加opencv进行畸变矫正,因此需要将deepstream格式的视频帧转换成Mat格式进行opencv相关的库函数调用及处理。
参考文章:
1、deepstream官方教程——使用OpenCV集成示例实现自定义GStreamer插件
Deepstream官方提供的例程deepstream官方提供了一个opencv的例程,主要实现了将deepstream检测的目标物体里调用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文件夹下生成的库实现功能。
使用方法
查看两个文件夹下的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
效果图如下
这里的高斯滤波可以改成你自己想要的函数和实现相关的功能,然后编译生成动态库,然后实现你的功能。