opencv - 为什么将 Gstreamer 用于 OpenCV 后端?
问题描述
我正在做一些关于 Gstreamer 的教程,我开始想知道为什么人们将 Gstreamer 后端用于他们的 OpenCV 项目。
是因为它比正常速度快Videocapture()
吗?
还是它使用硬件加速,比如 Cuda?
我不知道具体是如何Videocapture()
工作的,所以任何帮助将不胜感激!
解决方案
1 - “为什么人们在他们的 OpenCV 项目中使用 Gstreamer 后端”
gstreamer 没有默认的后端 api。的默认后端枚举VideoCapture
器是CAP_ANY
. 正如文档所说:
OpenCV 自动选择并使用第一个可用的后端 (apiPreference=cv::CAP_ANY)。
2 - “是因为它比普通的 Videocapture() 更快吗?”
如前所述,没有正常(默认)后端 api。速度比较也可以改变api到api。这是所有后端apiVideoCapture
3 - “或者它使用硬件加速,比如 Cuda?”
Cuda 不使用 gstreamer,它与 ffmpeg 兼容。
有关 opencv 流式传输方法的详细信息,您可以在此处查看。
推荐阅读
- node.js - 错误:您必须在您的 transaction()-回调中返回一个 Promise。在 transaction.begin.then
- php - PHP 警告:非法字符串偏移 'text'
- firebase - Typescript - 使用云功能的 Firebase 身份验证
- c# - 未找到 Magick.NET-Q16-x64.Native.dll
- c# - 当我添加 WebService 时出现错误:“名称空间 'namespace1' 中不存在类型或名称空间名称 'namespace2'”
- php - For loop time update(H:i) with 10 minutes in php
- laravel - 如何通过干预/图像提高书面文本中的文本?
- php - Blackfire 失败“配置文件数据被截断”
- c++ - 从链表中删除节点时的 C++ 问题
- javascript - 使用 JSON.stringify 后发布到快递服务器时,它不起作用