目的
在deepstream项目中调用opencv库,丰富deepstream功能(如往deepstream加入kalman filter实现跟踪)
操作环境
- Ubuntu 18.04
- Qt Creatot 5.14.0
- qmake 3.1
- deepstream 5.0
- opencv 3.4.11
下面以deepstream自带项目deepstream-image-meta-test
为例进行说明(步骤中路径相关都要进行替换,如opencv安装位置等,直接复制可能达不到效果!)
操作步骤
-
首先复制一份并命名为opencv-deepstream
,并在终端进入该目录,文件夹中项目如下图所示:
-
为了避免可能产生的影响,可使用make clean
清除已有的中间文件及可执行文件,执行后如下图所示:
-
修改Makefile
文件中部分内容,修改如下:
修改前:
修改后:
-
使用qmake -project
生成名为opencv-deepstream.pro
的qt项目,内容如下图所示:
-
为保证后续操作的正常进行,将该文件夹赋予最高权限,依次执行:
cd ..
chmod 777 -R opencv-deepstream
cd opencv-deepstream
-
修改opencv-deepstream.pro
文件,修改成功如下图所示:
- 修改
INCLUDEPATH
INCLUDEPATH += /usr/include/glib-2.0 \
/usr/lib/x86_64-linux-gnu/glib-2.0/include \
/usr/include/gstreamer-1.0 \
../../../includes \
. \
/usr/include/opencv \
/usr/include/opencv2 \
- 添加
DEFINES += QT_DEPRECATED_WARNINGS
- 添加
QMAKE_CXXFLAGS += -std=c++11
- 添加
LIBS
LIBS += /opt/nvidia/deepstream/deepstream-5.0/lib/libnvdsgst_meta.so \
/opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_meta.so \
/opt/nvidia/deepstream/deepstream-5.0/lib/libnvdsgst_helper.so \
/opt/nvidia/deepstream/deepstream-5.0/lib/libnvbufsurface.so \
/opt/nvidia/deepstream/deepstream-5.0/lib/libnvbufsurftransform.so \
/opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_batch_jpegenc.so \
/usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so \
/usr/lib/x86_64-linux-gnu/libglib-2.0.so \
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so \
/usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_imgproc.so \
/usr/local/lib/libopencv_imgcodecs.so \
/usr/local/lib/libopencv_highgui.so \
-
在deepstream_image_meta_test.c
中添加测试代码,此处我添加使用opencv读取并显示图片。
- 添加头文件
- 在main函数内添加测试代码(编译器提示报错,不用管)
-
在qt中构建项目
(Ctrl + B或者左下角“锤子”图标),此时在opencv-deepstream
同级目录下生成build-opencv-deepstream-Desktop_Qt_5_14_0_GCC_64bit-Debug
文件夹(其中包含一个Makefile
文件),并在qt中报大量错,不要慌,继续看下去
-
对build-opencv-deepstream-Desktop_Qt_5_14_0_GCC_64bit-Debug/Makefile
进行修改,将下图中$(CC)
改为$(CXX)
-
再次在QT中进行构建,此时报错减少,如下图所示:
-
可以看到,4个报错均为类型转换错误,按照提示在相应位置进行强制类型转换
后即可解决所有错误。
-
再次进行构建项目
,此时build-opencv-deepstream-Desktop_Qt_5_14_0_GCC_64bit-Debug
下生成可执行文件,如下图所示:
-
在终端执行./opencv-deepstream file:///opt/nvidia/deepstream/deepstream-5.0/samples/streams/sample_720p.mp4
,图片正常显示,但仍有报错,根据报错提示(下图),可知缺少相关配置文件,此项即为opencv-deepstream
下的ds_image_meta_pgie_config.txt
,复制一份到build-opencv-deepstream-Desktop_Qt_5_14_0_GCC_64bit-Debug
下再次执行,成功!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)