欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入我们的社群。

OpenCV添加Gstreamer支持

OpenCV 迷途小书童 5年前 (2020-01-09) 9062次浏览 0个评论

软硬件环境

  • windows 10 64bit
  • nvidia gtx 1070Ti
  • opencv 4.2.0
  • cuda 10.2
  • cudnn 7.6.5.32
  • gstreamer 1.16.2
  • visual studio 2019

前言

前文 如何调用编译好的opencv库, windows系统c++版 顺利使用自己编译的opencv库,但是在运行基于caffe的人脸检测程序中,检测的速度比在ubuntu下慢了好几倍,本文就来看看,为什么在windows上的速度会变得这么慢?是不是哪里配置的有问题?本文在原来的基础上添加gstreamer的支持。

首先看看两个系统下的表现

ubuntu

windows

在速度上确实,差距很大,回过头来,我们再去跑跑windows下的代码,使用debug模式

从上图可以看到,有一些非常有用的输出信息,检测程序根本没有使用cuda,而是直接使用了cpu,难怪速度上不去了。另外,摄像头视频处理当中用到了gstreamer的后端,查看cmake的输出发现gstreamer确实没有使能,而且我们也没有安装gstreamer

gstreamer是什么东东

来自维基百科的介绍

GStreamer 是一个基于流水线的多媒体框架,基于GObject,以C语言写成。
凭借GStreamer,程序员可以很容易地创建各种多媒体功能组件,包括简单的音频回放,音频和视频播放,录音,流媒体和音频编辑。基于流水线设计,可以创建诸如视频编辑器、流媒体广播和媒体播放器等等的很多多媒体应用。

总结一下,gstreamer就是一个帮你处理各种音视频疑难问题的多媒体框架

安装配置gstreamer

登录gstreamer的官方网站,下载gstreamergstreamer-devel这2个安装包

gstreamer

分别进行傻瓜式安装,默认安装地址是 C:\gstreamer,然后添加PATH环境变量,如下图所示

gstreamer

cmake配置

打开cmake-gui,在搜索栏中过滤gstreamer关键字,然后修改gstreamer相关的路径

cmake

接着进行Configure,完成后注意看cmake输出信息

cmake

参考资料

喜欢 (0)

您必须 登录 才能发表评论!