为什么将 Gstreamer 用于 OpenCV 后端?
Why using Gstreamer for OpenCV backend?
我正在做一些关于 Gstreamer 的教程,我想知道为什么人们在他们的 OpenCV 项目中使用 Gstreamer 后端。
是不是因为比一般的快Videocapture()
?
还是像Cuda一样使用硬件加速?
我不知道 Videocapture()
的具体工作原理,如有任何帮助,我们将不胜感激!
1 - “为什么人们将 Gstreamer 后端用于他们的 OpenCV 项目”
gstreamer 没有默认后端 api。 VideoCapture
的默认后端枚举器是 CAP_ANY
。正如 documentation 所说:
OpenCV automatically selects and uses first available backend
(apiPreference=cv::CAP_ANY).
2 - “是因为它比普通的 Videocapture() 快吗?”
如前所述,没有正常(默认)后端 api。速度比较也可以改变api到api。 Here 是 VideoCapture
的所有后端 api
3 - “还是像 Cuda 一样使用硬件加速?”
Cuda 不使用 gstreamer,它与 ffmpeg 兼容。
关于opencv的streaming methodology的详细信息,您可以查看here。
我正在做一些关于 Gstreamer 的教程,我想知道为什么人们在他们的 OpenCV 项目中使用 Gstreamer 后端。
是不是因为比一般的快Videocapture()
?
还是像Cuda一样使用硬件加速?
我不知道 Videocapture()
的具体工作原理,如有任何帮助,我们将不胜感激!
1 - “为什么人们将 Gstreamer 后端用于他们的 OpenCV 项目”
gstreamer 没有默认后端 api。 VideoCapture
的默认后端枚举器是 CAP_ANY
。正如 documentation 所说:
OpenCV automatically selects and uses first available backend (apiPreference=cv::CAP_ANY).
2 - “是因为它比普通的 Videocapture() 快吗?”
如前所述,没有正常(默认)后端 api。速度比较也可以改变api到api。 Here 是 VideoCapture
3 - “还是像 Cuda 一样使用硬件加速?”
Cuda 不使用 gstreamer,它与 ffmpeg 兼容。
关于opencv的streaming methodology的详细信息,您可以查看here。